用keil自带的fromelf.exe转bin,设置了偏移地址后产生的问题
参考了网友的方法:https://www.amobbs.com/forum.php?mod=viewthread&tid=5680694&highlight=hex%E8%BD%ACbin用命令fromelf.exe --bincombined --bincombined_base=0x00003000 -o "$L@L.bin" "#L"。
执行命令后,输出信息如下:
Build target 'FLASH'
linking...
Program Size: Code=17440 RO-data=380 RW-data=276 ZI-data=9412
FromELF: creating hex file...
User command #1: fromelf.exe --bincombined --bincombined_base=0x00003000 -o "D:\lpc1752main\GPIO\FLASH\GPIO.bin" "D:\lpc1752main\GPIO\FLASH\GPIO.axf"
"D:\lpc1752main\GPIO\FLASH\GPIO.axf": Error: Q0471E: Base address 0x00003000 is above start address 0x000002fc of load region #0
Finished: 0 information, 0 warning and 1 error messages.
".\FLASH\GPIO.axf" - 0 Error(s), 0 Warning(s).
找到了文件startup_LPC17xx.s。把红框内容注释了就可以了。注释掉有什么风险?不注释直接+0x3000是否正确做法?
如果不使用crp,可以注释吧 CRP 加密用的,可以不管 levy 发表于 2019-12-26 11:40
CRP 加密用的,可以不管
直接+0x3000也可以通过。但下次修改偏移地址时记得同步修改才行。
AREA |.ARM.__at_0x32FC|, CODE, READONLY
页:
[1]