由于FreeRTOS里中断优先级时从5开始的,如果原来已经设置过串口、ADC、定时器等,则这里还要修改这些中断优先级
生成工程后,编译发现一堆未定义报错
linking...STM32F412STM32F412.axf: Error: L6218E: Undefined symbol eTaskGetState (referred from cmsis_os2.o).STM32F412STM32F412.axf: Error: L6218E: Undefined symbol uxTaskGetStackHighWaterMark (referred from cmsis_os2.o).STM32F412STM32F412.axf: Error: L6218E: Undefined symbol uxTaskGetSystemState (referred from cmsis_os2.o).STM32F412STM32F412.axf: Error: L6218E: Undefined symbol vTaskDelayUntil (referred from cmsis_os2.o).STM32F412STM32F412.axf: Error: L6218E: Undefined symbol xQueueGetMutexHolder (referred from cmsis_os2.o).STM32F412STM32F412.axf: Error: L6218E: Undefined symbol xTimerPendFunctionCallFromISR (referred from cmsis_os2.o).
再生成工程,编译就应该没问题了
不过我的是已经写过其他功能的工程添加FreeRTOS,所以我这边还有另一个报错
../Src/main.c(1171): error: #247: function "HAL_TIM_PeriodElapsedCallback" has already been defined
由于FreeRTOS里中断优先级时从5开始的,如果原来已经设置过串口、ADC、定时器等,则这里还要修改这些中断优先级
生成工程后,编译发现一堆未定义报错
linking...STM32F412STM32F412.axf: Error: L6218E: Undefined symbol eTaskGetState (referred from cmsis_os2.o).STM32F412STM32F412.axf: Error: L6218E: Undefined symbol uxTaskGetStackHighWaterMark (referred from cmsis_os2.o).STM32F412STM32F412.axf: Error: L6218E: Undefined symbol uxTaskGetSystemState (referred from cmsis_os2.o).STM32F412STM32F412.axf: Error: L6218E: Undefined symbol vTaskDelayUntil (referred from cmsis_os2.o).STM32F412STM32F412.axf: Error: L6218E: Undefined symbol xQueueGetMutexHolder (referred from cmsis_os2.o).STM32F412STM32F412.axf: Error: L6218E: Undefined symbol xTimerPendFunctionCallFromISR (referred from cmsis_os2.o).
再生成工程,编译就应该没问题了
不过我的是已经写过其他功能的工程添加FreeRTOS,所以我这边还有另一个报错
../Src/main.c(1171): error: #247: function "HAL_TIM_PeriodElapsedCallback" has already been defined