FreeRTOS 手把手移植

FreeRTOS 手把手移植

 建议直接从ST官网上下载开发包,然后根据需要将旧版本FreeRTOS 进行升级。这样的话,基本上就是直接替换。非常高效省时。

Freertos官网:http://www.freertos.org/

 Freertos官网右边栏,点击下载,即为最新版。

 

 

下载双击exe,解压后下图中 就是源码了,

 

   在源码文件夹中“..\FreeRTOSv9.0.0\FreeRTOS\Demo\CORTEX_STM32F103_Keil”这个路径下,找到文件“FreeRTOSConfig.h”,拷贝到工程文件夹“FreeRTOS”中,或直接对比修改替换旧版本的。

使用的是FreeRTOS这个文件夹下的文件。

 

在源码文件夹中“..\FreeRTOSv9.0.0\FreeRTOS\Demo\CORTEX_M4F_M0_LPC43xx_Keil\M4”这个路径下,找到文件“FreeRTOSConfig.h”,拷贝到工程文件夹“FreeRTOS”中,

针对cortex-M4的, 上面的FreeRTOSConfig.h是针对M3架构,而我们的芯片是M4架构,使用M3配置也是行的。

 

 

“port.c”文件路径..\FreeRTOS\Source\portable\RVDS\ARM_CM3
      “heap_2.c”文件路径..\FreeRTOS\Source\portable\MemMang
      “list.c”、“queue.c”、“tasks.c”文件路径..\FreeRTOS\Source

全部整理到同一个目录下,这样include头文件时容易配置,不会报错

 

 

备注:

\FreeRTOSv9.0.0\FreeRTOS\Source\portable\RVDS\ARM_CM4F目录,是针对Cortex-M4  FPU功能的。

\FreeRTOSv9.0.0\FreeRTOS\Source\portable\RVDS\ARM_CM4_MPU目录,是针对Cortex-M4  MPU功能的。

 

工程,添加文件

 

添加头文件路径,由于都整合到一起,包含一个include即可

 

 

 

 

 

 注意事项,下面说明的主要是针对完全裸代码移植需要操作的步骤。

 

修改相关文件及参数

将FreeRTOSConfig.h的头文件#include "LPC43xx.h",替换为#include "stm32f4xx.h"

将stm32f4xx_it.c文件内的三个函数注释掉,FreeRTOS本身已经定义过。

 

下面三个函数也就不用屏蔽了。

void SVC_Handler(void)

{

}

 

void PendSV_Handler(void)

{

}

 

void SysTick_Handler(void)

{

 

}

修改FreeRTOSConfig.h里的相关功能开关

configUSE_IDLE_HOOK、configUSE_TICK_HOOK、configCHECK_FOR_STACK_OVERFLOW、configUSE_MALLOC_FAILED_HOOK 四个宏定义都设置为0,如有需要,自行定义函数并开启

修改freertos的cpu时钟

#define configCPU_CLOCK_HZ (168000000UL )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值