很多刚入门的朋友一直都有人问我要学习资料,嵌入式实在太杂,网上很多人写的太不负责了,本书单综合了本人以及一些朋友多年的经验整理而成。
本人见识和阅读量有限,本书单可能有不对的地方,欢迎朋友指正,交流你读过的好书。
更多单片机/嵌入式内容及资料:大叔的嵌入式小站:嵌入式Linux学习经典书籍
ps:差钱的小伙伴可以找找资源,等赚钱了记得买实体书补上,尊重这些优秀的作者,这些书值得你收藏。
Linux入门
▲《鸟哥的Linux私房菜 - 基础学习篇》第四版 作者:鸟哥
这本书对于Linux入门简直是神书,内容包括计算机概论,linux的起源和发展,如何学习linux,shell等。讲解得比较细致,由浅入深,非常适合初学者。
ps:这本书我完整看了3遍,不包括翻阅。
学习建议:通读一遍,大概掌握即可入门,然后当作工具书,不要太过执着,大叔刚入门的时候就浪费了太多时间在这。
C语言
C语言是嵌入式编程必备的语言。Linux内核几乎完全是由C语言编写而成,光学校学的肯定是不够用的。
▲《C陷阱与缺陷》作者: 凯尼格 译者: 高巍
全书分为 8章,分别从词法分析、语法语义、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。也给出了若干具有实用价值的建议。
学习建议:完全新手不建议看,适合已经入门的C程序员,完全新手还是先好好看看你的教科书吧。
▲《C专家编程》作者: 凯尼格 译者: 高巍
对C的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习C 等问题进行了细致的讲解和深入的分析
学习建议:适合有一定功底的C程序员
ARM
▲《ARM体系结构与编程(第2版)》作者:杜春雷
很经典,共分为14章,对ARM处理器的体系结构、指令系统和开发工具进行了比较全面的介绍。
其中包括ARM体系、ARM程序设计模型、ARM汇编语言程序设计、ARM C/C++语言程序设计、ARM连接器的使用、ARM集成开发环境CodeWarrior IDE的介绍及高性能的调试工具ADW的使用。
学习建议:嵌入式避不开ARM,重点了解汇编指令,异常模式和MMU。
Linux驱动
▲《Linux设备驱动开发详解》作者宋宝华
就我个人有限的阅读量而言这是中文讲解Linux驱动最好的书。
学习建议:没什么建议,驱动考验的是耐心和经验,只有多学,哈哈。
Linux应用
▲《UNIX环境高级编程》(第3版)
作者:作者: 史蒂文斯 (W.Richard Stevens) / 拉戈 (Stephen A.Rago)
译者: 戚正伟 / 张亚英 / 尤晋元
任何一个linux开发人员必备书。
书中介绍了UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容。
内容权威,概念清晰,阐述精辟,对于所有UNIX/Linux程序员都是一本不可或缺的工具书。
▲《UNIX网络编程(第3版)》
作者: 史蒂文斯 / 芬纳 / 鲁道夫
译者: 杨继张
虽然书比较厚,但对于程序员,主要是TCP/UDP网络编程,所以只要重点关注其中部分章节即可,主要有: 第2、3、4、5、6、7、8、11、14、15、16、26、30。
学习建议:重点了解原理,比如tcp的握手原理、非阻塞等。其次就是一些选项啊、函数啊什么的,这些大概知道后,等用到时能够想到什么怎么搜索即可。
和《UNIX环境高级编程》一样,买一本存着,偶尔写代码写到某个地方,不确定概念的时候可以翻翻。
Shell脚本
▲《Linux Shell脚本攻略 (第3版)》
作者: [美] Clif Flynt / [印] Shantanu Tushar / [印] Sarath Lakshman
译者: 门佳
短小精悍,没有长篇大论,都是一个接一个小技巧,实用,适合初学者。
学习建议:作为入门没必要花过多时间学习,闲时看看,增强技术,或者工作遇到问题再看,可能就有解决办法
结语
纸上得来终觉浅,看再多书也还是需要不断练习,也没有真正的神书能够直接灌进你脑子,不需要再四处找资料,这些推荐的书要是真的学完,你就是大佬了,祝所有朋友学有所成,升职加薪。
更多单片机/嵌入式内容及资料:大叔的嵌入式小站:嵌入式Linux学习经典书籍