We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello,
I have same problem using Keil uVision 5.24.2.0 as www.keil.com/.../
Simply fromelf tool produce folder instead of file. This is structure of generated output:
[UMC2_A-Test-Debug.bin] - sub folder in project folder +-- ER_IROM0 - file +-- ER$$.ARM.__AT_0x10006000 - next file
My "user command" is here:
$K\ARM\ARMCC\bin\fromelf.exe --bin --output=@L.bin !L
"Build Output" after calling:
After Build - User command #1: D:\Keil_v5\\ARM\ARMCC\bin\fromelf.exe --bin --output=UMC2_A-Test-Debug.bin .\DEBUG\Objects\UMC2_A-Test-Debug.axf
And finally, my scatter file:
; Some comment LR_IMEM0 0x00000000 0x00040000 { ; load region size_region ER_IROM0 0x00000000 0x00040000 { ; load address = execution address *.o ( RESET , +FIRST) *(InRoot$$Sections) .ANY (+RO) } ; Some comment RW_IRAM0 0x02000000 0x00002000 { .ANY (+RW +ZI) } ; Some comment ZERO 0x02002000 UNINIT 0x00002000 { .ANY (+RW +ZI) } ; Some comment NOINIT 0x02004000 UNINIT 0x00005000 { .ANY (+RW) } }
Where is a problem? How it solve?
Thanks.
>>Where is a problem? How it solve?
You have multiple LOAD REGIONS and they are separated by 256MB of VOID
Figure out where you have non-sense generating 0x10006000 code, and stop doing that.
Alternatively generate a .HEX file, and then pull out the 0x00000000..0x0003FFFF region into a .BIN
The .HEX format is trivial, .ELF/AXF is a bit more complex, but not terribly so.
Look at options in FromELF to limit specific region output. Check documentation, not a tool I use frequently.
Ouu, Yes.
Problem was one variable (array), directly located at 0x10006000.
Many thanks for kick me to right direction!
Have a nice day.