rp2040

RP2040 Programming without SDK
Log | Files | Refs

commit af5e48178c47f131cd874c7c8e8b168c708b299c
parent c400a41a9a8a04858298ca8b9f0bbc453c6fd33b
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Sat, 22 Apr 2023 08:05:33 +0900

change directory structure

Diffstat:
DMakefile | 41-----------------------------------------
Aex1/Makefile | 39+++++++++++++++++++++++++++++++++++++++
Rboot2.s -> ex1/boot2.s | 0
Rmach.s -> ex1/main.s | 0
Rmemmap.ld -> ex1/memmap.ld | 0
RLicense -> head/License | 0
Ahead/Makefile | 36++++++++++++++++++++++++++++++++++++
Rboot2.s -> head/boot2.s | 0
Rflash.s -> head/flash.s | 0
Rmach.s -> head/mach.s | 0
Rmain.c -> head/main.c | 0
Rmc.s -> head/mc.s | 0
Rmemmap.ld -> head/memmap.ld | 0
Atools/Makefile | 12++++++++++++
14 files changed, 87 insertions(+), 41 deletions(-)

diff --git a/Makefile b/Makefile @@ -1,41 +0,0 @@ -AS = arm-none-eabi-as -LD = arm-none-eabi-ld -CC = arm-none-eabi-gcc -OBJCOPY = arm-none-eabi-objcopy -ELF2UF2 = ../pico-sdk/build/elf2uf2/elf2uf2 - -MCPU = -mcpu=cortex-m0plus -ASFLAGS = $(MCPU) -CFLAGS = $(MCPU) -ffreestanding -nostartfiles -O0 -fpic -mthumb -c -LDFLAGS = --no-relax -nostdlib - -all: led.uf2 - -clean: - rm -f *.o *.elf *.uf2 *.bin - rm -f bincrc bin2uf2 - -.c.o: - $(CC) $(CFLAGS) -o $@ $< -.s.o: - $(AS) $(ASFLAGS) -o $@ $< - -led.elf: boot2.o flash.o main.o mach.o memmap.ld - $(LD) $(LDFLAGS) -o $@ -T memmap.ld boot2.o flash.o mach.o main.o - -led.bin: led.elf - $(OBJCOPY) -O binary led.elf $@ - -led.uf2: led.bin bincrc bin2uf2 - ./bincrc led.bin led_crc.bin - ./bin2uf2 led_crc.bin $@ - -flash: led.uf2 - mount /dev/disk/by-label/RPI-RP2 /mnt - cp led.uf2 /mnt - -bincrc: tools/bincrc.c - tcc -o $@ tools/bincrc.c - -bin2uf2: tools/bin2uf2.c - tcc -o $@ tools/bin2uf2.c diff --git a/ex1/Makefile b/ex1/Makefile @@ -0,0 +1,39 @@ +AS = arm-none-eabi-as +LD = arm-none-eabi-ld +CC = arm-none-eabi-gcc +OBJCOPY = arm-none-eabi-objcopy +BINCRC = ../tools/bincrc +BIN2UF2 = ../tools/bin2uf2 + +MCPU = -mcpu=cortex-m0plus +ASFLAGS = $(MCPU) +CFLAGS = $(MCPU) -ffreestanding -nostartfiles -O0 -fpic -mthumb -c +LDFLAGS = --no-relax -nostdlib + +all: led.uf2 + +clean: + rm -f *.o *.elf *.uf2 *.bin + cd ../tools && make clean + +.c.o: + $(CC) $(CFLAGS) -o $@ $< +.s.o: + $(AS) $(ASFLAGS) -o $@ $< + +led.elf: boot2.o main.o memmap.ld + $(LD) $(LDFLAGS) -o $@ -T memmap.ld boot2.o main.o + +led.bin: led.elf + $(OBJCOPY) -O binary led.elf $@ + +led.uf2: led.bin + $(BINCRC) led.bin led_crc.bin + $(BIN2UF2) led_crc.bin $@ + +flash: led.uf2 + mount /dev/disk/by-label/RPI-RP2 /mnt + cp led.uf2 /mnt + +tools: + cd ../tools && make diff --git a/boot2.s b/ex1/boot2.s diff --git a/mach.s b/ex1/main.s diff --git a/memmap.ld b/ex1/memmap.ld diff --git a/License b/head/License diff --git a/head/Makefile b/head/Makefile @@ -0,0 +1,36 @@ +AS = arm-none-eabi-as +LD = arm-none-eabi-ld +CC = arm-none-eabi-gcc +OBJCOPY = arm-none-eabi-objcopy +BINCRC = ../tools/bincrc +BIN2UF2 = ../tools/bin2uf2 + +MCPU = -mcpu=cortex-m0plus +ASFLAGS = $(MCPU) +CFLAGS = $(MCPU) -ffreestanding -nostartfiles -O0 -fpic -mthumb -c +LDFLAGS = --no-relax -nostdlib + +all: led.uf2 + +clean: + rm -f *.o *.elf *.uf2 *.bin + +.c.o: + $(CC) $(CFLAGS) -o $@ $< + +.s.o: + $(AS) $(ASFLAGS) -o $@ $< + +led.elf: boot2.o flash.o main.o mach.o memmap.ld + $(LD) $(LDFLAGS) -o $@ -T memmap.ld boot2.o flash.o mach.o main.o + +led.bin: led.elf + $(OBJCOPY) -O binary led.elf $@ + +led.uf2: led.bin + $(BINCRC) led.bin led_crc.bin + $(BIN2UF2) led_crc.bin $@ + +flash: led.uf2 + mount /dev/disk/by-label/RPI-RP2 /mnt + cp led.uf2 /mnt diff --git a/boot2.s b/head/boot2.s diff --git a/flash.s b/head/flash.s diff --git a/mach.s b/head/mach.s diff --git a/main.c b/head/main.c diff --git a/mc.s b/head/mc.s diff --git a/memmap.ld b/head/memmap.ld diff --git a/tools/Makefile b/tools/Makefile @@ -0,0 +1,12 @@ +CC = tcc + +all: bincrc bin2uf2 + +clean: + rm -rf bincrc bin2uf2 + +bincrc: bincrc.c + $(CC) -o $@ bincrc.c + +bin2uf2: bin2uf2.c + $(CC) -o $@ bin2uf2.c