Edesigner. 发表于 2019-12-26 11:23:41

用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是否正确做法?

myxiaonia 发表于 2019-12-26 11:33:42

如果不使用crp,可以注释吧

levy 发表于 2019-12-26 11:40:31

CRP 加密用的,可以不管

Edesigner. 发表于 2019-12-26 11:52:55

levy 发表于 2019-12-26 11:40
CRP 加密用的,可以不管

直接+0x3000也可以通过。但下次修改偏移地址时记得同步修改才行。
AREA    |.ARM.__at_0x32FC|, CODE, READONLY
页: [1]
查看完整版本: 用keil自带的fromelf.exe转bin,设置了偏移地址后产生的问题