嵌入式开发是软件和硬件的结合,需求对软件和硬件都有必定的了解,所以学习起来比较吃力,学习本钱也很高,所以他的报答也是一个很长的进程。嵌入式有许多东西要学,主要有5个方面。
C是有必要学的,它是最根底的,假如你想学汇编,你需求知道怎么依据datasheet来完成软硬件交互。假如触及Framework,则需求运用C++,由于硬件笼统层都是用C++编写的。
嵌入式开发的操作体系有许多:Linux、vxworks、mips、wince、QNX……可是现在Linux是干流,所以这个必定要把握。Android体系和移动设备的遍及是Linux鼓起的主要原因。Linux作为Android体系的内核,它是开源的,社区中有许多开发者。然后,Linux的功能也的确不错。
不同的公司对嵌入式开发的编译体系有不同的要求。假如说 odm 是安卓手机的厂商,他们都运用谷歌自己的编译体系,也便是咱们常说的安卓编译三部曲(source、lunch、make)。假如是其他公司,可能有根据shell或许python的自定义来构建体系,其实底层也调用了Makefile。
假如是linux内核开发,那么你有必要把握这些技能:硬件架构、片上体系、引导、软硬件取舍与定制、内核编译与编程、驱动开发、功耗剖析、协议i2c、spi、uart ,还有usb等。假如触及到上层,那么需求把握的技能:进程间通讯、多线程开发、信号量和锁、图形界面、网络和网络协议等。
现在嵌入式开发的岗位比较多,远景还不错,整个职业全体都在提高,假如你决计从事这一块,那就赶忙来学习吧!加油!