当前位置: 首页 > news >正文

1、使用STM32CubeMX在项目中添加FreeRTOS源码

目录

1、相信你已经下载好了STM32CubeMX软件

2、在STM32CubeMX中下载FreeRTOS支持包

3、在项目中添加FreeRTOS系统

4、进行Project Manager设置

5、修改系统时钟源

6、生成FreeRTOS项目代码

如果这篇文章能帮助到你,请点个赞鼓励一下吧ξ( ✿>◡❛)~


1、相信你已经下载好了STM32CubeMX软件

2、在STM32CubeMX中下载FreeRTOS支持包

打开Help —— Manage embedded Software Packages Manager

点击STMicroelectronics——X-CUBE_FREERTOS,在里面勾选合适FreeRTOS的版本,安装

3、在项目中添加FreeRTOS系统

        Interface的选项栏中有两个选项,CMSIS_V1和CMSIS_V2。

        CMSIS_V1基于CMSIS-ROTS v1,是低版本,体积更小,适合硬件资源有限的应用场景,仅支持静态对象创建,提供基础功能(任务、信号量、队列等),可以部署在Cortex-M0/M3/M4等ARM核心。

        CMSIS_V2基于CMSIS-ROTS v2,可以看作是V1的升级版本,支持动态对象创建,在运行时分配内存,它的函数命名也更统一,扩展支持Cortex-M0+/M7/A5/A7/A9等ARM核心。

        下表是两者的联系和区别:

特性

CMSIS_V1

CMSIS_V2

标准版本

基于 CMSIS-RTOS v1

基于 CMSIS-RTOS v2(现称 CMSIS-RTOS2)

功能扩展

提供基础功能(任务、信号量、队列等)

新增高级功能(动态内存分配、内存池、事件标志组等)

对象创建方式

仅支持静态对象创建(需预分配内存)

支持动态对象创建(运行时分配内存)

API 设计

函数命名风格较分散(如 osSignalSetosMutexWait

API 命名更统一(如 osEventFlagsSetosSemaphoreAcquire

处理器架构支持

仅支持 Cortex-M0/M3/M4 等

扩展支持 Cortex-M0+/M7/A5/A7/A9 等

多实例支持

仅支持单个 RTOS 实例

支持多个 RTOS 实例

兼容性

向下兼容 FreeRTOS 基础功能

向前兼容 CMSIS-RTOS v1 的部分 API(需额外适配)

4、进行Project Manager设置

其中:

        STM32CubeMX中的这个选项可以减小生成代码的体积,只配置使用到的库文件到项目中去

        STM32CubeMX中的这个选项可以显示.c文件关联到的.h文件中,帮助我们更加直观的了解项目文件构成。

5、修改系统时钟源

        将系统时基时钟源由SysTick(系统滴答)切换为TIMx(通用定时器),这样做有多种原因:

        1、因为FreeRTOS支持多种硬件平台,SysTick并非所有平台的标准配置,使用通用定时器可以保持良好的跨平台兼容性;
        2、SysTick可能被其他系统内核功能占用,FreeRTOS使用SysTick的过程中,有可能导致冲突和调试问题;

        3、FreeRTOS早些版本没有要求使用SysTick,为了向下兼容,高版本保留了这一约定。

6、生成FreeRTOS项目代码

相关文章:

  • 9. TypeScript 泛型
  • 【CiteSpace】引文可视化分析软件CiteSpace下载与安装
  • FPGA基础 -- Verilog 锁存器简介
  • 模拟/思维
  • 新发布的一款使用ReactNative新架构加载Svga动画的开源插件[android/ios]
  • RA信号处理
  • 生成https免费证书并绑定到nginx
  • 嵌入式之硬件学习(三)通信方式、串口通信
  • RK3568笔记八十四:rtmp转rtmp直播流测试
  • 亚矩阵云手机+Whatnot:直播电商的自动化增长引擎
  • iOS多端兼容性调试:一次iOS性能优化分工具协作排查过程
  • 上线iOSApp前抓包工具协作保障接口行为一致性(iOS抓包)
  • spring-webmvc @InitBinder 典型用法
  • 《前端面试题:数组操作》
  • PID控制电机
  • springboot入门之路(二)
  • 技术赋能教师专业发展:从理论到实践的深度剖析
  • createInnerAudioContext播放不完整?
  • 榕壹云外卖跑腿系统:基于Spring Boot的开源生活服务平台技术解析
  • STM32 GPIO 寄存器开发
  • 网站项目书范文/怎么做市场营销和推广
  • 网站基本信息设置/广州网络推广选择
  • 做盗版影视网站违法吗/福建百度推广开户
  • 无锡做网站 选众诺/优化seo搜索
  • 广州正规网站建设公司/新闻源软文推广平台
  • 钓鱼博彩网站怎么做/合肥360seo排名