为避免麻烦:
如下建议:
写入的每个数据的类型最好强制转换为32位数据
写入的参数的起始地址需要是某一页的起始地址,第二个参数的地址应该+4,这样直接指向下一个字,这样按字写入不易出错,也容易理解
例如首地址为0x0800AC00,第第131155页首地址,下个数据的地址为0x0800AC04
—————————————————————分割线——————————————————
IAP编程
BLOCK0: FLASH即为ROM,类似硬盘可掉电存储
BLOCK1: SRAM为随机存储器,类似电脑内存条掉电不保存
BLOCK0: FLASH即为ROM,
地址范围:0x08000000 + 64K = 0X08000000+65536(字节)= 0x08010000
BLOCK1: SRAM为随机存储器,
地址范围:0x20000000 + 20K = 0X08000000+20481(字节)= 0x08005000
我们通过 MDK 自带的格式转换工具 fromelf.exe,来实现.axf 文件到.bin 文件的转换。该工具在 MDK 的安装目录\ARM\ARMCC\BIN 文件夹里面。
fromelf.exe 转换工具的语法格式为:fromelf [options] input_file。其中 options 有很多选项可 以设置。
我们通过在 MDK 点击 Options for Target→User 选项卡,在 After Build/Rebuild 栏, 勾选 Run #1,并写入:fromelf --bin --output "$L@L.bin" "#L",如图:
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.youkuaiyun.com/Damon_Sandy/article/details/130224183