在keil4中将FreeRTOS V8.2.3移植到STM32F103RCT6 cortex-M3平台上
2017-01-13 13:07
597 查看
在keil4中将FreeRTOS V8.2.3移植到STM32F103RCT6 cortex-M3平台上
移植环境
STM32固件库V3.5.0FreeRTOS V8.2.3
Keil 4
移植步骤
1、新建STM32工程
先新建一个STM32 的keil 4 工程,按Library 、User、Preject 的文件夹架构设置,
2、下载FreeRTOS的源码
前往FreeRTOS的官网进行下载,目前最新的版本是V8.2.3,下载完了之后进行解压。
3、复制相应的文件到STM32工程目录中
将FreeRTOS的source文件夹放入上面新建的工程目录Library中,并将source 改为FreeRTOS,FreeRTOS\Source\portable\RVDS\ARM_CM3->port.c, .h放入include 在debug中加入该路径
FreeRTOS\Source\portable\MemMang->heap2.c 都加入该文件,
;将FreeRTOSV8.2.3\FreeRTOS\Demo\CORTEX_STM32F103_Keil中的FreeRTOSConfig.h 文件拷贝到STM32工程中User目录下,这个一个必须的头文件。
4、修改中断配置
对比FreeRTOSV8.2.3\FreeRTOS\Demo\CORTEX_STM32F103_Keil中的STM32F10x.s 修改工程文件中的starup_stm32f10x_hd.s 启动文件,具体如下:Heap_Size EQU 0x00000200 AREA HEAP, NOINIT, READWRITE, ALIGN=3 __heap_base Heap_Mem SPACE Heap_Size __heap_limit PRESERVE8 THUMB
改为:
Heap_Size EQU 0x00000200
AREA HEAP, NOINIT, READWRITE, ALIGN=3 __heap_base Heap_Mem SPACE Heap_Size __heap_limit IMPORT xPortPendSVHandler IMPORT xPortSysTickHandler IMPORT vPortSVCHandler PRESERVE8 THUMB
对应后面的中断入口地址需要更改:
DCD vPortSVCHandler ; SVC_Handler ; SVCall Handler ... DCD xPortPendSVHandler ; PendSV_Handler ; PendSV Handler DCD xPortSysTickHandler ; SysTick_Handler
上面这个是配置的一种方法,另一种方法是增加三个宏定义:
在FreeRTOSConfig.h中 添加,
/* Definitions that map the FreeRTOS port interrupt handlers to their CMSIS standard names. */ #define vPortSVCHandler SVC_Handler #define xPortPendSVHandler PendSV_Handler #define xPortSysTickHandler SysTick_Handler
5、将相应的文件添加到keil 4 工程中
在keil中添加Group并重命名,将各个文件添加进来,并在keil中设置好头文件的路径。 截图如下:
还要记得在配置中加上头文件的路径,之后就可进行编译了。
相关文章推荐
- 在keil4中将FreeRTOS V8.2.3移植到STM32F103RCT6 cortex-M3平台上
- 移植uCOS-II到Cortex-M3平台 (补遗)
- 移植uCOS-II到Cortex-M3平台 (补遗)
- Enea推出适用于ARM Cortex-M3的实时操作系统OSE Epsilon RTOS
- FreeRTOS系列第5篇---FreeRTOS在Cortex-M3上的移植
- FreeRTOS系列第5篇---FreeRTOS在Cortex-M3上的移植
- Freescale i.MX 6Q平台移植Android MNC
- 基于MDK平台 cortex-M3 shell 的实现
- Keil4 Ulink2调试Cortex-M3 LPC1788的配置
- 移植编译bcm sdk6.4.8 过程-平台arm-linux cortex-a9双核,系xilinx soc
- 一次内存错误调试总结(平台Cortex-M3)
- Freescale i.MX 6Q平台移植Android MNC
- uC/GUI 在Cortex-M3 内核上的移植
- RTOS Thread stack and MSP/PSP registers in ARM Cortex-M3
- Tracealyzer for FreeRTOS(FreeRTOS+Trace) 详解(源码解析+移植)
- 一次内存错误调试总结(平台Cortex-M3)
- FreeRTOS之Tracealyzer for FreeRTOS(FreeRTOS+Trace) 详解(源码解析+移植)
- AES加解密效率测试(纯软件AES128/256)--以嵌入式Cortex-M0与M3 平台为例
- FreeRTOS移植到Cortex-M3-M4
- cortex_m3_stm32嵌入式学习笔记(十三):USMART调试组件移植(调试神器)