Skip to content

Instantly share code, notes, and snippets.

@tangrs
Last active April 15, 2024 02:34
Show Gist options
  • Star 25 You must be signed in to star a gist
  • Fork 10 You must be signed in to fork a gist
  • Save tangrs/4030336 to your computer and use it in GitHub Desktop.
Save tangrs/4030336 to your computer and use it in GitHub Desktop.
Convert a memory dump/raw binary image into an ELF file
#!/bin/sh
# Convert a raw binary image into an ELF file suitable for loading into a disassembler
cat > raw$$.ld <<EOF
SECTIONS
{
EOF
echo " . = $3;" >> raw$$.ld
cat >> raw$$.ld <<EOF
.text : { *(.text) }
}
EOF
CROSS_PREFIX=arm-none-eabi-
${CROSS_PREFIX}ld -b binary -r -o raw$$.elf $1
${CROSS_PREFIX}objcopy --rename-section .data=.text \
--set-section-flags .data=alloc,code,load raw$$.elf
${CROSS_PREFIX}ld raw$$.elf -T raw$$.ld -o $2
${CROSS_PREFIX}strip -s $2
rm -rf raw$$.elf raw$$.ld
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment