给stm32f103芯片编写app程序时,通过IAP方式升级,需要生成bin文件,结果遇到以下两种问题:
首先路径设置为如下方式,选择其中1个就行,两种方式都可以:
Run #1路径:C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin -o "[email protected]" "#L"
Run #2路径:fromelf --bin -o "[email protected]" "#L"
1、第一次生成的是一个 .bin的文件夹,里面有两个看不懂的文件。
可能是设置的程序起始地址不对,或者是程序存储空间分配的太小,重新修改 IROM1 配置 和Flash Download start和size配置。
改了之后出现了第二种问题:
2、第二次编译出现错误:
Error: Q0108E: Could not create output file '..\Output\STM32-APP.bin': Permission denied
查了网上的一些资料,最终解决了(不是路径设置的问题),具体什么原因不清楚。
可能是我改动了输出文件名的原因,输出文件名和工程名不一样。
最终解决方法如下:
将工程目录下 output文件夹里(bin文件的输出路径)的所有文件都删除,重新编译后成功。
每次修改输出文件名或程序存储空间配置等,都需要将output文件夹里的文件全部删除,再编译才能成功。
希望对大家有帮助,IAP功能还在继续研究中。