You can create an ELF file from a binary file with objcopy , for example,
objcopy -I binary -B arm -O elf32-littlearm --rename-section \ .data=.remote.data remote.bin remote.elf
You can then update your linker script as follows:
.remote { REMOTE_CPU_DATA = . ; *(.remote.data); }
Placement wherever you want. Data is accessed with 'C' using extern char REMOTE_CPU_DATA[]; or, nevertheless, you want to enter data. You can massage the endian binary using dd , etc.
Another way is to use the .incbin Gnu Assembler directive in accordance with the Linux firmware firmware file .
I don't know if Keil tools can handle ELF formats using objdump or gas . I think that similar ideas can be applied with Keil tools if they have similar semantics.
Edit: This can also be done from a shell script using some * nix tools,
printf 'char REMOTE_CPU_DATA[] = {' && \ hexdump -v -e '16/1 "0x%x," "\n"' remote.bin && \ printf '};' > remote.c
source share