FreeRTOS之系统移植

自由实时操作系统(FreeRTOS)是一款开源的、基于实时多任务处理的嵌入式操作系统,专为微控制器和嵌入式系统设计。其灵活性、可移植性和可靠性使得它成为许多嵌入式系统工程师的首选。FreeRTOS的核心理念是提供一个轻量级、可裁剪的实时内核,以满足不同应用场景的需求。

FreeRTOS系统移植步骤

RT-Thread系统移植分为三个主要步骤:配置文件调整、内核代码适配、端口代码移植。在这个过程中,需要优化系统以适应新的硬件平台:

配置文件调整:

调整配置文件以适应新硬件,配置文件主要是用于配置FreeRTOS。

内核代码适配:

内核代码是整个系统的核心,包括:任务管理、内存管理、事件等等

端口代码移植:

端口代码一般是用于适配具体的内核,从而使系统正常工作。

FreeRTOS系统获取

源码获取:FreeRTOS源码获取

建立自己的FreeRTOS文件夹,包括:config、core、port、component四个类别。其中config存放配置文件、core存放内核文件、port存放端口文件、component存放组件。

FreeRTOS文件结构

FreeRTOS系统文件

内核文件

头文件

FreeRTOS 内核头文件

源文件

FreeRTOS 内核源文件

端口文件

FreeRTOS 端口文件

配置文件

FreeRTOS 配置文件

FreeRTOS系统移植示例

采用STM32F103CBT6芯片用于工程示例,简单介绍一下需要修改的地方。

添加文件到keil工程

添加文件到keil工程

修改启动文件

修改前

修改后

静态任务创建配置

static StackType_t IdleTaskStack[configMINIMAL_STACK_SIZE];
static StaticTask_t IdleTaskTCB;

void vApplicationGetIdleTaskMemory(StaticTask_t **ppxIdleTaskTCBBuffer,
								   StackType_t **ppxIdleTaskStackBuffer,
								   uint32_t *pulIdleTaskStackSize)
{
	*ppxIdleTaskTCBBuffer = &IdleTaskTCB;
	*ppxIdleTaskStackBuffer = IdleTaskStack;
	*pulIdleTaskStackSize = configMINIMAL_STACK_SIZE;
}

代码仓库:lq950823/keil_sdk

成长语录:送给自己、送给老婆、送给家人、送给陌生人

生命中最重要的决定不是你遇到什么,而是你如何回应。选择积极、选择成长。

posted @ 2024-01-29 13:50  阿风小子  阅读(257)  评论(0编辑  收藏  举报