#!/bin/bash if [ ${#1} -eq 0 ]; then echo "usage: dapprog xxx.bit or xxx.svf" exit 0 fi CURRENT_DIR=$(cd $(dirname $0); pwd) CONFIG=${CURRENT_DIR}/cmsisdap.cfg if [ "$1" == "--probe" ] || [ "$1" == "-p" ]; then #probe add -d4 for detail log sudo openocd -f ${CONFIG} -c \ " init; scan_chain; exit; " exit $? else # program IMAGE_FILE=$1 EXT="${IMAGE_FILE##*.}" echo EXT: $EXT #flash write_image erase xxx.hex; #flash write_image erase xxx.bin 0x08000000; if [ "${EXT}" == "svf" ]; then TARGET="$IMAGE_FILE" elif [ "${EXT}" == "bit" ]; then NAME="${IMAGE_FILE%%.bit}" #/home/pi/oss/ulx3s/tools/ujprog/ujprog -j SRAM ${IMAGE_FILE} > ${NAME}_sram.svf ${CURRENT_DIR}/ujprog.bit2svf -j FLASH ${IMAGE_FILE} > ${NAME}_flash.svf TARGET="${NAME}_flash.svf" else echo "illegal suffix [$EXT]" exit 1 fi echo "TARGET: ${TARGET}" sudo openocd -f ${CONFIG} -c \ " init; scan_chain; svf -tap ecp5.tap -quiet -progress ${TARGET}; exit; " exit $? fi