本文持续更新,第一版先面世计算机网络操作系统原理与应用-新手集合--嵌入式linux学习路线--三阶段,转发请保留出处:二进制人生。这个学习路线是遵照大多数人的认知规律来的,
第一阶段1.1 C语言入门
入门选一本简单的、薄一点、不要出错的书就可以了,例如谭浩强老爷子的书,选太厚的容易打击你的信心和学习兴趣,谭老爷子的书虽然被很多人喷,但对于初学者来说还是比较合适的。在入门之后才建议去看C语言的经典教程:
《C Plus》
这本书比较厚,知识点比较全,可以用于查漏补缺。
《C程序设计语言》(The C )黑皮书这本书虽然经典,但是我个人觉得不适合初学者去看,个人看来这本书更像是在叙述C语言的标准,所以讲得比较精炼,初学者是看不懂的。
项目实战:
学完C语言之后可以尝试写一个无界面的学生成绩管理系统、图书管理系统。我大学时C语言的课设就是写一个学生成绩管理系统。
1.2 基本的数据结构
单向链表、双向链表、循环队列、循环缓冲区、简单的二叉树
1.3 学会使用linux操作系统
掌握基本的linux命令,(或者其他发行版本)操作系统的使用。
1.4 计算机网络基础
推荐谢稀仁《计算机网络》这本书,经典的计算机网络教科书。
第二阶段2.1精通C语言
想要精通C语言并不容易,没有一两年的磨练难谈精通。
推荐书籍:
2.2 最好掌握C++(不是必须,但推荐)
有了C语言的基础,学习C语言是非常容易的,难点在于从面向过程到面向对象编程的转变,掌握面向对象的设计规则和设计思想。
入门书籍:
C++进阶书籍:
2.3 掌握linux C(linux应用程序开发)
学习上层的嵌入式linux应用程序开发和编译调试(gcc、gdb的使用)。
《UNIX环境高级编程》
《UNIX网络编程》
练手项目
2.4 shell脚本
《linux命令行于shell脚本编程大全》
《linux shell脚本攻略》
其实也不用看书,找个系统的知识网站或者博客看下,比如菜鸟教程,再动手写下也可以。
2.5 语法
推荐 陈皓的系列文章,自行百度。
2.6 学习arm
认识arm体系结构
掌握基本的arm汇编
2.7 嵌入式系统的构建
建议买一个开发板。
交叉编译。
ssh、等工具的使用。
samba服务器搭建。
nfs文件系统挂载。
裁剪、编译、烧写。
基本的uboot命令、uboot编译烧写、尝试自己添加一个uboot命令。
文件系统制作、裁剪、烧写(使用)。
第三阶段3.1 学习内核
从事应用层、驱动层的都应深入学习内核,驱动层的工作对于内核的要求更高一些。
三大核心主题:3.2 操作系统原理
很多的高校把这个课放在了大一来教,个人觉得在没有编程基础和学习linux操作系统之前来学习操作系统原理,有点枯燥和难以理解,很多的知识点不能引起学生的共鸣。按照很多人的学习路线计算机网络操作系统原理与应用计算机网络操作系统原理与应用,也是在有了一定的开发经验之后才来弥补操作系统的知识。
3.3 学习行业相关的东西(稀缺人才)
到了这个阶段,你需要学习行业相关的东西,这取决于你想从事的行业,
3.4 终生学习
学习是一生的事情,技术永远学不完,保持终生学习的态度才能不被社会所淘汰!
文章来源:https://zhuanlan.zhihu.com/p/165417839?utm_source=wechat_session