什么时候用嵌入式Linux和单片机(stm32)开发的区别

3.嵌入式Linux和单片机(stm32)开发的区别以前有很多童鞋问我:无际哥,嵌入式和单片机有什么区别,选哪个比较好?三、嵌入式Linux和单片机(stm32)开发的区别ARM+Linux和stm32之类的单片机,两者之间是不同的产品方向和职位方向,没有什么关联性。

结果学习过程走了很多弯路。 只花了几个月的时间就学会了,却浪费了1-2年的时间。 最后我抱怨嵌入式系统太高了吧? !

读完这篇文章,相信您一定会恍然大悟,彻底了解嵌入式Linux与stm32的关系!

我将从以下几点彻底解决您的问题:

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

2.什么时候使用嵌入式Linux? 什么时候使用微控制器?

三、嵌入式Linux与单片机(stm32)开发的区别

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

以前很多小朋友问我:无极哥,嵌入式和单片机有什么区别,哪个更好?

可能大家都认为嵌入式开发就是ARM芯片运行Linux系统。

其实嵌入式开发分为很多方向,首先从不同性能的处理器开始:

什么时候用嵌入式Linux和单片机(stm32)开发的区别

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

微控制器作为嵌入式微控制器(MCU),包含在嵌入式开发中。 嵌入式是一个大类,微控制器是其细分领域之一。

例如8051、AVR、STM32等都属于微控制器的范畴,但由于厂家不同,芯片性能也有所不同。

另外,大家常说的ARM+Linux很可能就是指嵌入式微处理器MPU。 这种处理器的性能比较强大,所以一般运行Linux或者Android系统。

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

1.单片机工程师

2.Linux驱动开发

3.Linux系统开发工程师

4.Linux应用工程师

5.Android系统开发工程师

6.FPGA/DSP开发

2.什么时候使用嵌入式Linux? 什么时候使用微控制器?

这取决于产品对芯片性能的要求。 如果您的产品功能复杂,需要在显示器上播放视频,或者需要处理复杂的算法,一般会采用ARM硬件平台+Linux的方案。

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

STM32也属于ARM内核,但大多数型号不运行Linux。

ARM根据性能也分为很多版本。 详细可以看下图:

什么时候用嵌入式Linux和单片机(stm32)开发的区别

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

如果事情很简单,请使用微控制器。

但有一件事是不可否认的。 如果能用单片机,老板绝对不会选择ARM+Linux,因为单片机成本低、产品开发周期短、易于维护、功耗低、体积小等优点。

单片机是“裸机编程”,最多只需要一个实时操作系统(RTOS),因此上电初始化程序简单,实时性能比较高。

虽然ARM+Linux可以执行许多复杂的功能,但其实时性能比单片机稍差。

三、嵌入式Linux与单片机(stm32)开发的区别

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

1、硬件资源不同

微控制器一般在芯片内部集成闪存和RAM,而ARM一般是与外部闪存、RAM和SD卡存储器一起使用的CPU。

STM32现在也有可以运行Linux的高端MPU,例如STM32MP157F。

在外设方面,ARM的外设也比微控制器多很多,也更复杂。

2、程序存储位置不同

单片机程序一般都比较小,几百Kb的程序逻辑已经比较复杂,所以大部分产品程序一般都存储在片上flash中。

ARM+Linux程序比较大,而且随着Linux系统的加入,一般还有外部存储器,如SD卡、mmc、sata等。

3、程序开发环境不同

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

ARM+Linxu就复杂得多。 详情请参考芯片方案。

程序的编译时间不在一个水平上。 单片机、ARM+Linux,如果运行在Android系统上,只需要几十秒。 很早以前玩过rk3288,重新编译了一下。 如果电脑配置好的话,大约需要几个小时。 。

4、调试工具不同

微控制器:硬件开发板、仿真器(调试器)、USB转串口线。

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

当我们调试基于STM32的微控制器时,我们通常使用st-link来模拟调试器并查找bug。

在ARM+Linux开发中,一般不使用硬件调试器,通常通过串口打印信息来进行调试,尤其是在做应用程序开发时。

4. 最后总结

ARM+Linux和stm32等微控制器的产品方向和工作方向不同,它们之间没有关联性。

微控制器更注重硬件,而ARM+Linux更注重应用。

当然,如果你擅长玩单片机,通过学习ARM+Linux你会有更深入的理解和更高的效率。

最后的复活节彩蛋时间!!!

最近有同学向我要单片机的资料。 我花了一个月的时间总结了自己10年的产品开发经验,收集了史上最认真、最硬核、最实用的《高级单片机入门教程+工具包》。 +22个热门项目”,免费分享给大家。

什么时候用嵌入式Linux和单片机(stm32)开发的区别

资料包几乎涵盖了C语言、单片机、模拟与数字电子、原理图与PCB设计、单片机高级编程等内容,非常适合初学者入门进阶。

另外,我会在盒子底部泪流满面地分享我整理的22个热门开源项目,包括源码+原理图+PCB+文档,让你快速成为高手!

什么时候用嵌入式Linux和单片机(stm32)开发的区别

据说有朋友就是通过这个成功加入BAT的,一定要保存好,好好学习!

后期我也会成立一些技术交流群,让大家可以认识更多的大佬,有一个良好的圈子。 您对行业的了解将处于最前沿。

如果您想要上面的“MCU入门进阶教程工具包+进MCU交流群”,可以点击下方卡片⬇️扫描二维码进群免费领取。

或者你可以寻找全网同名的“Boundless Microcontroller”。

以下是无极更多原创的个人成长经历、行业经验、技术秘诀。

1.从入门级微控制器到高级黑客的学习路径(包含教程+工具)

2、电子工程师的能力有多可怕?

3、为什么学了几天STM32感觉很迷茫?

4.谁能教我如何学习单片机,先学什么,如何入门?

5.我学习Stm32很久了,但还是感觉自己不能独立做项目?

6、如何实现单片机的模块化编程

7、C语言中指针的高级应用:回调函数

8、C语言指针的高级应用:队列算法

9、新手学习单片机最常见的六大误区。 你掉进陷阱了吗?

什么时候用嵌入式Linux和单片机(stm32)开发的区别

单片机

(每日一题)Part3C++的发展史1979年

2024-2-4 4:00:56

单片机

学嵌入式学习怎么写上面跑的软件和软件?

2024-2-4 5:01:18

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索