中国互联网络发展状况统计报告|嵌入式开发要学哪些技能?

中国互联网络发展状况统计报告|嵌入式开发要学哪些技能?

嵌入式开发是软硬结合的产品 , 需要对软硬件都有所了解 , 所以学习起来比较费劲 , 学习成本也高 , 回报率是个很漫长的过程 。 嵌入式要学的东西有很多 , 主要有5个方面 。
语言:C
C是必须要学的 , 是最基本的 , 如果搞驱动还要学汇编 , 需要对照datasheet知道如何实现硬件和软件交互 , 如果涉及Framework就要用到C++ , 因为硬件抽象层全是C++写的 。
操作系统
嵌入式开发的操作系统有很多:Linux、vxworks、mips、wince、QNX·····但目前来看Linux是主流 , 所以这个一定要掌握 。 Android系统及其移动设备端的流行是Linux兴起来的主要原因 , Linux能做为Android系统的内核 , 一是因为它是开源的 , 社区参与开发人员多 , 二是Linux的性能确实不错 。

编译系统不同的公司对嵌入式开发的编译系统会有不同的需求 , 如果是odm做Android手机的厂商 , 都是用google自家的编译系统 , 就是我们常说的Android编译三部曲(source , lunch和make) , 如果是其它公司的话可能会有基于shell或者python的自定义的编译系统 , 其实底层也是调用Makefile 。
技术栈
如果是linux内核开发 , 那么要掌握这些技术的:硬件架构 , 片上系统 , boot , 软硬件裁剪和定制 , 内核编译烧写 , 驱动开发 , 功耗分析 , 协议i2c、spi、uart还有usb等 。 如果是涉及上层 , 那么需要掌握的技术:进程间通信 , 多线程开发 , 信号量和锁 , 图形界面 , 网络以及网络协议等 。
【中国互联网络发展状况统计报告|嵌入式开发要学哪些技能?】现在嵌入式开发的工作岗位在变多 , 前景还算不错 , 全行业都整体性提升 , 所以加油干吧!