summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile112
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
+
+
+