diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9f28202 --- /dev/null +++ b/Makefile @@ -0,0 +1,112 @@ +PROJ=sdram_test + +SRCS=$(wildcard *.vhd *.v *.qsf *.qpf ) +SRCS += $(shell find async_16bit_bus_adapter_hw -type f -print ) + +BSP_DIR=bsp +QSYS=sdram_test_mcu +SOPC_FILE=${QSYS}.sopcinfo +BSP_TYPE=hal +NIOS2_BSP_ARGS="" +CPU_NAME= + +ELF=src/${PROJ}.elf +SOF=${PROJ}.sof + +default: run + +run: load_elf.stamp + tools/wrap nios2-terminal + +build: ${ELF} ${SOF} + +#default: load_sof.stamp + + +sta.stamp:asm.stamp + tools/wrap quartus_sta ${PROJ} -c ${PROJ} + touch $@ + +asm.stamp:fit.stamp + tools/wrap quartus_asm --read_settings_files=off --write_settings_files=off ${PROJ} -c ${PROJ} + touch $@ + +${SOF}:asm.stamp + +fit.stamp: ans.stamp + tools/wrap quartus_fit --read_settings_files=off --write_settings_files=off ${PROJ} -c ${PROJ} + touch $@ + +#ans.stamp: source.stamp ${SOPC_FILE} +ans.stamp: source.stamp + tools/wrap quartus_map --read_settings_files=on --write_settings_files=off ${PROJ} -c ${PROJ} + touch $@ + +${SOPC_FILE}:asm.stamp + +#${SOPC_FILE}:${QSYS}.qsys +# rm -rf ${QSYS} +# tools/wrap ip-generate --project-directory=. --output-directory=${QSYS}/synthesis --file-set=QUARTUS_SYNTH --report-file=sopcinfo:${SOPC_FILE} --report-file=html:${QSYS}.html --report-file=qip:${QSYS}.qip --report-file=cmp:${QSYS}.cmp --report-file=svd --system-info=DEVICE_FAMILY="Cyclone II" --system-info=DEVICE=EP2C8Q208C8 --system-info=DEVICE_SPEEDGRADE=8 --component-file=${QSYS}.qsys --language=VHDL +# + +source.stamp:${SRCS} + touch source.stamp + +${ELF}: src/Makefile $(wildcard src/*.c) + tools/wrap make -C src + +elf.stamp:${ELF} + touch $@ + +src/Makefile: bsp.stamp + tools/wrap nios2-app-generate-makefile --bsp-dir bsp --src-rdir src --app-dir src --elf-name ${PROJ}.elf + +bsp.stamp:${SOPC_FILE} + /bin/rm -rf ${BSP_DIR} + mkdir -p ${BSP_DIR} + tools/wrap nios2-bsp ${BSP_TYPE} ${BSP_DIR} ${SOPC_FILE} ${NIOS2_BSP_ARGS} ${CPU_NAME} +# tools/wrap nios2-bsp-update-settings --bsp-dir ${BSP_DIR} --settings bsp/settings.bsp \ +# --set hal.sys_clk_timer none \ +# --set hal.max_file_descriptors 4 \ +# --set hal.enable_c_plus_plus 0 \ +# --set hal.make.bsp_cflags_optimization -Os \ +# --set hal.enable_exit 0 \ +# --set hal.enable_small_c_library 1 \ +# --set hal.enable_clean_exit 0 \ +# --set hal.enable_reduced_device_drivers 1 \ +# --set hal.enable_lightweight_device_driver_api 1 +# tools/wrap nios2-bsp-generate-files --bsp-dir ${BSP_DIR} --settings bsp/settings.bsp + tools/wrap make -C ${BSP_DIR} + touch $@ + +load_elf.stamp:${ELF} load_sof.stamp + tools/wrap nios2-download ${ELF} -g + +load_sof.stamp: ${SOF} + tools/wrap quartus_pgm -m JTAG -o "p;${SOF}" + touch $@ + +sof.flash: ${SOF} + tools/wrap sof2flash --input=$< --output=$@ --epcs --verbose + +elf.flash: ${ELF} sof.flash + tools/wrap elf2flash --input=${ELF} --output=$@ --epcs --after=sof.flash --verbose + +qsys: + tools/wrap qsys-edit ${QSYS}.qsys --project-dir=${PWD} --system-info=DEVICE_FAMILY="Cyclone II" --system-info=DEVICE=EP2C8Q208C8 --system-info=DEVICE_SPEEDGRADE=8 --host-controller + +${BSP_DIR}/system.h:bsp.stamp + +flash: load_sof.stamp sof.flash elf.flash ${BSP_DIR}/system.h + BASE=` grep EPCS_FLASH_CONTROLLER_0_BASE ${BSP_DIR}/system.h | awk '{print $$3}' ` && \ + tools/wrap nios2-flash-programmer sof.flash --base=$${BASE} --epcs --accept-bad-sysid --device=1 --instance=0 --program --verbose && \ + tools/wrap nios2-flash-programmer elf.flash --base=$${BASE} --epcs --accept-bad-sysid --device=1 --instance=0 --program --verbose -g + +clean: + /bin/rm -rf ${BSP_DIR} db incremental_db src/obj ${QSYS} + /bin/rm -f ${SOPC_FILE} src/Makefile elf.flash sof.flash *.stamp ${SOF} ${ELF} *.rpt *.html *.summary *.pin *.jdi *.qws *.pof *.done *.cmp *.qdi *.bsf + /bin/rm -f src/${PROJ}.objdump src/${PROJ}.map + /bin/rm -f sopc_builder_log.txt *.qip *.smsg + + + |