读本科的时候就对嵌入式系统感兴趣,虽然在校的时候积累了大量材料,但是在较长的时间里都没有机会细读,这学期终于静下心来,系统学习一遍,期间把以前积累的各类教材或粗粗浏览或仔细揣摩,都翻了个遍,最终给出如下书单,供读者学习参考
(红 {MOD}字体代表强烈推荐书目):
1、针对入门级的教材:推荐高等教育出版社的
全国计算机等级考试-三级教程(嵌入式系统开发技术),此书对嵌入式系统的整体把握还是很好的,此书的汇编指令介绍得也很不错,尽管这本书较少提及linux方面的知识,也几乎没有u-boot方面的内容,但每个部分简明扼要,全书314页左右,没有太多代码,让没有基础的你,在阅读的时候不至于淹没于代码的海洋,此书强烈建议大一新生直接使用,自学,并参加计算机三级考试,对嵌入式系统有一个轮廓性的认识。
2、与第一本书同时阅读参考的教材:
嵌入式系统基础教程(俞建新,王健,宋健健),此书为全国重点大学计算机教材,同样的特点,薄,但是这本书相对于第一本,更精,对比其中介绍DRAM和SRAM的内容,就可以知道此书作者的用心程度,如果不考计算机等级考试,直接看这本入门即可,而且此书图很丰富,在让你不陷入代码的同时,不陷入文字,更精准理解知识点。
3、linux操作系统使用: 《
鸟哥的Linux私房菜 》、文东戈老师的《linux操作系统实用教程》、刘忆智《linux从入门到精通》。
4、大名鼎鼎的韦东山教材:
《嵌入式linux应用开发完全手册》, 此书必读,不可替代,没有之一,在前两本的熏陶下,你就会开始好奇嵌入式系统的工作原理,这时候你再泡入代码,已经可以开始在代码中遨游,尤其韦老师写书写得很细致,对代码不仅做了详细注释,还对其进行点评,相信结合代码,你对嵌入式系统的硬件体系架构,特殊功能寄存器配置,中断体系架构会有更深刻的理解,全书采取案例教学,并不对某些很细的知识点展开,所以你需要阅读相应知识点更专业的教材,例如makefile,arm汇编,shell编程等等,这些都是体现在案例分析中,没有很全面列出,但是这不影响此书成为嵌入式业界顶级教材的地位。
5、韦老师的教材侧重讲原理,对于软件的操作介绍稍微少了点,如ADS软件的使用,这部分建议结合国嵌的教材,
《嵌入式Linux系统工程师标准培训教材》,有两本,一本是基础篇,一本是驱动篇,都是好书,手把手教学,你不一定懂原理,但是一定做得出来,当然做得出来也很重要的,建立自信心。
6、linux程序设计:推荐徐城老师编写的
《linux环境C程序设计》、电子科技大学李林老师编著的《linux程序设计实践》和Neil Matthew的《linux程序设计》 。
7、linux内核方面:好的教材有:韩国人写的
《arm linux内核源码剖析》和德国人写的《深入linux内核架构》,都是翻译本。
8、linux驱动方面:国内最好的教材:宋宝华老师的
《Linux设备驱动开发详解:基于最新的Linux 4.0内核》,美国人写的
Linux设备驱动程序(中文版第三版)也是经典教材。
9、
unix环境高级编程 第三版,网上推荐,自己没阅读过。
10、 浙江大学BBS版主俞甲子编著的
《程序员的自我修养-链接、装载与库》。
11、《深入浅出嵌入式底层软件开发》
12、《ARM+LINUX入门与实践 》
后记:其实读好几本书最终的目的是完全读懂一种技术,不同作者,不同的风格,也许这位老师讲的方式你不容易接受,另一位老师的讲授方法你瞬间就恍然大悟,所以除了上述教材,自己还应结合自己的理解程度再参考其他教材,上网阅读各类技术博客,更重要的是,找一块开发板
(强烈推荐天嵌TQ2440),对着开发技术手册和视频教程(这里推荐
国嵌、天祥电子和韦东山老师的视频教程),自己编程开发,只有自己亲手做过,碰到问题再解决问题的过程,才是真正掌握知识和技能的唯一方法,我们的目标只有一个,把不懂变做精通!