单片机是否为嵌入式技术,单片机和嵌入式学哪个?

单片机是否为嵌入式技术,单片机和嵌入式学哪个?

089388ddb186d3f3f27289bab77b5492.png

单片机和嵌入式,我喜欢用儿子和爸爸这种关系去区分它们。

我当初是通过嵌入式挖到了单片机开发,所以说单片机和嵌入式是一个包含关系,嵌入式包含了单片机。

这层关系一定要先搞清楚。

那嵌入式除了单片机以外,还有分为以下几个主流方向:

1.单片机开发工程师

需要掌握的东西大概如下:

①学习C语言、汇编

②学习51、STM32单片机

③学习常用Usart、IIC、SPI、can协议。

④能看懂数据手册基本参数

⑤能看懂电路原理

⑥熟悉绘图工具(AD)使用。

2.Linux系统开发工程师

需要掌握的东西大概如下:

①熟悉uboo移植、内核kernel的裁剪。

②熟悉Linux设备驱动开发

③熟悉ARM CPU架构、Linux内核、内存管理、进程调度、文件系统、网络原理等。

④熟悉常用外设驱动Usart、IIC、SPI、Nandflash、MMU等

⑤熟悉Bootloader开发

3.Linux应用工程师

需要掌握的东西大概如下:

①.熟悉C和C++

②熟悉Linux系统文件、进程、内存共享、消息队列、信号、多线程、网络等

③熟悉GTK或者QT

④熟悉视频、音频、Ble等算法协议。

4.安卓系统开发工程师

需要掌握的东西大概如下:

①.熟悉Linux内核与驱动程序开发

②熟悉Android框架开发和维护

③熟悉Android Hal和framework开发

④熟悉JNI/NDK开发。

⑤熟悉Android下网络编程。

⑥熟悉C,C++,java,Shell编程语言。

每个方向所需要的学习的课程内容是不一样的,1和2是偏硬件驱动层,3,4是更偏重应用层。

很多人喜欢去评价,说哪个方向比哪个好,这4个方向没有绝对的哪个工资比哪个高,行内人自然懂,不懂得喷子键盘侠我也懒得解释。

我做了这个行业10年来说说自己的看法。

这4个方向,没有说哪个比哪个好,如果单纯用工资去衡量,这种方式并不客观,可能会影响到你的判断和选择。

当初我就是这样,哪里工资高就去哪里,完全没考虑到一个行业的发展趋势。

最终导致的结果就是,你的收入很容易到达瓶颈,再怎么也涨不上去。

所以,这个首先看你个人的一个擅长或者兴趣领域。

如果你的动手能力强,可以往单片机开发方向和Linux系统开发方向。

如果你想偏软件的,不想碰硬件,往Linux应用开发和安卓开发。

如果你是刚入门这块的话,我建议是先从单片机开发上手。

很多人说单片机开发很简单,没前途,不否认单片机开发工资确实低一点,因为大多数开发都是在做应用,单片机就是一个工具,你只会用工具工资还想高到哪里去?

如果你能独立完成产品软硬件设计看看?

会蓝牙、Zigbee、NBIOT、WiFi开发看看?

这些也都是单片机,只是在单片机内部加了特殊模块(BLE、Zigbee)集成的SOC。

这个大家可以去招聘平台搜搜看,搜嵌入式大多数都是单片机开发的职位,比如STM32之类的,足以说明市场之大,市场大意味着工作也好找。

98be0c19c97ecf0d66f42c14e723878e.png

还有一点就是局限性,用单片机做产品基本个人都能完整整个技术部分,包括硬件和软件设计。

而Linux或者安卓方向却很难,拿安卓来开发来说,他需要有Linux系统开发工程师把系统移植到ARM或者其他架构下的芯片里,然后把外设驱动都调好,安卓系统才能基于这上面跑起来。

所以如果你想后期自己创业做产品,单片机方向是比较合适的,只要你有丰富的经验,完全可以自己一个人独立开发一款产品。

当然,如果你完全是看工资,那往Linux和安卓方向比较适合你。

猜你喜欢

转载自blog.csdn.net/danpianji777/article/details/125064844