添加FreeRTOS源码
所需的源码路径如下:
FreeRTOSConfig.h配置文件修改
- 修改条件编译宏

/* Ensure stdint is only used by the compiler, and not the assembler. */
#if defined(__ICCARM__)||defined(__CC_ARM)||defined(__GNUC__)
#include <stdint.h>
extern uint32_t SystemCoreClock;
#endif
- 关闭钩子函数(HOOK)
#define configUSE_IDLE_HOOK 0 //1
#define configUSE_TICK_HOOK 0 //1
#define configCHECK_FOR_STACK_OVERFLOW 0 //堆栈溢出检测 vApplicationStackOverflowHook
#define configUSE_MALLOC_FAILED_HOOK 0
- 需要将
stm32f407xx .h(其他系列的芯片找对应的文件)中的 _NVIC_PRIO_BIT 4U改为4

修改SYSTEM文件
直接移植正点原子的FreeRTOS教程对应的SYSTEM文件夹,不过要进行适当修改
修改中断相关文件
STM32在stm32f4xx_it.c和FreeRTOS的port.c提供相同了SVC_Handler(),PendSV_Handler(),SysTick_Handler,三个中断服务函数。因此需要屏蔽对应的中断服务函数:
- 直接在
stm32f4xx_it.c中屏蔽对应的函数; - 可在FreeRTOSConfig.h中注释掉对应的宏定义。
471

被折叠的 条评论
为什么被折叠?



