从事嵌入式开发已经十多年了, 也阅读了很多各类书籍, 推荐一些我认为不错的书籍给嵌入式工程师, 希望大家能迅速掌握重要内容.
嵌入式工程师首先是一个社会人, 因此需要了解基本的处世方法. 会处世, 才能更好地工作. 我最早是在初中时看过戴尔·卡耐基的《人性的弱点》. 版本无所谓, 只需要看最薄的那种就可以了. 书中提到的要记住他人的名字, 评判人要以赞扬开始, 做一个好的听众等基本原则, 我始终遵从.
思维方法比技术能力更重要. 因此, 想要做一个好工程师, 首先就要学会符合逻辑的思维方法. 下地宽也的《逻辑思维,只要五步》就是这样一本简单易懂的逻辑思维指导书. 我看了此书后的第一个感受就是: 书中对金字塔原理的描述, 比《金字塔原理》原著还简单易懂.
C语言是嵌入式工程师的必备技能. C语言的教材很多, 质量参差不齐, 书的厚薄差异也很大. 作为一个嵌入式工程师, 最好是能快速进入编程状态, 后续技能的提升, 需要根据实际需求不断学习. C语言设计者克尼汉和里奇(Kernighan & Ritchie, K&R)的《C程序设计语言》是C语言入门的最佳教材, 中文版只有三百多页, 该书的翻译者是徐宝文. 学习此书的方法建议参考"敏捷咨询工具箱(钱安川)", 该文章中建议的方法是通过"学"和"习"来掌握这门编程语言.
C语言入门后, 就需要无错地编写程序, 林锐博士的公开文档《高质量C/C++编程指南》就是一个十分不错的参考资料. 如果想看纸质的书, 可以看他写的《高质量程序设计指南:C++/C语言》, 书中介绍了大量程序员常见的错误, 以及如何避免这些问题.
作为嵌入式工程师, 就需要软硬皆通, 即使不能达到全通, 基本知识还是要具备的. Mark Balch的《Complete Digital Design》就是了解硬件基本知识的入门书. 这本书出版已经快二十年了, 但现在看来, 里面的知识仍然具备可用性. 该书介绍了门电路, 存储器, 串行通信, 网络等基础知识, 对处理器的一些高级技术也有涉及.
如果说C语言和硬件基础知识是嵌入式开发的基础, 那么学习了这些内容后, 我们就有了一些"砖块", 如何搭建一个"建筑"呢? 这些"砖块"是如何有机结合在一起的呢? 邱毅凌的《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》就是这样一本结合例子说明了硬件, 软件, 项目管理, 调试技巧的书. 通过学习该书, 能对嵌入式系统开发的方方面面有一个概况性了解.