Well, I tried
const unsigned char binary_image[] =
{
0x00, 0x50, 0x00, 0x20, 0xa5, 0xc9, 0x00, 0x08, 0x2d, 0xca, 0x00, 0x08, 0x39, 0xca, 0x00, 0x08,
0x41, 0xca, 0x00, 0x08, 0x49, 0xca, 0x00, 0x08, 0x51, 0xca, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
:
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
And the binary_image does seem to end up in the .rodata section - which does seem to be ROM:
Memory Configuration
Name Origin Length Attributes
ROM_MAP 0x00220000 0x00800000 xr
RAM_MAP 0x180c0000 0x00800000 !xr
*default* 0x00000000 0xffffffff
Linker script and memory map
.oat_header 0x00220000 0x62
mos_header.o(.rodata*)
.rodata 0x00220000 0x60 mos_header.o
0x00220000 mos_BinHeader
.rodata.str1.4
0x00220060 0x2 mos_header.o
0x4 (size before relaxing)
.text 0x00220064 0x31880
0x00220064 PROVIDE (Image$$RO$$Base, .)
*(.text)
.text 0x00220064 0x84 mos_header.o
:
:
.text 0x0023e780 0xfc /cygdrive/c/OpenAT/OAS201/IDE/GCC/4.0.1.1/bin/../lib/gcc/arm-elf/4.0.1/thumb/interwork/libgcc.a(_fpcmp_parts_df.o)
0x0023e7b0 __fpcmp_parts_d
*(.rodata*)
.rodata 0x0023e87c 0xbe68 binary_image.o
0x0023e87c binary_image
Sorry to sound vague, but I’m not very familiar with these GCC mapfiles - can you recommend the best place to find out about them 