嵌入式读书列表 - 参考

“Curriculum of Open Source University”

   三百六十行,各行亦有各行的书柜,一些瞧过的书,Linux嵌入式方向,年末了,写个读后感大集合,若对大伙儿有用,鼓个掌,龙年攒人品。都是些个人观点,若有不当,看官一笑了之。

 

第一阶段:



《鸟哥的私房菜》

	浅显易懂,边读边实践,近距离认识linux。

	目标:掌握shell;

	     摆脱Windows的思维束缚。

	

《c陷阱和缺陷》/《c与指针》

	在一个菜鸟自以为是的时候,此书给予的当头一棒可谓是轻重适中。

	对自己的c能力及编程能力等级给予重新认定。

	同时也是面试冲刺必备。



《高质量c_c++编程》

	编程是门艺术:自己的思维要清晰,更要让读者看得舒服。

	逐渐形成一套规范的编程风格。



《Linux内核设计与实现》

	无数人士推荐的内核入门手册,简单易懂。

	“麻雀虽小,五脏俱全”,先把握内核整体,便于以后各部分的深入理解。



《嵌入式Linux应用开发完全手册》

	嵌入式有“硬”又有”软”,一本由硬件角度出发的驱动手册,从单片机的视角了解ARM驱动编程。

	内容贴近datasheet,就是IC老了点。s3c2440作为一款经典的嵌入式入门IC已被s3c6410取代。虽然s3c6410被视为入门级,相比s3c2440性能升级了不少,复杂度也大为增加。随着处理器的不断升级,只能苦了日后还在丫丫学步的菜鸟们。



《Linux设备驱动开发详解》

	从软件视角认识驱动的一本书,同样讲究实用。单就s3c2440驱动入门,此书+《嵌入式Linux应用开发完全手册》足矣。





课外阅读:



”Linux c编程系列“

	不管是google还是baidu 字段“Linux c编程”,都能搜出相关书籍一胡片,我们的山寨能力不仅体现在手机、平板,在图书出版业更是炉火纯青。内容大同小异,目录千篇一律。

	大体可以分为三部分:环境搭建+工具的使用,shell+gun c+arm汇编基础,linux API(文件操作、同步异步IO、多进程线程、IPC、socket通信等)。

	内容组织看上去比较系统,涉及面广,注重实用性,个别深度亦有。虽是山寨,捧上一本,边读边敲,一趟下来也是获益匪浅。



《Advanced Linux Programming》

	如果你是一位反对盗版,厌恶山寨的正义人事,那么推荐此书。不过,我们的山寨早已成熟多年,读罢,也未发现有何精妙之笔。



《Red Hat Enterprise Linux 6.0系统管理》

	一本linux运维的LJ书。说其完全没用,但多少能有点帮助,充其量就是本手册,趁rhel6发布不久先赚笔钱之流。同样的58元人民币,相比其他,不值啊不值。

	类似书籍相当泛滥。



《Advanced Bash-Scripting Guide》

	高级bash脚本编程手册,对于linux服务器运维的朋友这东东是需要看几遍di。

	而对于我这号,掌握三四十条shell命令,应付虾兵蟹将足以,若不行,则求助谷歌,度娘。



	



第二阶段:



《Git权威指南》

	一本有点小废话的字典。

	cvs等上古铠甲,在现代战争中已不堪一击。如果你热爱开源,那么,你需要这么一套装备。虽然上手有点小困难,但对于立志成为“海贼王”男人的你,拿下它是必须di。“vim+ctags+git”将成为你的黄金圣衣。

	对于Git,引用作者的一句话:“我非常后悔没有在学习编程的第一天就开始使用版本控制”。



《熟悉binutils工具集》

	一个pdf,仅仅20页,但实用性很强,可见作者之用心。

	认识编译器不为人知的用法,为之后的深入理解打好基础。



《Linux设备驱动开发》

	同《Linux内核设计与实现》一样, “内核四库全书”之一,无数达人推荐的内核驱动必备书籍。

	06年出版,苦苦等不到第四版出炉,可能是过于经典,没必要更新的缘故。



《Unix环境高级编程》

	linux环境编程的神装,从事linux编程事业的码农必备,也是上述 Linux c编程系列各山寨的原版。厚如辞海,经典到掉渣。

	对于靠网络终端编程吃饭的码农们,大神Stevens的另外两套书籍《TCP/IP详解》、《UNIX网络编程》是最好膜拜一下。

	只可惜英年早逝,是真的升天成了仙,但留下的著作也算是永垂不朽。

	放于桌前,菜鸟只能烧香膜拜,入门者谓之字典,过槛者称其练习册。





课外阅读:



《Linux内核API完全参考手册》

	内核不仅是改革开放的,也是与时俱进的。“一日patch几千行,两周出个小版本”,胆敢有人出书分析内核api?

	一瞧内容,原是特定版本的个别分析。“手册”一词还算恰当,这个“完全”嘛就没有了“实事求是”的作风。

	不过有一点我很是喜欢,书里不仅有api的讲解,而且有短小干练的代码实例。API的学习不是简单的讲几句就能掌握,关键还是实践。杯具的是代码可以网上下载,直接make,insmod就OK。







第三阶段:



