2025-02-05 00:06:56 +02:00
|
|
|
CROSS_COMPILE = arm-none-eabi-
|
2025-02-08 21:28:20 +02:00
|
|
|
GCC_COMPILE_ARGS = -x assembler-with-cpp -c -O0 -g3 -mcpu=cortex-m4 -mthumb -Wall
|
2025-02-05 00:06:56 +02:00
|
|
|
|
2025-02-08 21:28:20 +02:00
|
|
|
build: start.o lab1.o ldscript.ld
|
|
|
|
$(CROSS_COMPILE)gcc start.o lab1.o \
|
|
|
|
-mcpu=cortex-m4 -mthumb -Wall \
|
|
|
|
--specs=nosys.specs -nostdlib -lgcc -T./ldscript.ld \
|
|
|
|
-o start.elf
|
2025-02-05 00:06:56 +02:00
|
|
|
$(CROSS_COMPILE)objcopy -O binary -F elf32-littlearm start.elf start.bin
|
|
|
|
|
2025-02-08 21:28:20 +02:00
|
|
|
start.o: start.S lab1_v2.bin
|
|
|
|
$(CROSS_COMPILE)gcc $(GCC_COMPILE_ARGS) -o start.o start.S
|
|
|
|
|
|
|
|
lab1.o: lab1.S
|
|
|
|
$(CROSS_COMPILE)gcc $(GCC_COMPILE_ARGS) -o lab1.o lab1.S
|
|
|
|
|
|
|
|
lab1_v2.bin: lab1_v2.S lab1_v2.ld
|
|
|
|
$(CROSS_COMPILE)gcc $(GCC_COMPILE_ARGS) -o lab1_v2.o lab1_v2.S
|
|
|
|
$(CROSS_COMPILE)gcc lab1_v2.o -mcpu=cortex-m4 -mthumb -Wall \
|
|
|
|
--specs=nosys.specs -nostdlib -lgcc -T./lab1_v2.ld \
|
|
|
|
-o lab1_v2.elf
|
|
|
|
$(CROSS_COMPILE)objcopy -O binary lab1_v2.elf lab1_v2.bin
|
|
|
|
|
2025-02-05 00:06:56 +02:00
|
|
|
qemu: build
|
|
|
|
qemu-system-gnuarmeclipse --verbose --verbose --board STM32F4-Discovery \
|
2025-02-08 21:28:20 +02:00
|
|
|
--mcu STM32F407VG -d unimp,guest_errors --nographic \
|
2025-02-05 00:06:56 +02:00
|
|
|
--semihosting-config enable=on,target=native -s -S \
|
|
|
|
--image start.bin
|
|
|
|
|
|
|
|
clean:
|
|
|
|
rm *.o
|
|
|
|
rm *.elf
|
|
|
|
rm *.bin
|