FreeRTOS在STM32上移植--详尽篇
2015-03-02 11:46
633 查看
参照http://blog.csdn.net/xukai871105/article/details/13156977,成功移植,在此感谢“物联网IoT”的经验分享。
第一步:打开生成的IAR程序模块
第二步:添加如下文件内容(选择工程--右键添加Group)
第三步:main函数文件中添加FreeRTOS的相应头文件
#include "FreeRTOS.h"
#include "task.h"
#include "queue.h"
#include "semphr.h"//二进制信号量 用到哪个模块需要添加哪个模块的头文件哦!
第四步:配置IAR包含头文件的相对地址(C和汇编两个都需要)
第五步:STM32启动文件更改
startup_stm32l053xx.s文件下
1、新增如下代码(;BOBO为新增)
2、同时对应三处做如下更改
3、将FreeRTOSConfig的以下三个变量屏蔽,因为在STM32中已经定义
4、更改FreeRTOSConfig的RAM配置
//#define configTOTAL_HEAP_SIZE ((size_t)(15 * 1024))//因为stm32l053r8t6仅有4kram,此处更改如下
#define configTOTAL_HEAP_SIZE ((size_t)(4 * 1024))
这样整个移植过程就成功啦!暂时不深究其中更改原因,先感性认识,后理性分析,这样总归自然一些!
祝大家学习快乐!
第一步:打开生成的IAR程序模块
第二步:添加如下文件内容(选择工程--右键添加Group)
第三步:main函数文件中添加FreeRTOS的相应头文件
#include "FreeRTOS.h"
#include "task.h"
#include "queue.h"
#include "semphr.h"//二进制信号量 用到哪个模块需要添加哪个模块的头文件哦!
第四步:配置IAR包含头文件的相对地址(C和汇编两个都需要)
第五步:STM32启动文件更改
startup_stm32l053xx.s文件下
1、新增如下代码(;BOBO为新增)
2、同时对应三处做如下更改
3、将FreeRTOSConfig的以下三个变量屏蔽,因为在STM32中已经定义
4、更改FreeRTOSConfig的RAM配置
//#define configTOTAL_HEAP_SIZE ((size_t)(15 * 1024))//因为stm32l053r8t6仅有4kram,此处更改如下
#define configTOTAL_HEAP_SIZE ((size_t)(4 * 1024))
这样整个移植过程就成功啦!暂时不深究其中更改原因,先感性认识,后理性分析,这样总归自然一些!
祝大家学习快乐!
相关文章推荐
- STM32移植FreeRTOS的Tips
- STM32硬件IIC 9轴MPU9250传感器DMP库在FreeRTOS上的移植,输出欧拉角
- STM32上移植FreeRTOS
- FreeRTOS移植到STM32
- FreeRTOS 在STM32上的移植 V1.0
- FreeRTOS STM32移植笔记
- stm32移植FreeRTOS——port.c: Internal fault: [0xafc2db:400524]
- STM32中移植FreeRTOS(中断优先级与任务优先级的关系)
- FreeRTOS STM32移植笔记
- FreeRTOS 在STM32上的移植 V1.0
- 关于freertos移植到stm32出错,程序直接跳到HardFault_Handler的问题。
- freeRtos在stm32上的移植
- FreeRTOS STM32移植笔记
- FreeRTOS STM32移植笔记
- 22、FreeRTOS 在 STM32 上的移植
- FreeRTOS移植教程 STM32 -- Cortex M3
- 23、STM32 上系统精确延时与获取 micro 时间函数的实现(FreeRTOS 中也能移植)
- FreeRTOS STM32移植笔记
- FreeRTOS STM32移植笔记