ARM Cortex M0-4 machine code generator
WORK IN PROGRESS
-
Run the
debug.shto start OpenOCD and connect to the board -
Start gdb (
arm-none-eabi-gdb)- Issue command
target extended-remote localhost:3333or short versiontar ext :3333
- Issue command
-
Run the
debug.shto start OpenOCD and connect to the board -
Telnet
telnet localhost 4444-
load binary code into memory with command:
load_image filename addressFor example:load_image out.bin 0x20000000 -
Disassemble loaded code
arm disassemble address number-of-instructionsExample:> arm disassemble 0x20000000 10 0x20000000 0x20ff MOVS r0, #0xff 0x20000002 0x21de MOVS r1, #0xde 0x20000004 0x22ad MOVS r2, #0xad 0x20000006 0x230f MOVS r3, #0x0f 0x20000008 0x24f0 MOVS r4, #0xf0 0x2000000a 0x25ab MOVS r5, #0xab 0x2000000c 0x26dc MOVS r6, #0xdc 0x2000000e 0x2712 MOVS r7, #0x12 0x20000010 0x2043 MOVS r0, #0x43 0x20000012 0x2199 MOVS r1, #0x99 -
Display registers contents:
reg -
Set register contents:
reg name valueExample:reg pc 0x20000000 -
Set breakpoint
bp address lengthExample:bp 0x20000012 2 -
Run:
resume -
Step through code:
step
-
- View binary file contents as HEX values:
xxd filename - View binary file contents as BIN values:
xxd -b filename
- Byte ordering for 32bit thumb
- Generation of elf header and sections.