嵌入式Hacker (es-hacker)

Embedded bsp developer enjoys thinking and hacking opensource and develop boards(NanoPi, LicheePi, RPi...)

0%

程序人生 / 嵌入式软件工程师的自我修养

​很多时候,因为天赋和家庭背景的问题,我们无法成为最优秀的那个人,甚至达不到优秀。就好像我们读书的时候考第一名的永远只有一个,但是只要你足够勤奋和律己,那么至少可以争取到前50%的排名。投射到工作上,工作后,需要学习的知识都是自由选择的,涉猎的知识范围只会越来越广,如果你还想着要做最优秀的工程师,那你肯定会被现实重挫的。所以不要想着去做一个优秀的工程师,要想着如何去做一个合格的工程师,对我自己而言,则进一步缩小要求:如何做一个合格的嵌入式软件工程师。

为了鞭笞自己多读书,增加成就感,远离浮躁,给自己整理个学习清单吧。
下列书籍或者视频都是我自己亲自接触过,并且认为值得嵌入式软件工程师学习的资料,排名不分优先级。

备注:

  • finish 表示至少完整阅读过一次,不代表完全吸收,一本书看一遍跟看三遍的效果是完全不一样的;
  • reading 表示阅读过,未完成,括号内表示大概的进度;
  • not start 表示还没开始阅读,嘿嘿,没学过就没学过,敢于面对自己的不足,不丢人;
  • trying,尝试阅读中;
  • 打分是我个人主观行为,没有任何依据;
  • 分数只用于在相同知识的书籍间进行对比;

一、值得一看的书籍

计算机核心类

  • 《数据结构》
  • 《计算机网络》

Linux驱动类

  • 《嵌入式Linux 应用开发完全手册》,finish
  • 《Linux 设备驱动开发详解》,finish
  • 《Linux 设备驱动程序》,not start
  • 《精通Linux设备驱动程序开发》,not start
  • 《精通Linux设备驱动程序开发》,not start

操作系统类

  • 《一步步写嵌入式操作系统》,finish
  • 《Linux 内核设计与实现》,reading (4/5)
  • 《深入理解 Linux内核》,reading (1/10)

语言类

  • 《Linux Shell 脚步攻略》,finish
  • 《C++ 语言程序设计》,郑莉/董渊,finish
  • 《C++高级编程 第4版》,reading

工具类

  • 《pro git》,finish
  • 《Python 编程快速上手》,finish
  • 《python编程:从入门到实践》,reading (1/2)

应用编程类

  • 《C++ GUI Qt4 编程》,reading (9/20)
  • 《Qt Creator 快速入门》,trying
  • 《Qt 5.9 C++开发指南》,trying
  • 《Unix 环境高级编程》,reading (1/2)
  • 《Android 系统源代码情景分析》,reading (1/3)
  • 《Unix 环境高级编程》,reading (1/3)
  • 《Linux 程序设计》,reading

软件设计类

  • 《代码大全》
  • 《人月神话》
  • 《软件随想录》,finish

程序人生类

  • 《无伤跑法》,not start
  • 《软技能-代码之外的生存指南》,finish
  • 《掌控习惯》,finish

二、值得学习的视频教程

  • 《韦东山嵌入式Linux-第一期_硬件基础》,finish
  • 《韦东山嵌入式Linux-第二期_Linux驱动》,finish
  • 《韦东山嵌入式Linux-第三期_应用编程》,finish
  • 《韦东山嵌入式Linux-第四期_Android底层》,reading
  • 《李治军-操作系统》,finish

三、值得阅读的源码

C

  • Mjpg-streamer,简单的视频流服务器;
  • Gstreamer,支持Windows,Linux,Android, iOS的跨平台的多媒体框架;
  • Libevent,轻量级的开源高性能事件通知库;
  • RetroArch,一个游戏模拟器整合软件;

C++

  • Qt,C++图形用户界面应用程序开发框架;
  • Pegsus,基于Qt的跨平台游戏模拟器前端;

Shell

  • RetroPie,一个游戏机模拟器软件包的管理脚本;

Makefile

  • Buildroot
  • OpenWrt

时间线

2020年

  • 《软件随想录》,finish
  • 《掌控习惯》,finish
  • 《软技能-代码之外的生存指南》,finish

你和我各有一个苹果,如果我们交换苹果的话,我们还是只有一个苹果。但当你和我各有一个想法,我们交换想法的话,我们就都有两个想法了。如果你也对嵌入式系统和开源软件感兴趣,并且想和更多人互相交流学习的话,请关注我的公众号:嵌入式系统砖家,一起来学习吧,关注或转发都是是对作者最大的支持,谢谢大家,祝工作顺利~

这是一篇有趣的文章吗?

欢迎关注我的其它发布渠道