《深入理解Linux内核》

	内核不是只有driver,还有fs,mm等。此书带给你的不是量变而是质变。

	代码敲的再多只是不断量变的过程,编程也不会上升为艺术;驱动看的再多也不会让你拥有敲出驱动代码的能力。

	内核是个“牵一发而动全身”的禁地,从整体上把握内核运行机制,以全面的视角审视内核的内在机理,才能真正清楚驱动在内核中的地位,明白整体与局部的辩证关系。

	读完此书,好比”八门遁甲“开了景门的“朝孔雀”,内存管理,文件系统,调度算法等,各个代表着一个研究方向,每一个方向都会有无数论文等着你去观摩,真是百花齐放,精彩缤纷。

	选择一个方向,开“惊门”,使“ 昼虎”,在一个研究领域打出精彩一击。



《Linker && Loader》

	如果c语言代表底层,它便是底层中的底层。古老的课题,古老的书,古老却有时并不意味着落伍,掌握这种古老,便是“大牛”的毕业证。

	直接读此书,只会越读越困难,不免有挫败感。内容更偏向学术研究,针对linux平台,不如先找几篇有关elf文件格式的论文研读一番,比如:《ELF文件格式分析》(滕启明),再读便有豁然开朗之感。

	实用性可能不强,重在精神境界的升华。



《ARM嵌入式系统开发——软件设计与优化》

	编译器原理代表着码农们的底层,而此书代表的就是苦逼嵌入式工程师的底层。

	“从事ARM嵌入式系统软件开发的每一位工程师的桌上都应该摆着这本书。对于初学者来说,他是一本详尽、透彻的使用指南;对于ARM专家来说,它则是一本有益的参考书。”

	一本看似复杂,读来却有轻松之感的佳作,足见作者之功底。在学好《计算机组成原理》,有一定的ARM汇编经验的基础上研读此书,真是爱不释手,百看不腻。读过此书,一些乱七八糟的东西似乎开始有了调理,对ARM处理器的认识更是受益匪浅。



	

课外阅读:



《精通Linux设备驱动开发》

	“印度阿三”的作品,内容涉及广泛,讲解有点简单。但内容广了自然就不可能太详细,对于内核驱动的老手们来说,简单的一句提示足矣,所以,谓之手册。

	同样是手册,人家写的咋就觉的好嘞。



《深入Linux内核架构》

	同为“字典”一本。可能是因为《深入理解Linux内核》迟迟不更新的缘故,德国人坐不住了。四年的发展内核已是面目全非,进程调度算法,内核数据结构等变化不小,不能总是抱着一本老古董啃不是?!

	该书很好的诠释了德国人严谨的作风,内容丰富详尽,印刷不错,捧来倍觉厚实之感。读罢《深入理解Linux内核》再读此书,很是亲切。



《see MIPS run》

	地球上的嵌入式处理器可不只ARM一种,单一的关注ARM有点狭隘主义,至少在多媒体处理方面,mips仍然是技高一筹。

	一本《计算机组成原理》的mips版,有空多看看,扩展视野,以免被ARM思想垄断。



《Linux内核源代码情景分析》

	下了个电子档,1500+页,内容详细到代码实例剖析,虽是2.4的内核,但还是很有启发,对作者也是心怀崇敬。

	参考为宜。



《Understanding the Linux Virtual Memory Manager》

	纯粹学术性的东东,基本就是《深入理解Linux内核》内存管理部分的《情景分析》。

	研究内存管理达人们的必备。



《深入理解Linux网络技术内幕》

	如果说《深入理解Linux内核》支撑着《Unix环境高级编程》,那么此书便支撑着《TCP/IP详解》和《UNIX网络编程》。

	128元人民币,加上最后的作者介绍和O'REILLY图书广告,整整一千页!

	书写的很详细且图文并茂,读完不仅要有网络功底,也确实需要些时日。







第四阶段:



《我是USB》

	fudan_abc的佳作,对usb的分析具体到代码,语言诙谐,文笔不错。同《Git权威指南》,难免有点小废话,技术类图书还是直截了当,图文并茂的好。总体来说还是给予肯定,将枯燥的代码聊得似小说,可见作者对技术的理解已由理性认识上升为感性,足见功底之深厚。



《S3C2440A 32-BIT CMOS MICROCONTROLLER USER'S MANUAL》

	初级datasheet,不到600页,每一章节介绍一模块,模块都很基础,功能单一,天生充当教材的材料。



课外阅读:



《S3C6410X 32-BIT CMOS MICROCONTROLLER USER'S MANUAL》

	在读过S3C2440A UM之后,与之对比便对处理器的功能进化有直观体会。多媒体处理能力明显增强,相应的多媒体模块从目录中即可看出其复杂化。1300+页,看完似乎不太现实。

	

《s5pV210 32-BIT CMOS MICROCONTROLLER USER'S MANUAL》

	作为当前正火的IC,内容架构有较大变化,功能强大,模块太多,所以目录分为几大章的结构。不仅是量的增加,内容的小有改变,例如gpio的配置会有些许不同。

	页数突破2K,读完似乎不太可能。基本是用哪看哪。



《Android应用开发解密》

	一本应用开发入门书,谈不上好坏,仅仅是api介绍,重在实用。书中实例代码有下,已入门者瞧瞧代码即可。



《Android技术内幕:系统卷》

	大致的介绍了android的中间层和底层。很多地方限于篇幅,说一点不如不说。讲解貌似很深,但读来不知所云,内容基本网上都有,有借鉴各家博客后整理之嫌,但此风气在android各类国产书中已是司空见惯,能整理好为读者所接收也属不易。

	至于对android的理解,在看过上述图书之后,android也不过只是个app而已。android的难点在于虚拟机和进程间通信的实现,而其核心就是NDK。


     

    
个人见解,仅供参考。

最后,祝各位新年快乐,龙年大吉!

你可能感兴趣的:(嵌入式)