## 一、嵌入式开发用到哪些知识
1、编程语言: 第一层次(C语言),第二层次(ARM汇编、shell脚本、C++、Java);
2、操作系统: 第一层次(linux),第二层次(Android、RTOS(一类实时操作系统,如ucos、uclinux等,一般用在需要操作系统的单片机上));
3、硬件方面: 会看原理图,懂得串口、I2C、USB等常见通信设备的原理及编程、懂得LCD、触摸屏等常见元件原理及编程。
## 二、嵌入式开发需要什么技能
1、以软件为主,但是需要对硬件有一定了解;
2、重在调试,需要有修改和调试程序的能力;
## 三、学习体系
1、嵌入式核心课程
2、Android扩展
3、物联网扩展
4、各种实训项目
## 总结:
①嵌入式是处理“软硬结合”部分的;
②嵌入式软件开发并不需要会设计硬件电路和自己画PCB板;
③嵌入式软件开发以C语言和linux系统为核心,学习的关键和入口点就在这里;
④嵌入式开发涉及面极广,学习周期长,学习难度大。
## 四、嵌入式核心课程(5大模块)
1、linux基础 + C语言;
2、linux应用程序开发(系统编程、网络编程);
3、ARM编程(ARM体系架构、ARM汇编、开发板常见外设裸机编程);
4、linux系统移植(uboot移植、kernel移植、rootfs制作);
5、linux驱动开发。
## 五、Android扩展(3大模块)
1、Android HAL驱动;
2、Android系统定制;
3、Android应用开发;
## 六、物联网扩展(无线扩展)
1、GPS和地图查询服务;
2、wifi;
3、蓝牙4.0;
4、Zigbee;
5、RFID.
讲座内容来自朱有鹏老师的 《嵌入式工程师养成计划--嵌入式软件工程师完全学习指南》,在此感谢^_^