diff options
Diffstat (limited to '')
| -rw-r--r-- | platform/wavelet3d/host_sw/mod.mk | 34 | ||||
| -rw-r--r-- | platform/wavelet3d/main.cpp | 2 | ||||
| -rw-r--r-- | platform/wavelet3d/mod.mk | 6 |
3 files changed, 40 insertions, 2 deletions
diff --git a/platform/wavelet3d/host_sw/mod.mk b/platform/wavelet3d/host_sw/mod.mk new file mode 100644 index 0000000..b68c47d --- /dev/null +++ b/platform/wavelet3d/host_sw/mod.mk @@ -0,0 +1,34 @@ +cores := w3d_host_flash w3d_host_sw w3d_picolibc + +define core/w3d_host_sw + $(this)/deps := w3d_picolibc + $(this)/cross := riscv32-none-elf- + $(this)/hooks := cc objcopy obj + + $(this)/obj_deps := picolibc/picolibc.specs + + $(this)/cc_files := main.c + $(this)/cc_flags = -g -march=rv32imafc -mabi=ilp32f --specs=$$(obj)/picolibc/picolibc.specs + $(this)/ld_flags := --oslib=semihost + $(this)/ld_binary := w3d_host_flash + + $(this)/objcopy_src := w3d_host_flash + $(this)/objcopy_obj := w3d_host_flash.bin +endef + +define core/w3d_picolibc + $(this)/hooks := meson obj + + $(this)/obj_deps := /$(here)cross-riscv32-none-elf.txt + + $(this)/meson_src := picolibc + $(this)/meson_objs := picolibc/picolibc.specs + + $(this)/meson_args = \ + -Dincludedir=include \ + -Dlibdir=lib \ + -Dspecsdir=. \ + -Dmultilib=false \ + -Dprefix=$$(src)/$$(obj)/picolibc \ + --cross-file $(here)cross-riscv32-none-elf.txt +endef diff --git a/platform/wavelet3d/main.cpp b/platform/wavelet3d/main.cpp index 2771551..8cd3989 100644 --- a/platform/wavelet3d/main.cpp +++ b/platform/wavelet3d/main.cpp @@ -89,7 +89,7 @@ int main(int argc, char **argv) auto dram = std::make_unique<unsigned[]>(DRAM_SIZE); - constexpr const char *FLASH_IMG_FILE = "host_flash.bin"; + constexpr const char *FLASH_IMG_FILE = "w3d_host_flash.bin"; FILE *flash_img = std::fopen(FLASH_IMG_FILE, "rb"); if (!flash_img) { diff --git a/platform/wavelet3d/mod.mk b/platform/wavelet3d/mod.mk index 77382f1..b78f01a 100644 --- a/platform/wavelet3d/mod.mk +++ b/platform/wavelet3d/mod.mk @@ -1,10 +1,14 @@ +subdirs := host_sw + define core - $(this)/deps := axixbar if_common gfx + $(this)/deps := axixbar if_common gfx w3d_host_sw $(this)/rtl_top := w3d_top $(this)/rtl_dirs := . $(this)/rtl_files := w3d_top.sv + $(this)/obj_deps := gfx_bootrom.hex w3d_host_flash.bin + $(this)/vl_main := main.cpp remote_jtag.cpp $(this)/vl_pkgconfig := sdl2 endef |
