【J-Falsh下载,烧录,批处理操作,手动添加芯片】

必看! 必看! 必看!

下面概述了以下几个烧录软件下载安装,写程器接线,批处理操作内容较多耐心看完

J-Falsh :可以称得上目前主流(能烧录目前80%主流芯片)。

STM32 ST-LINK Utility: ST系列芯片烧录超方便(ST系列,ST全系列)。

Renesas Flash Programmer : 瑞萨系列芯片烧录(瑞萨系列 ,RF5100LG,R5F104BD....)。

nRf :蓝牙nrf系列芯片烧录(烧录蓝牙芯片 像什么nrf52832,nrf52830....)。

(本篇章介绍J-Flsh)

J-Falsh

官网链接去自己下载把

下载步骤:

选择要下载的版本,下载完成后自己慢慢安装

新建工程文件并载入程序

开始菜单,找到SEGGER文件夹下面的J-Flash并打开

选择合适的芯片型号

加载程序(HEX,Bin...等等)

刷写程序和校验

最后一定记得保存工程文件后边会用到

写程器接线(VCC接1脚,GND接4脚,SWDIO接7脚,CLK接9脚)

对应写程口接线就行了,这个就不用上图了把!!!!

如何手动往"JLinkDevices.xml"添加芯片


//下面列举两个例子  HC32F460 为例  从芯片手册不难看出  

SRAM1的地址是 0x2000_0000 到 0x2000_FFFF   刚好是    64KB   (0x10000)= 0x2000_FFFF+1
Flash的地址是  0x0000_0000 到 0x0007_FFFF      刚好是     512kb (0X80000)= 0x0007_FFFF+1
内核是M4的(M内核系列统称呼为ARM单片机)

ChipInfo是描述芯片的信息,必须在 <Device>和</Device>内。
Vendor="HDSC"                          芯片厂家 "HDSC"
Name="HC32F46x"                   填芯片名称"HC32F46x"
WorkRAMAddr="0x20000000"              SARM起始地址"0x20000000" 
WorkRAMSize="0x10000"             SARM的大小"0x10000"    
Core="JLINK_CORE_CORTEX_M4"         芯片内核"JLINK_CORE_CORTEX_M4"

FlashBankInfo描述芯片的Flash信息,有多块flash的话,每块对应一个FlashBankInfo。
Name="Flash_512K"                flash的名字,名字可以随便起
BaseAddr="0x0"                    flash的起始地址,可以在芯片手册里找到
MaxSize="0x80000"                flash的大小,可以在芯片手册里找到
Loader="算法文件路径"                   烧录的算法,segger官方的是.elf格式,.flm是ARM的格式,        
LoaderType="FLASH_ALGO_TYPE_OPEN"    目前只有FLASH_ALGO_TYPE_OPEN一个类型固定不变
AlwaysPresent="1"                指示这个块flash是不是一直存在,本文是内部flash,当然一直存在

<Device>
    <ChipInfo Vendor="HDSC" Name="HC32F46x"  WorkRAMAddr="0x20000000" WorkRAMSize="0x10000" Core="JLINK_CORE_CORTEX_M4"/>
    <FlashBankInfo Name="Flash_512K" BaseAddr="0x0" MaxSize="0x80000" Loader="Devices\HDSC\HC32F460\1.0.8\FlashARM/HC32F460_512K.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" AlwaysPresent="1"/>
</Device>

//第二个例子 STM32F103VET6 
STM32F10xxx内置64K字节的静态SRAM。它可以,以字节、半字(16位)或全字(32位)访问。
SRAM的起始地址是     0x2000_0000 到 0x2000_FFFF       刚好是    64KB   (0x10000)= 0x2000_FFFF+1
Flash的起始地址是   0x0800 0000 到 0x0807_FFFF        刚好是    512kb (0X80000)= 0x0807_FFFF+1
内核M3
Loader="Devices\ST\STM32F1\STM32F10x_512.FLM"       算法文件是从KEIL5拷贝出来的

<Device>
    <ChipInfo Vendor="STM32F103ZET6XXX" Name="STM32F103ZET6XXX"  WorkRAMAddr="0x20000000" WorkRAMSize="0x10000" Core="JLINK_CORE_CORTEX_M3"/>
    <FlashBankInfo Name="Flash_512K" BaseAddr="0x08000000" MaxSize="0x80000" Loader="Devices\ST\STM32F1\STM32F10x_512.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" AlwaysPresent="1"/>
</Device>

批处理操作

烧录并校验

_JFlash_log:是log文件保存位置

_JFlash_exe:是J-Falsh.exe的路径

_JFlash_prj:是工程文件路径

_JFlash_file_:要烧录的"程序文件"路径

-usb 59425868:表示写程器的SN

"-connect -auto -verify -disconnect -exit":表示先连接,再选用自动模式写入,然后再次执行校验,断开写程器,退出。(更多命令请参考官方文档里面的说明)

pause:自己体会

使用者稍微修改几个路径就可以了其他不用动!

@ECHO OFF
chcp 65001
 SET _JFlash_log_=D:\\11111111111\Result\J-program1.log
 SET _JFlash_exe_=D:\App1\App1\bin\Debug\J-Link\JFlash.exe
 SET _JFlash_prj_=D:\\11111111111\J-jflash\111111111111111.jflash
 SET _JFlash_file_=D:\\11111111111\HEX\Template.hex

start /min /wait "J-Flash" "%_JFlash_exe_%" -usb59425868 -jflashlog%_JFlash_log_% -jlinklogjlink.log -openprj"%_JFlash_prj_%" -open"%_JFlash_file_%" -connect -auto -verify -disconnect  -exit
IF ERRORLEVEL 1 goto ERROR
ECHO J-Flash Program : OK!
goto END
:ERROR
ECHO J-Flash Program : Error!
:END
pause

切记执行路径和文件名称不要含中文和其他字符

最后补充一下如何通过批处理获取写程器SN

  1. 建立一个"download.jlink"的".jlin"文件

  1. 建立一个"GetSn.Bat"的批处理文件

  1. 往"GetSn.Bat"批处理文件文件写入下面内容

下面参数和路径按照自己实际路径修改一下就可以了

例:我的J-Link在“D\J-Link\JLink.exe"

则下面例子中"SET _JFlash_exe_=J-Link\JLink.exe"这段修改为

SET _JFlash_exe_=D\J-Link\JLink.exe

@ECHO OFF
chcp 65001
SET _JFlash_log_=SN1.log
SET _JFlash_exe_=J-Link\JLink.exe
%_JFlash_exe_% USB 123334 -Log %_JFlash_log_% -commandfile download.jlink 
IF ERRORLEVEL 1 goto ERROR
ECHO J-Flash Program : OK!
goto END
:ERROR
ECHO J-Flash Program : Error!
:END
pause

执行结果

Usb Serial number 就是SN咯!

完毕!!!!点赞手残加关注👍👍👍👍👍👍👍👍

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值