MCU是N32G455VE,bootloader地址是
0x08000000-0x0800FFFF
bootloader的软件版本定义在0x0800FFE0
const char bootVer[16] @0x0800FFE0 = "boot:V1.00";
编译发现版本号没有编译进bin文件,经排查,原因是bootVer未使用,被编译器优化,编译器是IAR。在main中加入下面代码,编译后在bin文件的 0x0800FFE0 地址处看到软件版本号。
const char *temp = bootVer;

文章讲述了在使用N32G455VEMCU时,bootloader的软件版本在编译过程中由于未被使用而被IAR编译器优化掉,通过在main函数中添加指向bootVer的临时变量解决了这个问题,确保了版本号被正确地包含在bin文件中。
2万+

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



