查阅了很多资料,浏览很多网站,总结一下嵌入式学习路线。
前期补习阶段:
C语言基础补习课程
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言是嵌入式领域最重要也是最主要的编程语言,因此学习嵌入式第一步,就是先打好C语言基础。
第一阶段:
嵌入式系统开发基础理论
学习完第一阶段,要掌握的核心能力有以下几点:
1. 掌握Linux操作系统的使用
2. 精通使用C++语言编程
3. 熟练掌握嵌入式Linux的开发环境
第二阶段:
嵌入式系统开发核心课程
学习完第二阶段,要掌握的能力有以下几点:
1. 掌握嵌入式C语言高级编程技巧
2. 精通嵌入式Linux下的程序设计
3. 了解ARM体系结构和编程
4. 掌握bootloader和kernel的移植技能
第三阶段:
嵌入式系统开发拓展与实践
这一阶段要学习的课程及具体知识点如下图所示:
学习完第三阶段,要掌握的能力有以下几点:
1. 掌握嵌入式Linux开发技术
2. 掌握嵌入式Linux驱动开发
3. 掌握Qt应用开发、系统开发
4. 从零开始完整完成一个真实项目的设计
课程到这里,也就是一个完整的嵌入式培训学习路线图了。三个阶段学习完毕之后,还要通过真实的项目实战来巩固所学的知识点,在这里也给大家提供几个学完课程之后可操作的项目案例:
1.人工智能——老人防摔倒系统项目
项目涉及到的知识点有TensorFlow人工智能框架应用、向量机SVM应用。
2.人工智能——摩托车图像学习识别系统项目
项目涉及到的知识点有TensorFlow人工智能框架应用、神经网络ANN构建分类器应用。
3.VR智能农业项目
VR部分功能
1、在VR设备中可以看到整个大棚的布局,软件结构中至少监控室,农业大棚等空间,模拟真实的农业环境;
2、软件中至少包含照明灯、加湿器、排风扇、喷淋设备、报警灯、遮阳棚等部件;
3、至少包括空气温湿度,土壤温湿度、CO2气体等信息反馈,且信息均为硬件设备采集的真实数据;
4、软件中通过控制动作需要有虚拟效果,且会真实反馈到硬件产品上达到控制目的;
5、需要达到视觉移动效果,可以到达不同的区域并可以进行控制;
Android开源操控终端软件功能介绍
1、在VR设备中可以看到整个大棚的布局,软件结构中至少监控室,农业大棚等空间,模拟真实的农业环境;
2、软件中至少包含照明灯、加湿器、排风扇、喷淋设备、报警灯、遮阳棚等部件
4.VR物联网智能家居
主要包含VR家居控制系统、平板家居控制系统、智能家电控制、智能窗帘控制、远程视频监控、智能灯光控制、环境监测联动、智能门禁控制、智能语音控制、智能报警控制、智能网关控制等功能。
附录:
1. C/C++
《C陷阱与缺陷》
《C专家编程》
《C程序设计语言》
《C与指针》
《C语言深度剖析:解开程序员面试笔试的秘密》
《c++程序设计》
《C++ primer plus》第六版
《Effective C++》
《C++ STL标准程序库开发指南》
《C++ 标准模板库编程实践》
2. Linux
2.1 应用程序设计
《Linux程序设计》
《UNIX环境高级编程》
2.2 驱动开发
《Linux设备驱动程序》 Jonatban Corbet
《Linux设备驱动开发详解》 宋宝华
2.3 内核
《Linux内核设计与实现》 Robert Love
《深入理解LINUX内核》 DanielP. Bovet
2.4 其它
《鸟哥的Linux私房菜 基础学习篇》
《gnu make manual 中文版》
《shell从入门到精通》张春晓
3. 嵌入式开发
《ARM嵌入式系统基础教程》 周立功
《嵌入式系统开发之道 菜鸟成长日志与项目经理的私房菜》 邱毅凌
《μC/OS-Ⅱ嵌入式实时操作系统》 邵贝贝
《圈圈教你玩USB》
《嵌入式系统设计与实现》
《基于嵌入式实时操作系统的程序设计技术》
4. 软件开发
《自己动手构造编译系统:编译、汇编与链接》
《程序员的自我修养》
《程序员修炼之道》
《编程珠玑》
《数据结构 C语言版》
《人月神话》
《人件》
5. 网络通信
《计算机网络》
6. Java & Android
《第一行代码 Android》
《疯狂Java讲义》
参考:
【1】 https://blog.csdn.net/u012247418/article/details/79776240
【2】 怎么自学嵌入式? - cdfarsight的回答 - 知乎 https://www.zhihu.com/question/332475450/answer/741539931