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 @   阿风小子  阅读(347)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2023-01-29 USB摄像头驱动实现源码分析
2023-01-29 USB驱动开发学习(键盘+鼠标)
2023-01-29 usb驱动开发19——驱动生命线
2023-01-29 Linux串口编程
2023-01-29 嵌入式Linux USB驱动开发之教你一步步编写USB驱动程序
2023-01-29 yolov5训练前准备工作(采样、制作数据集、数据集增强、数据集预处理)
2023-01-29 手把手教你调参 YOLO v6(train.py)
点击右上角即可分享
微信分享提示