编译器是monriver,代码加进去100多个报错,现在搞好了,主要有几个注意点。
下的是这个202406.01 LTS的版本,然后解压以后文件夹名称是FreeRTOS-LTS
找到 FreeRTOS-LTS/FreeRTOS/FreeRTOS-Kernel 这个文件夹,这里面就是移植需要的大部分代码
这些是要用到的文件,include里的CmakeLists.txt不需要,portable中只需要MemMang/heap_4.c和GCC/ARM_CM3中的两个文件
这时候还缺一个重要文件FreeRTOSConfig.h,这个需要去这里面找https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS/Demo
使用这里面的 FreeRTOSConfig.h 文件
工程里加上这些以后,主程序里添加相关头文件,编两个任务测试一下。
这时候编译还会报错,需要修改config文件,里面的configCHECK_FOR_STACK_OVERFLOW只能设置成0,(1,2都会开启一个函数,但是那个一直找不到参考不知道什么原因,头文件都引入了),顺便改一下时钟,我设置的是144M,所以这边填144000000,最后加上三行定义就好了
#define vPortSVCHandler SVC_Handler #define xPortPendSVHandler PendSV_Handler #define xPortSysTickHandler SysTick_Handler
最后编译就不报错了
串口那边确实能看到两个任务执行