STM32调试问题

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 *)"

STM32调试问题_第1张图片

解决:

STM32调试问题_第2张图片


3、问题:

STM32调试问题_第3张图片

解决:

STM32调试问题_第4张图片


STM32调试问题_第5张图片



4、问题:

Error[2]: Failed to open #include file 'FreeRTOSConfig.h' portasm.s /Fly/FreeRTOS/include 第 75 行 C/C++ Problem

STM32调试问题_第6张图片

解决:

STM32调试问题_第7张图片



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

STM32调试问题_第8张图片


解决:

STM32调试问题_第9张图片


6、问题:

STM32调试问题_第10张图片

解决:

将portable里的三个文件放到include里


如果出现比较多的重复定义(dupilicity definition)的话,看看控制台的输出信息,它会告诉你是哪个文件重复,然后从文件树中移除那些重复的就行。


7、问题:

解决:

网上对此问题的相关解释:

当FreeRTOSConfig.h中configCHECK_FOR_STACK_OVERFLOW配置为大于0时会用到vApplicationStackOverflowHook();这个Freertos并没有写好,需要自己写,我这里就定义一个什么也不做的函数,你可以根据自己的情况来定义这个函数。

void vApplicationSackOverflowHook( xTaskHandle *pxTask, signed char *pcTaskName )
{

}

因此在tasks.c中添加代码如下图:

STM32调试问题_第11张图片


你可能感兴趣的:(硬件编程(STM32))