diff --git a/tools/quartus/run_rbf b/tools/quartus/run_rbf index f9c17ef65d7987fee8e6b8e4c53f9b2f3c6032e6..a98d2e9bbf3151736b6e256232fa80a29dd8d6cb 100755 --- a/tools/quartus/run_rbf +++ b/tools/quartus/run_rbf @@ -47,10 +47,14 @@ myself="${UNB}/Firmware/software/build/$(basename $0)" project= rev= +arg_unb2_factory= # parse cmdline for arg ; do case ${arg} in + --unb2_factory) + arg_unb2_factory=1 + ;; --rev=*) rev=`echo ${arg} | sed 's/^--rev=//'` ;; @@ -110,7 +114,25 @@ echo "Bitstream_compression=on" > ${HOME}/.run_rbf_temp_options_file unb_info $0 "Converting ${quartusdir}/${project_rev}.sof to compressed Raw Binary File" -unb_exec $0 quartus_cpf -c --option=${HOME}/.run_rbf_temp_options_file ${quartusdir}/${project_rev}.sof ${quartusdir}/${project_rev}.rbf +if [ -z "${arg_unb2_factory}" ]; then + unb_exec $0 quartus_cpf -c --option=${HOME}/.run_rbf_temp_options_file ${quartusdir}/${project_rev}.sof ${quartusdir}/${project_rev}.rbf +else + unb_info $0 "-> This is a factory image for Uniboard2: Convert .SOF -> .POF -> .HEXOUT -> .RBF" + # for more info see: $RADIOHDL/libraries/io/epcs/doc/README.txt + unb_exec $0 quartus_cpf -d EPCQL1024 -m ASx4 --option=${HOME}/.run_rbf_temp_options_file -c ${quartusdir}/${project_rev}.sof ${quartusdir}/${project_rev}.pof + unb_exec $0 quartus_cpf -c ${quartusdir}/${project_rev}.pof ${quartusdir}/${project_rev}.hexout + unb_exec $0 nios2-elf-objcopy -I ihex -O binary ${quartusdir}/${project_rev}.hexout ${quartusdir}/${project_rev}.rbf + + unb_info $0 "Truncating RBF:" + echo "Size of .SOF is: " + du -h ${quartusdir}/${project_rev}.sof + echo "Truncating to 40M (FIXME find out if 40M is correct on different SOF files)" + unb_exec $0 truncate -s 40M ${quartusdir}/${project_rev}.rbf + echo "Deleting temp files" + unb_exec $0 rm -f ${quartusdir}/${project_rev}.pof + unb_exec $0 rm -f ${quartusdir}/${project_rev}.hexout +fi + if [ -n "${RADIOHDL_SVN_REVISION}" ]; then svn_revision=`echo ${RADIOHDL_SVN_REVISION} |cut -d' ' -f2` # ${RADIOHDL_SVN_REVISION} looks like: "Revision: 14634"