55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								#!/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
							 | 
						||
| 
								 | 
							
								
							 |