将野火例程里的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"

编译成功就可以食用了~

1928

被折叠的 条评论
为什么被折叠?



