FreeRTOS(0)移植

1.在文件根目录下创建Freertos文件夹,把源码拷贝

2.在Keil中创建三个文件夹,分别添加.c和.himage-20220416102131291

其中port.c 如果用的编译器version5,从RVDS文件夹添加。如果用的version 6,从GCC添加

头文件只用选3个文件夹image-20220416102442709

3.由于命名冲突,注释掉stm32f4xx_it.c

void SVC_Handler(void)

void PendSV_Handler(void)这两个函数

4.修改systic_Handler函数

1
2
3
4
5
6
7
8
9
10
11
12
13
void SysTick_Handler(void)
{
/* USER CODE BEGIN SysTick_IRQn 0 */

/* USER CODE END SysTick_IRQn 0 */
HAL_IncTick();
/* USER CODE BEGIN SysTick_IRQn 1 */
if(xTaskGetSchedulerState()!=taskSCHEDULER_NOT_STARTED)//如果开启了操作系统,就用系统的SysTick
{
xPortSysTickHandler();
}
/* USER CODE END SysTick_IRQn 1 */
}

并在 stm32f4xx_it.c添加头文件

1
2
#include "FreeRTOS.h"
#include "task.h"