Re: [心得] ARM System Developer's Guide
全書從這一章開始, 進入一些 Embedded System 的主題
這些主題比較接近怎麼 plan 一個完整的系統, designer 有哪些東西可用
我覺得每一章都有可讀之處, 接下來, 連載繼續了
Chapter 9
Exception And Interrupt Handling
中斷的處理是每顆 CPU 的重要主題, 這一章提示了 ARM 的中斷模型
一般的 CPU 中斷其實都不複雜, 事件來了, CPU 會跳去某個地方執行指令
反倒是軟體這裡的控制, 花樣多很多
有時候我們希望中斷反應時間很快, 希望中斷還沒結束, 就開啟中斷
這樣軟體的架構就會複雜很多
其實故事多發生在軟體這裡, 這一章講了好幾種 IRQ handling 的方式
我看了幾種就受不了了(笑), 自己以前玩的就是最簡單的
哪天有興致, 再來實作其他方式
Chapter 10
Firmware
這章很短, 他簡單介紹了 bootloader 的故事
bootloader 一開始都會有一段組合語言, 這章講解了其中一段, 值得一看
Chapter 11
Embedded Operating System
如果想知道一個 OS 簡單的組成, 這一章其實有些東西
我因為看過 uC/OS II 這個 OS 的 source code, 所以這一章是跳著看
我個人覺得, 移植一次 uC/OS II, 感覺會更踏實
Chapter 12
Cache
講 Cache 原理的書很多, Computer Architecture/Organization 都有專門的章節
這章不免俗的也講解了原理, 有以前的基礎, 看起來不會吃力
這章最主要的價值是, ARM上面的 cache 怎麼配置, 這本書講得離應用更近
包括那個該死的 CP15 要怎麼設定 :p
我自己玩 ARM 的時候就感受過 cache 的威力, 開了以後, 速度快很多, 殺很大
Chapter 13
Memory Protection Unit (MPU)
寫程式最怕記憶體存取超過邊界, C 語言沒有提供記憶體邊界保護的功能
有些 ARM 有提供硬體支援, 避免程式設計師做傻事
MPU 的功能和下一章要講的 MMU 相比, 功能比較弱
我還沒玩過 ARM 的 MPU, 這一章我是當作增廣見聞在看得
Chapter 14
Memory Management Unit (MMU)
不管是 computer organization/ architecture, OS, 都會講講 virtual memory
歌頌一下他會提供多大的彈性, 有多好有多好
但是實際上要怎麼用, 怎麼在彈性和效率之間取得平衡, TLB是什麼
這些主題我認為, 挑一顆有 MMU 的處理器玩過一次, 鐵定一生難忘
我自己玩 MMU 的時候, 也處在極痛苦的狀態
怎麼把課本學到的, 和硬體連結起來, 這不是普通的麻煩
一般工作時, 其實這些東西摸到的機會不多, 因為這些會有專門的 team 弄得好好的
但是有自己玩過一次, 知道他的痛苦, 真的是很好的經驗
Chapter 15
The Future of the Architecture
* DSP instructions
* SIMD
* Thumb-2
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.88.68
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章