什么是嵌入式系统?STM32能跑linux吗?

常有场景需要使用 ARM 作为主控,通过 ARM 的外设并行 RAM 类总线外挂 FPGA ,使用 FPGA 来做高速的数据采集或者运算的架构,在通信,医疗电子等等行业,这都屡见不鲜;
以ARM作为主控,采用FSMC外设外挂FPGA,使用FPGA做高速运算(DDS等)。

最近在学习嵌入式Linux,好奇为什么STM32能否移植linux系统。于是,我查阅相关文章及论文答疑解惑。

一、什么是嵌入式系统?

嵌入式系统分为软件和硬件两部分:
①硬件:主要包括核心处理器芯片、内存和存储芯片等外围芯片;
②软件:主要包括有嵌入式系统运行的引导程序如uboot、操作系统(如linux)、底层设备驱动及应用软件等。
系统硬件核心是处理器芯片,市面上常见的处理器架构主要是有ARM、Power和MIPS常用的嵌入式操作系统是linux系统。

二、STM32能跑linux吗?

STM32系列专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核。
STM32采用的是ARM的Cortex-M系列指令集,所以问题可以转换为Cortex-M指令集能否跑linux?

在解决问题前,我们需要先了解一下ARM架构。

2.1 ARM架构

ARM(Advanced RISC Machines)指精简指令集计算机设备,使用 ARM 技术生产的各种型号芯片称为 ARM 处理器。

ARM公司使用RISC技术设计芯片,给其他公司授权芯片IP core。ARM处理器从ARMv4系列开始得到市场广泛认可。在ARMv7开始,其指令集架构变成3种款式,即目前大家熟知的Cotex-M、 Cotex-R、 Cotex-A。

Cortex-A :针对高端领域的处理器,在移动互联设备、数字电视等领域使用广泛。
Cortex-R :在实时性方面有巨大优势,应用领域例如智能汽车、消费电子等。
Cortex-M:主要优势为低成本和低功耗,主要应用于微控制领域,如工业控制和家用电器等

2.2 Cortex-M能跑linux吗?

不能!

Cortex-M系列处理器是没有内存管理单MMU。

linux是非实时性操作系统,多进程是其主要特点。
多进程依赖于内存管理单元MMU。换而言之,Linux操作系统对MMU具有极强的依赖性。

所以cortex-M不建议跑Linux

cortex-M可以跑实时操作系统,因此不涉及到线程间的地址空间分配,不需要使用MMU,例如ucos、 FreeRTOS、 RT-Thread等。

三、STM32国产平替芯片?

STM32各芯片产商国产芯片平替可见链接:https://www.eet-china.com/mp/a59611.html。

因国家与美国的芯片战于20年早已打响,STM32芯片价格过高!STM32F103ZET6的售价为379元。
在这里插入图片描述
北京兆易创新科技股份有限公司生产的GD32F103VET6可作为STM32的平替,价格是前者的1/7。(实话说芯片还是好贵,希望全球芯片危机早早过去,也希望我国半导体行业能解决卡脖子问题,打赢贸易战!)
在这里插入图片描述
替换时的注意事项查看https://www.21ic.com/article/885505.html。

手环开源码:https://github.com/FASTSHIFT/WatchX

三、嵌入式系统GUI开发

计划使用littleVGL进行嵌入式GUI设计。

littleVGL可以说是近些年才刚开始流行的一个小型开源嵌入式GUI库,具有界面精美,消耗资源小,可移植度高,响应式布局等特点,全库采用纯C语言开发。

正点原子littleVGL学习视频:https://www.bilibili.com/video/BV1ug4y1q7ha?p=1

  • 12
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值