1、STM32用IAR调试出现Error[Pe020]: identifier "FILE" is undefined 解决方法
需要在 IAR的Options -> General Options ->Library Configuration里设置一下函数库,不然printf函数不对,将Library Configuration 中的Library 设置由"Normal"改为"Full"就可以了。
2、问题:
Error[Pe734]: function "fputc(int, std::__FILE *)" conflicts with using-declaration of function "__nounwind std::fputc(int, std::__FILE *)"
解决:
3、问题:
解决:
4、问题:
Error[2]: Failed to open #include file 'FreeRTOSConfig.h' portasm.s /Fly/FreeRTOS/include 第 75 行 C/C++ Problem
解决:
5、问题:
描述 资源 路径 位置 类型
Error[Pe513]: a value of type "void *" cannot be assigned to an entity of type "A_BLOCK_LINK *" heap_4.c /Fly/FreeRTOS/portable/MemMang 第 285 行 C/C++ Problem
解决:
6、问题:
解决:
将portable里的三个文件放到include里
如果出现比较多的重复定义(dupilicity definition)的话,看看控制台的输出信息,它会告诉你是哪个文件重复,然后从文件树中移除那些重复的就行。
7、问题:
解决:
网上对此问题的相关解释:
当FreeRTOSConfig.h中configCHECK_FOR_STACK_OVERFLOW配置为大于0时会用到vApplicationStackOverflowHook();这个Freertos并没有写好,需要自己写,我这里就定义一个什么也不做的函数,你可以根据自己的情况来定义这个函数。
void vApplicationSackOverflowHook( xTaskHandle *pxTask, signed char *pcTaskName )
{
}
因此在tasks.c中添加代码如下图:
在调试STM32项目时,使用IAR编译器可能会遇到各种错误,例如Error[Pe020]关于“FILE”未定义的问题,需要在Library Configuration中将库设置为“Full”。另外,还会遇到Error[Pe734]关于函数冲突的提示,以及Error[2]打开包含文件失败和Error[Pe513]类型不匹配的问题。解决这些问题可能涉及修改库配置、调整文件位置、解决重复定义以及处理堆栈溢出错误。对于堆栈溢出,需要自定义vApplicationStackOverflowHook()函数。

371

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



