JLink.exe JFlash.exe batch文件一键下载

在没有IDE的情况下,可以用 JFlash.exe 或者 JLink.exe 对Device 进行编程。可以查看JFlash.exe的用户手册对JFlash.exe的使用有一个详细的了解。
本文中使用JFlash.exe JLink.exe下载的条件:

  • Windows操作系统
  • 所需文件
    待编程的文件,hex bin或其他
    存放Device Flash编程协议的文件,这里使用的是FLM文件
  • 带JFlash license的正版JLink,或者你懂的
    否则无法使用JFlash.exe,但是JLink.exe还是能使用的

一 准备工作

1)安装JLink软件包
可以自行去官网下载:www.segger.com/downloads/jlink
下载Windows版本,并安装
JLink.exe JFlash.exe batch文件一键下载_第1张图片
2)添加JLink Device

1. 修改 JLinkDevices.xml 文件
在JLink安装路径下找到 JLinkDevices.xml 文件,修改该文件,添加对应的Device信息。具体添加方法可以参照该文件中其他的设备。
2. 在Devices文件夹下添加FLM文件
在JLink安装路径下找到Devices文件夹,参照JLinkDevices.xml文件中新增设备的文件路径信息,在该文件夹下添加FLM文件。
如下STM32在JLinkDevices.xml 中的示例:

 
   
   
  

文件存放路径信息:
Loader=“Devices/ST/STM32F4/ST_STM32F469xx_QSPI.elf”

二 检查设备添加是否成功

打开JLink安装路径下的JFlash.exe,进入[Project settings]
JLink.exe JFlash.exe batch文件一键下载_第2张图片
[MCU] -> [Device] 选择已经添加的新设备
JLink.exe JFlash.exe batch文件一键下载_第3张图片
硬件上JLink连接到target,选择[Erase Chip],查看全擦是否成功。
JLink.exe JFlash.exe batch文件一键下载_第4张图片
关闭JFlash.exe,此时会提醒是否保存工程文件(.jflash),这里保存好工程文件,后续使用batch(.bat)文件一键编程时要用到该文件。
其实到这里已经能完成JFlash.exe的手动下载了。手动下载过程如下:
打开待编程文件: [File] -> [Open data file]
下载校验: [Target] -> [Manual Programming] -> [Program & Verify]

三 JFlash.exe 一键编程

1)文件准备
将下面3个文件放于同一目录下,

  1. 上面操作生成的JFlash.exe工程文件 .jflash
  2. 新建的一键编程batch空文件 .bat
  3. 待编程的文件 template.hex

2).bat文件编写
对以下2处自行修改
【1】JFlash.exe绝对路径,“=”后直接跟上路径(全路径)
【2】JFlash.exe工程文件(.jflash)绝对路径(全路径)
如有其他特殊编程要求,查看JFlash.exe用户手册,可以对JFlash工程文件和.bat文件进行修改。

@ECHO OFF

IF "%1"=="" (
  SET _JFlash_exe_=【1】JFlash.exe绝对路径,“=”后直接跟上路径(全路径)
) ELSE (  
  SET _JFlash_exe_=%1
)

IF "%1"=="" (
  SET _JFlash_prj_=【2】JFlash.exe工程文件(.jflash)绝对路径(全路径)
) ELSE (  
  SET _JFlash_prj_=%1
)

REM 用于检查该工作目录下是否存在hex文件
IF EXIST *.hex (
IF "%1"=="" (
  SET _JFlash_file_=template.hex
) ELSE (  
  SET _JFlash_file_=%1
)
) ELSE (
ECHO 【Error】No hex file
goto ERROR
)

ECHO JFlash.exe             [%_JFlash_exe_%]
ECHO Open JFlash project    [%_JFlash_prj_%]
ECHO Open JFlash file       [%_JFlash_file_%]
start /min /wait "J-Flash" "%_JFlash_exe_%" -jflashlogjflash.log -jlinklogjlink.log -openprj"%_JFlash_prj_%" -open"%_JFlash_file_%",0x0 -auto -exit

IF ERRORLEVEL 1 goto ERROR
ECHO J-Flash Program : OK!
goto END

:ERROR
ECHO J-Flash Program : Error!
pause

:END

3).一键下载
双击batch文件(.bat)进行下载。
下载失败则会停留在cmd窗口,窗口提示错误,详细的信息可以查看生成的log文件。
下载成功会自动关闭cmd窗口。

四 JLink.exe 一键下载

1)文件准备
将下面文件放置于同一路径下

  1. 新建的JLink.exe自动执行文件 download.jlink
  2. 新建的一键编程batch空文件 .bat
  3. 待编程的文件 template.hex

2)download.jlink文件编写
如果是bin文件,需要指定编程的首地址,如下
loadfile “template.bin”, 0x00000000

h
loadfile "template.hex"
r
g
qc

3).bat文件编写
对以下2处自行修改
【1】JLink.exe绝对路径,“=”后直接跟上路径(全路径)
【DeviceName】设备名称

@ECHO OFF

IF "%1"=="" (
  SET _JLink_exe_=【1】JLink.exe绝对路径,“=”后直接跟上路径(全路径)
) ELSE (  
  SET _JLink_exe_=%1
)

IF EXIST *.jlink (
IF "%1"=="" (
  SET _Command_file_=download.jlink
) ELSE (  
  SET _Command_file_=%1
)
) ELSE (
ECHO 【Error】No Command file
goto ERROR
)

IF EXIST *.hex (
IF "%1"=="" (
  SET _Pro_file_=template.hex
) ELSE (  
  SET _Pro_file_=%1
)
) ELSE (
ECHO 【Error】No hex file
goto ERROR
)


ECHO JLink.exe               [%_JLink_exe_%]
ECHO Open Command file       [%_Command_file_%]
ECHO Load Program file       [%_Pro_file_%]
"%_JLink_exe_%" -log jlink.log -autoconnect 1 -device 【DeviceName】 -if SWD -speed 4000 -commandfile "%_Command_file_%" 

IF ERRORLEVEL 1 goto ERROR
ECHO J-Flash Program : OK!
goto END

:ERROR
ECHO J-Flash Program : Error!
pause

:END

4)一键下载
双击batch文件(.bat)进行下载。
下载失败则会停留在cmd窗口,窗口提示错误,详细的信息可以查看生成的log文件。
下载成功会自动关闭cmd窗口。

你可能感兴趣的:(JLink,JLink.exe,JFlash.exe,batch,一键下载)