单片机学习小组
直播中

贾桂林

7年用户 1505经验值
私信 关注

stm32和树莓派的区别在哪呢?树莓派一定比stm32难吗

STM32和树莓派的区别在哪呢?树莓派一定比stm32难吗?

STM32的三种架构之间有什么区别?



回帖(1)

李芳

2022-1-26 12:00:54
今天来聊一下stm32和树莓派,stm32我用了几年,树莓派我对它的理解仅限于理论层面。

自己并没有用树莓派做过产品,但是这个理论足以让大家对这两个平台有初步的了解。

很多人新手会去比较,stm32和树莓派哪个好,我该学哪一个?

我们要想搞清楚这个问题,先要搞明白他们的一个区别。

一、stm32和树莓派的区别?
Stm32和树莓派是两个不同的领域,从性能上来看,stm32是MCU,树莓派是MPU。

MCU和MPU的区别简单来说就是:

MPU适合做需要复杂运算的大型程序,这种一般需要外挂RAM和ROM。

MCU适合做一些运算比较简单的中小型程序,一般用来用于硬件管理和控制,所以这一般不需要外挂RAM和ROM,都集成在芯片内部,也称为单片机。

stm32之前大多数型号属于Cortex-M系列的单片机,树莓派一般是Cortex-A系列处理器。

除了Cortex-M以外,还有Cortex-M、Cortex-A、Cortex-R架构的处理器。

当然, STM32现在也出了基于Cortex-A架构的STM32MP157处理器。

那3种架构之间有什么区别?


Cortex-M版本:
性能最低配,更细分的版本有M0、M0+、M3、M4等等。

Cortex-M大家可以理解成微控制器,一般功耗和成本比较低,但性能也有限,应用领域有智能家居、无人机、智能穿戴、汽车电子(安全气囊等)之类的产品。

Cortex-R版本:
性能中配,更细分的版本有R4、R5、R7、R8等等。
一般用来做工业高性能实时应用,比如说汽车制动系统,发动机控制,打印机、硬盘控制器等。

Cortex-A版本:
性能高配,更细分的看下图:


这种一般用于高端产品,像平板电脑、手机,这个相信大家即使不懂技术也很熟悉了。
Ok,如果上面这些看的有点抽象,那下面讲点接地气的。

1.stm32

Stm32主要用来采集传感器数据,把数据进行解析,再进行逻辑功能处理,最后控制输出设备完成相应的功能,比如说驱动电机、控制LCD屏显示、控制数码管显示等等。

这种产品一般不需要复杂的运算,一般是裸机编程,或者跑个RTOS系统。

所以,单片机比较适合做数据采集控制,它的优势在于实时性高,不需要等待操作系统启动过程,一上电马上就能开始跑程序,这就是为什么有些导弹上面要用单片机的原因。

2.树莓派

树莓派的”身份”和arduino有点相似,都是开源硬件平台,在博通的芯片上运行Linux操作系统。

强大的芯片性能让树莓派更适合做运算,比如说一些图像采集,处理,深度学习和识别等等。

这种加了Linux系统的,一般实时性没单片机这么高。

树莓派大多数也是给创客学习用,如果用来开发产品的话成本太高。

而stm32的实用性就强很多,很多商用产品都是用它做的。

从上面的区别可以看得出来,stm32主要是偏向硬件控制,树莓派是偏向纯软件,两者方向不一样。

可能很多小伙伴会问,那树莓派一定比stm32难吗?

其实不一定,很多人的误区就是我做单片机开发,主要就是学习单片机。

实际上不是的,如果从事stm32的产品开发,涉及的知识面比较多,如果你做汽车电子的产品,你需要去学习汽车的相关知识,如果你做无人机,你还需要了解空气动力学的知识。

不同行业的产品,它的标准、方案都不一样,如果你不熟悉这些程序都没法写。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分