作者lihgong (当宪兵是我一辈子的耻辱)
看板ASM
标题Re: [心得] ARM System Developer's Guide
时间Sat Jan 2 17:46:31 2010
全书从这一章开始, 进入一些 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