老规矩,先把学习资料放上来。
大家先请下载ARM System Developer's Guide.pdf这个文档,下面我会给出我服务器上的一个链接。或者大家手上有纸质本的电子档的都可以,这里我提供的是E文pdf和中文的影印pdf版本。最后一章我会把读完做好笔记的再贴一次。
原始版本如下:
点击我下载:ARM System Developer's Guide pdf zip
下面进入正文
ARM System Developer's Guide 读书笔记-前言
前两天我们一起读了一下bootloader的一部分内容。大概对bootloader的结构有一个了解,具体请大家自己翻一下前面我写的那些不堪入目的文章,但是里面有一些高手写的文章的链接是非常值得大家看看的。
看到nboot突然感觉自己对ARM的体系结构的了解程度简直是惨不忍睹,看看招聘网站上招人的条件,熟悉ARM体系结构。这一条就把我打败了。更无语的是和我同期一起弄wince ARM的同行现在牛的已经不行了。例如现在在CSDN上非常红的gooogleman童鞋。这里我们就不多说了。
做这本书的读书笔记完全是Norains大牛今早上(应该是昨天早上现在已经是圣诞了,祝大家圣诞快乐!)说了一句话,问我们有没有读过这本书的中文版,这本书的中文名称《ARM嵌入式系统开发--软件设计和优化》,正好我在前一天晚上拜读goooglman的一个帖子关于mmu的。里面推荐了这本书。而且自己感觉开发了算2年半的ARM(第一个半年是ARM7的一个ipcam,ARM部分完全不用管,后来两年是ARM9和ARM11)对ARM的体系结构说起来还是不能说个非常明白。还是安心下来读读文档的比较好。因为工作的原因也并没有真正静下心来从基础学习,基础不牢固还是没办法造出高塔。接着这个机会把这本书通读一遍。当然,以下的文章仅仅适合初学者。对于ARM领域的大牛,欢迎指正我文中的错误,以防止误人子弟。非常感谢。
这次阅读笔记和上次 Windows® Embedded CE 6.0 Fundamentals 读书笔记 的方式有所不同。这次关于文中一些单词的介绍将减小。在最后一次我会把带有笔记的pdf再上传一次。里面会有我标出个人认为比较重要的词汇和我一眼没看出来的词汇。一下的文章会给出一些,具体的请大家自己查阅字典或者参考我给出的一些解释。
本书的开篇前言首先告诉我们ARM当前发展的状态。当然这里是指的作者写作的时候,大概是4到5年前。这里值得提出的是这本书写作的一个目标,作者以一个产品开发者的角度来描述ARM内核,并把重点放在软件上。当然,在本书中有专门的一个章节说了一下硬件的事情,这里不多说,等说到那一章节在谈。另外这本书的好处在于,他针对的读者范围,你可以是对ARM比较了解,也可以是像我一样一知半解的,或者如书上所说的无需ARM开发经验的。
接下来作者对本书的章节进行了一个分析。这里我们快速的过一遍顺便也规划一下我们的读书笔记流程。
首先是第一章和第二章。第一章介绍了基于ARM处理器的简单系统,第二章介绍了ARM的市场。从这两个章节的安排充分体现了作者从产品开发者出发来写书的约定。这两章我们会放在一起读。
第三章第四章介绍了ARM和Tumbu两个指令集,这是ARM体系结构中的一个特点,也是最基础的知识,这两章我们会放在一起学习。
第五章第六章开始教大家如何写ARM的程序,不论是汇编还是C。介绍了开发中的一些优化方法和技巧,这里也充分点了软件设计和优化这个题。第五章是c语言,第六章是汇编。这里我们需要多花点功夫来学习。可能会分两次。
第七章作者给出了一些优化操作的例子,例如一些优化的算法,这一章可以作为一个参考资料,如果想深入研究的可以仔细阅读并对其中的一些概念和理论知识有所了解。这里我们做一次学习。
第八章介绍了一个新东西DSP.数字信号处理器。现在的ARM趋势上做成ARM+DSP模式,比较有代表性的是TI3530.这里作者依然遵循这从产品的角度来分析ARM。这一章我们也做一次学习。
第九章是一个范例。我们会花一些时间来读他。一到两次学习完成。另外十一章也是一个例子。这里我们肯能会将九十十一三章放在一块来学习。总共花四次左右。
第十二,十三,十四三章是对内存 cache等存储系统进行分析,这一章节是很重要而且有写难懂的。这里我们会花两天时间来学习总结。
最后一章展望未来。也就是作者在当年看现在。或者更远的时候。我们花一次学习时间来和作者一起展望一下。
大概的学习计划就是这样。中间可能遇上元旦这样的假日就更好的给我们空出时间来学习。不用上班的日子是学习的好时机。当然上班有其他的东西要学习。尽管目前看来。上班学到的太少太少。少到现在必须自己熬夜补课。要不然就死路一条的地步。但愿大家不要和我一样。
最后祝大家圣诞快乐,预备好心情一起学习这本书。
在圣诞凌晨,愿神主耶稣与我们同在。