工作环境为IAR 8.30.1+STM32F407ZET6,
在使用某原keil例程时出现如图诸多错误:
解决方法:从标准库路径\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\iar下找到以下文件:
复制startup_stm32f40_41xxx.s文件替换工程中原有startup文件。
随后,仍然存在另一些问题:
解决方案:
将原代码中
__asm void MSR_MSP(u32 addr)
{
MSR MSP, r0 //set Main Stack value
BX r14
}
诸多这样的汇编代码改写为:
void MSR_MSP(u32 addr)
{
asm("MSR MSP, r0") ; //set Main Stack value
asm("BX r14");
}
问题解决~
再次编译,最后两个问题:
参考解决方案:
在usart.c中重新定义typedef struct __FILE FILE;
无报错了~