嵌入式开发的概念

嵌入式是一个泛的概念,可能很多人认为嵌入式就是嵌入式Linux。但是其实并不仅仅只有Linux, 像STM32,51单片机也属于这个范畴之内的,它们有的也可以跑协议栈,跑ucos等系统。所以其实嵌入式是有很多方向的,选择一个方向,做好,做精,都是有前途的。
嵌入式方向

1、单片机开发

单片机开发在这个市场上的需求还是很大,因为制造业公司还是很多,单片机更多用在工业控制,机械控制等上面,当然也会涉及物联网。单片机有8位,16位,32位的,一般8位用得比较多的就是51单片机和STM8,32位用得比
较多的就是STM32,还有NXP的芯片,比如K60,K22等。一般学完51和STM32之后,找个单片机的工作应该是没什么问题了。单片机的门槛其实并不高,但是做好也不容易就是了,可能因为门槛问题,导致薪资上面并不会特别高(能力牛逼者例外)。

2、Linux应用开发

Linux应用开发到底在做什么?其实应用就是在做功能,在操作系统中,因为分层的原因,把应用和驱动区分开,也是为了方便开发分工。因为单片机中基本都是驱动和功能混在一个程序中,所以转到Linux开发中,突然被细分了,就会不清楚应用到底是干啥的。Linux应用使用到的编程语言基本就是C和C++了。所以Linux应用开发一定要掌握好C语言,大学课本中的C语言只是入门,像多线程,多进程,网络通信,还有一些其他的库都没讲到。Linux应用在市场需求上还是很多的,基本有涉及Linux开发的,都需要,它的岗位需求会比驱动多。比如做网络设备,做路由,做POS机, 做楼宇对讲等等。薪资上大家可以参考各个地区招聘网站,相对来说,一般会比单片机高。

3、Linux驱动开发

Linux驱动开发是难度最高的,因为它涉及的方面比较多。你必须要会看原理图,datasheet,要了解许多驱动框架,然后还要能写一些应用来调试驱动。驱动入门时间是比较长的,这一块的工作机会在芯片原厂比较多,虽然一些公司也会需要,但是大部分是移植调试,对接原厂工程师等工作。驱动工程师要求高,所以薪资还是很不错的。

4、FPGA

5、DSP

单片机开发、Linux应用开发、Linux驱动开发是嵌入式开发基本的三大方向,还有一些像FPGA或DSP等,但是因为这些的机会并不多,所以我们并不过多探讨。还有像Android,它是基于Linux的,所以它算是Linux的深入,我们不把它单独列出。

总结

嵌入式软件可以深入的东西还有很多,包括算法,数据结构,设计模式等等。
在这里插入图片描述
资料来源于网络

猜你喜欢

转载自blog.csdn.net/lijiahao1212/article/details/130075224