Files
CDi_MiSTer/sw/mpeg_audio/Makefile
Andre Zeps 3698b47f60 Add source code of MPEG decoder firmware
Removes dependence to https://github.com/Slamy/fpga_soft_mpeg
to ease change management.

Matching git hashes from said repo:
Audio 2fd79f6ff5445baaa5634f66cd0ef83643db4704
Video 8d0abb4b85d0626d35263aa5facc387123e36f2a

Expected md5sums with this commit

0489b54f46a11e1ded36e4a2d51d0e9f  ./rtl/mpeg/fma/firmware.mem
8673facd20983f1dfa4c4d301a374338  ./rtl/mpeg/fmv/firmware2.mem
c16c0dfde857b47c6fe251d4e8deb5ab  ./rtl/mpeg/fmv/firmware.mem
2025-10-30 19:13:56 +01:00

36 lines
1.0 KiB
Makefile

FIRMWARE_OBJS = start.o main.o
TOOLCHAIN_PREFIX = /opt/riscv/bin/riscv32-unknown-elf-
COMPRESSED_ISA = C
CFLAGS = -Os -mabi=ilp32 -march=rv32im$(subst C,c,$(COMPRESSED_ISA)) \
-ffreestanding -fdata-sections -ffunction-sections --std=c99 -nostartfiles
all: firmware.mem firmware.lst
analyze: firmware.elf
nm --print-size --size-sort firmware.elf
firmware.mem: firmware.bin
xxd -p -c4 firmware.bin firmware.mem
wc firmware.mem
cp firmware.mem ../../rtl/mpeg/fma/firmware.mem
firmware.bin: firmware.elf
$(TOOLCHAIN_PREFIX)objcopy -O binary $< $@
firmware.elf: $(FIRMWARE_OBJS) sections.lds
$(TOOLCHAIN_PREFIX)gcc $(CFLAGS) -o $@ \
-Wl,--gc-sections,--build-id=none,-Bstatic,-T,sections.lds,-Map,firmware.map,--strip-debug \
$(FIRMWARE_OBJS) $(TEST_OBJS) -lgcc
firmware.lst: firmware.elf
$(TOOLCHAIN_PREFIX)objdump --disassemble-all firmware.elf > firmware.lst
start.o: start.S
$(TOOLCHAIN_PREFIX)gcc -c $(CFLAGS) -o $@ $<
main.o: main.c pl_mpeg.h
$(TOOLCHAIN_PREFIX)gcc -c $(CFLAGS) -o main.o main.c
clean:
rm -f *.o *.mem *.bin *.map *.elf *.lst