55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/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
 | |
| 
 |