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.