本人参照文档AN0025_FreeRTOS_on_AT32_MCU_ZH_V1.0.0第二章在AT32上移植FreeRTOS的方法移植FreeRTOS。main.c部分参照官方例程Debug_FreeRTOS。
说明一下官方例程有点问题。在debug_task中通过AT32_BUTTON_Press判断是否打印调试信息。可是在AT32_BUTTON_Press函数中调用Delay_ms(10);会影响SysTick造成FreeRTOS一直运行prvCheckTasksWaitingTermination。因此将AT32_BUTTON_Press换为AT32_BUTTON_State(BUTTON_WAKEUP) == Bit_SET。
编译下载后效果如下:
FreeRTOS.zip
(4.27 MB)
AN0025_FreeRTOS_on_AT32_MCU_ZH_V1.0.0.pdf
(2.51 MB)
|