aboutsummaryrefslogtreecommitdiff
path: root/octedit/Makefile
diff options
context:
space:
mode:
authorJacques Comeaux <jacquesrcomeaux@protonmail.com>2024-06-29 10:22:54 -0500
committerJacques Comeaux <jacquesrcomeaux@protonmail.com>2024-06-29 10:22:54 -0500
commit4e018fc5bdd4ff9ee6065a5167fa291404e20576 (patch)
tree60cbff7e80b9f51af8dc16fa04fd32d426611690 /octedit/Makefile
parent0d7ab1ec70914e2945d0f2530f0999ecea8828fd (diff)
Create UF2 header in Makefile
Diffstat (limited to 'octedit/Makefile')
-rw-r--r--octedit/Makefile19
1 files changed, 16 insertions, 3 deletions
diff --git a/octedit/Makefile b/octedit/Makefile
index 4603ef4..74ce9d4 100644
--- a/octedit/Makefile
+++ b/octedit/Makefile
@@ -2,8 +2,21 @@ all: build
build: octedit.uf2
-octedit.uf2: octedit.elf
- ../elf/elf2uf2 octedit.elf octedit.uf2
+octedit.uf2: octedit.bin
+ echo -ne "\x55\x46\x32\x0A" > octedit.uf2 # Magic 0
+ echo -ne "\x57\x51\x5D\x9E" >> octedit.uf2 # Magic 1
+ echo -ne "\x00\x20\x00\x00" >> octedit.uf2 # Flags
+ echo -ne "\x00\x00\x00\x10" >> octedit.uf2 # Load address
+ echo -ne "\x00\x01\x00\x00" >> octedit.uf2 # Data size
+ echo -ne "\x00\x00\x00\x00" >> octedit.uf2 # Block number
+ echo -ne "\x01\x00\x00\x00" >> octedit.uf2 # Number of blocks
+ echo -ne "\x56\xFF\x8B\xE4" >> octedit.uf2 # RP2040 family ID
+ cat octedit.bin >> octedit.uf2 # Data
+ printf %220s | tr " " "\0" >> octedit.uf2 # 0 padding
+ echo -ne "\x30\x6F\xB1\x0A" >> octedit.uf2 # Magic end
+
+octedit.bin: octedit.elf
+ arm-none-eabi-objcopy -O binary octedit.elf octedit.bin
objects = setup.o octedit.o uart.o crc.o
@@ -15,7 +28,7 @@ $(objects): %.o: %.s
arm-none-eabi-as -o $@ $<
clean:
- rm octedit.elf octedit.uf2 *.o
+ rm octedit.elf octedit.bin octedit.uf2 *.o
flash: octedit.uf2
[ -h /dev/disk/by-label/RPI-RP2 ] || sleep 3s