12345678910111213141516171819202122232425262728293031323334 |
- #!/bin/bash
- printf "\nConverting code.list to code.bin\n"
- #create code.bin from code.list (comments can stay after lines)
- perl -ne 'print pack("B32", $_)' < code.list > code.bin
- #printf "to verify, use: \nxxd -b -c4 code.bin\n"
- #printf "to create intel hex file for quartus, use: \nsrec_cat code.bin -binary -output -intel > code.hex\n"
- #add padding unless specified to not add padding
- if [[ $1 != "noPadding" ]]; then
- printf "Padding code.bin with ones until multiple of 4096\n"
- #get file size
- SIZE=$(wc -c < code.bin)
- printf "Size of code.bin is $SIZE bytes\n"
- #get needed bytes to make multiple of 4096
- NEEDED=$((4096-($SIZE%4096)))
- printf "Need $NEEDED more bytes for next multiple of 4096\n"
- printf "Appending $NEEDED bytes to code.bin\n"
- dd if=<(yes $'\xFF' | tr -d "\n") bs=1 count=$NEEDED >> code.bin
- fi
- FILESIZE=`du -hs code.bin | cut -f1`
- echo "Size of binary: $FILESIZE"
- printf "Done compiling binary files\n"
|