记一次FreeRTOS移植到STM32f103遇到的问题

问题:移植FreeRTOS源码后写了简单的程序验证,使用keil软件仿真发现程序一直卡在开启任务调度函数vTaskStartScheduler()中。

解决:

在FreeRTOSConfig.h文件中加入以下代码

#define vPortSVCHandler SVC_Handler
#define xPortPendSVHandler PendSV_Handler
#define xPortSysTickHandler SysTick_Handler

②在STM32启动文件startup_stm32f103xe.s中修改代码:

记一次FreeRTOS移植到STM32f103遇到的问题_第1张图片

 ③注释掉stm32f1xx_it.c中的SVC_Handler、PendSV_Handler、SysTick_Handler三个函数,如下:

记一次FreeRTOS移植到STM32f103遇到的问题_第2张图片

 再次软件仿真代码,正常运行

参考文章:https://blog.csdn.net/jf_52001760/article/details/121726691?spm=1001.2014.3001.5506

你可能感兴趣的:(stm32,单片机)