嵌入式Linux和stm32区别? 之间有什么关系吗?

  • Post author:
  • Post category:linux


本人从事嵌入式

单片机

开发11年,很多人对

嵌入式、

单片机



STM32、Linux

傻傻分不清楚

导致学习过程走了很多弯路,明明只需要几个月学习时间,却浪费了1-2年,最后抱怨嵌入式也太高了吧?!


看完这篇文章,相信你会醍醐灌顶,彻底搞清嵌入式


linux






stm32



的关系!

我从以下几点,彻底解决大家的问题:


1.嵌入式开发的几个方向


2.什么时候用嵌入式


Linux


?什么时候用单片机?


3.嵌入式


Linux


和单片机


(

stm32

)


开发的区别


一、嵌入式开发的几个方向

以前有很多童鞋问我:无际哥,嵌入式和单片机有什么区别,选哪个比较好?

大概是,大家认为嵌入式开发就是跑Linux系统的ARM芯片吧。

其实嵌入式开发分很多个方向的,这要由不同性能的处理器说起:

上图是目前嵌入式开发主流的一些处理器。

而单片机作为嵌入式微控制器MCU,就包含在嵌入式开发里面,嵌入式是一个大类别,单片机是其中一个细分方向。

像8051、AVR、STM32等等就是属于单片机的范畴,只是制造厂家不同,芯片性能也不同。

除此以外,大家常说的ARM+Linux大概就是指嵌入式微处理器MPU,这种处理器性能更强悍,所以一般跑Linux或者安卓系统。

由不同的嵌入式处理器,衍生出不同的职业方向,主流的有以下几个:


1.单片机工程师


2.Linux


驱动开发


3.Linux


系统开发工程师


4.Linux


应用工程师


5.


安卓系统开发工程师


6.FPGA/DSP


开发


二、什么时候用嵌入式


Linux


?什么时候用单片机?

这取决于

产品对芯片性能的需求,

如果你的产品功能很复杂,有显示屏播放视频之类的需求,或者需要处理复杂的算法,一般会使用ARM硬件平台+Linux的方案。

我想强调的是,ARM是一个内核,并不是所有ARM内核的芯片都跑Linux。

STM32也是属于ARM内核,但大多数型号并不跑Linux。

ARM根据性能也分很多版本,具体可以看下图:

一般上了ARM9级别的处理器,就会配合Linux系统,做更更高端的应用,这也是大家常说的嵌入式ARM+Linux开发。

如果是一些简单的,则采用单片机。

但是有一点不可否认,

如果能用单片机,老板绝对不会选择


ARM+Linux


,因为单片机成本低,产品开发周期短、容易维护、功耗低、尺寸小等优势

单片机是”裸机编程”,最多也就加个实时操作系统(RTOS),所以上电初始化程序简单,实时性也比较高。

ARM+Linux虽然能做很多复杂的功能,但是实时性会比单片机要差一点。

三、

嵌入式


Linux


和单片机


(

stm32

)


开发的区别

主要体现在以下几个方面:


1.硬件资源不同

单片机一般是芯片内部集成flash、ram,ARM一般是CPU,配合外部的flash、ram、sd卡存储器使用。

STM32现在也出了高端的MPU,可以跑Linxu的,比如STM32MP157F。

外设方面,ARM也比单片机要多很多,也更复杂。


2.程序存储位置不同

单片机程序一般比较小,上百Kb的程序逻辑已经相对复杂的了,所以大多数产品程序一般存储在片内flash。

ARM+Linux程序比较大,还加上Linux系统,一般存在外部的存储器,如sd卡、mmc、sata等。


3.程序开发环境不同

单片机大多数是用Keil、IAR等等,开发环境比较简单。

ARM+Linxu则复杂很多,具体可以参照芯片方案。

程序的编译时间也不是一个级别的,单片机只需要几十秒,ARM+Linux,如果再跑上安卓系统,我很久以前玩过一次rk3288的,重头编译,电脑配置不错的话,大概需要几个小时。


4.调试工具不同

单片机:硬件开发板,仿真器(调试器),USB转串口线。

ARM+Linux:硬件开发板,网线,USB转串口线,SD卡。

我们在调试基于STM32单片机的时候,一般会采用st-link去仿真调试程序,查找bug。

而ARM+Linux开发,一般不会用硬件的调试器,一般是通过串口打印信息进行调试,特别是做应用开发的时候。


四、最后总结

ARM+Linux和stm32之类的单片机,两者之间是不同的产品方向和职位方向,没有什么关联性。

单片机更偏向于硬件,ARM+Linux更偏向于应用。

当然,如果你单片机玩的很溜,再去学习ARM+Linux会理解的更深刻,效率也更高。


最后彩蛋时间!!!

最近很多小伙伴找我要一些单片机学习资料,然后我根据自己从业十年经验,业余熬夜肝了几个通宵,精心整理一份

「单片机入门到高级教程+工具包」

,全部无偿共享给大家!!!

除此以外,再含泪分享我压箱底的22个热门开源项目,包含源码+原理图+PCB+说明文档,让你迅速进阶成高手!

据说

有小伙伴靠这份资料顺利进入BAT大厂

,所以保存了一定要好好学习。


教程资料包和详细的学习路径可以看我下面这篇文章的开头。




单片机入门到高级开挂学习路径(附教程+工具)


icon-default.png?t=M3K6
https://blog.csdn.net/weixin_43982452/article/details/114134096




版权声明:本文为weixin_43982452原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。