基于stm32标准库移植freeRTOS

第一步 下载freeRTOS源码

下载网址:FreeRTOS™ - FreeRTOS™

选择202210.01 LTS稳定版本,然后download

下载下来以后解压得到FreeRTOS-LTS文件夹

准备一个stm32标准库的工程

打开stm32标准库的工程在里面新建一个freeRTOS的文件夹

在新建的freeRTOS文件夹里再新建3个文件夹inc、src、port

把freeRTOS里面MenMang文件夹下的.heap文件都移到stm32标准工程的port目录下

这些heap文件都是内存管理文件

再找到RVDS文件夹,点进去ARM CM3文件夹,里面的文件也复制到port文件夹中

回到freeRTOS-kernal文件夹下,把选中的文件移到stm32工程的src文件夹下面

把include文件夹下面的文件移到stm32工程的inc文件夹下面

添加配置文件

### STM32上使用标准库移植FreeRTOS #### 准备工作 为了在STM32平台上成功移植并运行FreeRTOS,需先准备好必要的资源。这包括获取适用于目标平台的FreeRTOS版本以及准备开发环境。 - 获取FreeRTOS源码可以通过官方网站下载最新稳定版的数据包[^2]。对于本案例而言,选择的是`FreeRTOS 202212.01`数据包作为移植的基础。 - 开发板的选择依据为【正点原子】战舰STM32F103开发板V4,在其配套资料中已经提供了部分预配置好的FreeRTOS实例供参考[^1]。 #### 移植步骤详解 ##### 创建项目结构 创建一个新的Keil MDK工程,并建立专门用于存放FreeRTOS相关文件的新文件夹命名为`FreeRTOS`。此操作有助于保持项目的整洁有序[^4]。 ```plaintext Project/ ├── FreeRTOS/ │ ├── portable/ │ │ └── GCC/ │ │ └── ARM_CM3/ │ ├── include/ └── src/ ``` ##### 整合FreeRTOS核心组件 将解压后的FreeRTOS压缩包内的`Source`目录下的所有子目录复制到上述新创建的`FreeRTOS`文件夹下;同时保留`portable/GCC/ARM_CM3`这三个特定于编译器和支持架构的重要组成部分,其余无关项可予以移除以简化管理。 ##### 工程设置调整 在MDK环境中新增两个分组——`FreeRTOS_CORE`和`FreeRTOS_PORTABLE`,并将对应的C源文件分别加入其中。此外还需确保已正确设置了这些外部库的头文件搜索路径以便顺利编译。 ##### 自定义配置选项 编辑或新建`FreeRTOSConfig.h`来适配具体应用场景的需求。例如,针对某些硬件特性可能需要自定义中断服务例程名称映射关系,像这样: ```c #define vPortSVCHandler SVC_Handler ``` 这段代码的作用在于重新命名SVC异常处理函数入口名,使之匹配当前使用的工具链约定[^3]。 ##### 测试验证 最后一步是对整个系统的功能性进行全面测试,确认各项任务调度正常运作无误之后即可认为移植过程顺利完成。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值