将野火例程里的FreeRTOS文件夹直接复制粘贴到我们自己的文件夹
打开FreeRTOS文件夹里的MemMang文件夹,保留heap_4.c其余的删除
打开FreeRTOS文件夹里的RVDS文件夹,保留ARM_CM4F文件夹其余的删除
打开正点原子的悟空飞控源码,找到FreeRTOSConfig.h放到我们工程的USER文件夹里
返回keil5新建两个工程文件夹
添加文件
添加头文件路径
打开FreeRTOSConfig.h注释圈出部分
在main.c最下面添加如下代码,暂时用不到,后面方便使用
void vApplicationIdleHook( void )
{
// static unint32 tickWatchdogReset = 0;
// portTickType tickCount = getSysTickCnt();
// if (tickCount - tickWatchdogReset > WATCHDOG_RESET_MS)
// {
// tickWatchdogReset = tickCount;
// watchdogReset();
// }
// __WFI(); /*进入低功耗模式*/
}
void vApplicationMallocFailedHook( void )
{
// portDISABLE_INTERRUPTS();
printf("\nMalloc failed!\n");
ledSet(ERR_LED1, 1); /*错误检测*/
ledSet(ERR_LED2, 1);
// while(1);
}
#if (configCHECK_FOR_STACK_OVERFLOW == 1)
void vApplicationStackOverflowHook(xTaskHandle *pxTask, signed portCHAR *pcTaskName)
{
// portDISABLE_INTERRUPTS();
// printf("\nStack overflow!\n");
// while(1);
}
#endif
找 __NVIC_PRIO_BITS
发现定为4U , 去掉U改成4就可以了
注释掉以下函数
添加头文件
/* FreeRTOS头文件 */
#include "FreeRTOS.h"
#include "task.h"
编译成功就可以食用了~