一文读懂----判断你的STM32单片机能不能跑系统RTOS?

是不是所有STM32单片机都能跑操作系统?怎么去判断我手里的型号能不能跑?今天给大家说说这件事

首先,跑系统一般是指运行实时操作系统RTOS,比如FreeRTOSuC/OS-II等等。系统的作用是帮你管理多个任务比如同时处理按键、显示、通信,但需要消耗一定的芯片资源。

一、所有STM32都能跑系统吗?

答案:理论上是能跑,但实际使用时需要看两个条件

硬件性能是不是足够比如内存、主频

系统本身的支持比如些系统对内核有要求

二、判断能否跑系统的关键点

只要你的STM32满足这些条件,基本都能运行RTOS

内核性能足够:

Cortex-M0/M0+,能跑轻量级系统FreeRTOS,但是任务数量受限

Cortex-M3/M4/M7,性能强,可以流畅运行多数的RTOS

主频和内存达标:

主频:建议≥48MHzSTM32F103C8T6主频72MHz

Flash≥32KB(存储系统代码)

RAM≥16KB(运行多任务的最低要求)

外设资源不冲突:

系统本身占用资源比较少,但是需要确保定时器、中断等等这些外设没有被其他功能完全占用。

三、判断方法

1.CubeMX直接验证

打开CubeMX,选择你的单片机型号。在左侧Middleware选项中查看支持的RTOS:如果出现FreeRTOSThreadXAzure RTOS这些选项,说明这个型号是支持跑系统的。勾选后能正常生成代码,就可以运行。如果选项是灰色不可选,就说明资源不足

2.查芯片数据手册

在官网找到对应型号的Datasheet。查看关键参数:

Core(内核):Cortex-M系列都可以

Flash Size≥32KB

SRAM≥16KB

3.对比官方的例程

ST官网提供了大量RTOS例程就像STM32CubeF4中的FreeRTOS例程。如果你的型号在例程列表中,就是100%支持

四、常见的一些误区

1.所有STM32都能跑系统吗?

答:不是比如STM32F030Cortex-M016KB Flash)运行系统以后剩余资源极少,实际开发很困难。建议选择F1、F4、H7系列资源更加的充裕。

2.为什么我的CubeMX没有RTOS选项

可能原因是:芯片型号过旧、FlashRAM过小、没有安装对应软件包通过CubeMX安装FreeRTOS等组件。

五、推荐型号

入门:STM32F103C8T672MHz, 64KB Flash, 20KB RAM

进阶:STM32F407VET6168MHz, 512KB Flash, 192KB RAM

高性能STM32H743VI400MHz, 2MB Flash, 1MB RAM

六、判断步骤

确认芯片内核Cortex-M系列,然后检查FlashRAM大小,用CubeMX验证是不是支持RTOS,参考官方例程

所以不是所有STM32都能跑系统不能跑系统主要看芯片资源是不是足够,开发工具能不能支持。只要满足基础条件,即使低端型号也能跑系统,但资源越多,开发也就会越轻松。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值