FreeRTOS在STM32上移植--详尽篇

参照http://blog.csdn.net/xukai871105/article/details/13156977,成功移植,在此感谢“物联网IoT”的经验分享。

第一步:打开生成的IAR程序模块

FreeRTOS在STM32上移植--详尽篇_第1张图片


第二步:添加如下文件内容(选择工程--右键添加Group)

FreeRTOS在STM32上移植--详尽篇_第2张图片


第三步:main函数文件中添加FreeRTOS的相应头文件

#include "FreeRTOS.h" 
#include "task.h"
#include "queue.h"


#include "semphr.h"//二进制信号量  用到哪个模块需要添加哪个模块的头文件哦!


第四步:配置IAR包含头文件的相对地址(C和汇编两个都需要)


FreeRTOS在STM32上移植--详尽篇_第3张图片

FreeRTOS在STM32上移植--详尽篇_第4张图片


第五步:STM32启动文件更改

startup_stm32l053xx.s文件下

1、新增如下代码(;BOBO为新增)

FreeRTOS在STM32上移植--详尽篇_第5张图片


2、同时对应三处做如下更改

FreeRTOS在STM32上移植--详尽篇_第6张图片


3、将FreeRTOSConfig的以下三个变量屏蔽,因为在STM32中已经定义

FreeRTOS在STM32上移植--详尽篇_第7张图片


4、更改FreeRTOSConfig的RAM配置

//#define configTOTAL_HEAP_SIZE             ((size_t)(15 * 1024))//因为stm32l053r8t6仅有4kram,此处更改如下
#define configTOTAL_HEAP_SIZE             ((size_t)(4 * 1024))


这样整个移植过程就成功啦!暂时不深究其中更改原因,先感性认识,后理性分析,这样总归自然一些!

祝大家学习快乐!

你可能感兴趣的:(FreeRTOS)