1. 环境准备与FreeRTOS移植
在STM32标准库环境下使用FreeRTOS,首先需要完成移植工作。我刚开始接触FreeRTOS时,最头疼的就是移植过程,总会出现各种编译错误。后来发现只要按照固定步骤操作,其实并不复杂。
1.1 获取源码与工程准备
首先到FreeRTOS官网下载最新稳定版本源码。建议选择LTS(长期支持)版本,比如V10.4.3,稳定性更有保障。下载完成后解压到英文路径的文件夹,避免中文路径可能带来的问题。
接下来找一个简单的STM32标准库基础工程作为移植基础。我通常使用LED闪烁这种最简示例,江科大的OLED示例工程就是个不错的起点。在工程目录下新建一个名为"FreeRTOS"的文件夹,然后在这个文件夹内再创建三个子文件夹:inc用于存放头文件,port用于放置与处理器相关的移植文件,src存放核心源文件。
1.2 文件拷贝与工程配置
从下载的FreeRTOS源码中,我们需要拷贝几个关键文件。进入FreeRTOS/Source目录,将以下.c文件复制到工程的src文件夹:tasks.c、queue.c、list.c、timers.c、event_groups.c、stream_buffer.c、croutine.c。这些是FreeRTOS的核心实现文件。
接下来处理移植层文件。进入FreeRTOS/Source/portable目录,找到MemMang文件夹和RVDS/ARM_CM3(或ARM_CM4,根据你的STM32芯片内核选择)。将这两个文件夹完整复制到工程的port目录中。MemMang包含了内存管理方案,ARM_CM3则是针对Cortex-M3内核的特定实现。
头文件部分,将FreeRTOS/Source/include下的所有头文件复制到工程的inc文件夹。还需要从FreeRTOS/Demo目录中找到适合你芯片的示例,拷贝其中的FreeRTOSConfig.h配置文件到inc文件夹。这个文件非常重要,它决定了FreeRTOS的各项参数和功能开关。
1.3 集成到开发环境
打开Keil MDK工程,我们需要进行一些配置。首先在项目管理器中添加三个分组


3055

被折叠的 条评论
为什么被折叠?



