linux下JLink使用脚本一个命令烧录程序

编写shell脚本program_bin,内容如下:

#!/bin/bash

#--------------------------------------------------
#	program binfile, usage: ./program firmware.bin/hex
#	chip:Atmel
#	start addr:0x00400000
#--------------------------------------------------

cmdfile="./tmp.jlink"
start_addr=400000

if [ $# -lt 1 ]; then
	echo "Usage: $0 firmware.bin/hex"
	exit 1
fi

if [ ! -f $1 ]; then
	echo "file '$1' not exit, Please select correct file"		
	exit 1
fi

filename=$(basename "$1")
extension="${filename##*.}"  

if [ ! -f $cmdfile ]; then
	touch $cmdfile

	echo h > $cmdfile
	if [ $extension = "bin" ]; then	
		echo loadfile $1 $start_addr >> $cmdfile
	else
		echo loadfile $1 >> $cmdfile
	fi
	echo r >> $cmdfile
	echo g >> $cmdfile
	echo qc >> $cmdfile
	
fi

JLinkExe -device ATSAMV71Q21 -autoconnect 1 -if SWD -speed 4000 -CommanderScript $cmdfile

if [ -f $cmdfile ]; then
	rm $cmdfile
fi

注:
1、脚本中对应的片子是Atmel的samv71q21—ATSAMV71Q21,而如果是其他的片子,需修改;
2、片子对应的烧录地址是0x00400000,其他片子需对应的修改地址;
3、可以直接下载文件使用:
https://download.csdn.net/download/niu_88/33184802

猜你喜欢

转载自blog.csdn.net/niu_88/article/details/120589391
今日推荐