Jlink下载固件到RAM区

Jlink下载固件到RAM区

  • 准备批处理
    • 搜索exe批处理
    • 调用jlink批处理
    • 准备jlink脚本
  • 调用执行

环境:J-Flash V7.96g
平台:arm cortex-m3

准备批处理

搜索exe批处理

find_file.bat

@echo off

:: 自动识别脚本名和路径
set "SCRIPT_DIR=%~dp0"
set "SCRIPT_NAME=%~nx0"

:: 检查是否提供了正确的参数
if "%~1"=="" (
    echo Usage: %SCRIPT_NAME% file_name
    exit /b 1
)

set FIND_EXE_NAME=%~1

echo Using common paths "C:\Program Files (x86)" to search for %FIND_EXE_NAME%...
for /f "tokens=*" %%i in ('dir /a/b/s/on "C:\Program Files (x86)\*%FIND_EXE_NAME%"') do (
   echo result: "%%i"
   SET FIND_EXE_NAME_PATH=%%i
   goto :found
)
 
echo Using common paths "C:\Program Files" to search for %FIND_EXE_NAME%...
for /f "tokens=*" %%i in ('dir /a/b/s/on "C:\Program Files\*%FIND_EXE_NAME%"') do (
   echo result:  "%%i"
   SET FIND_EXE_NAME_PATH=%%i
   goto :found
)


rem 搜索其他盘
for /F "Skip=2" %%d in ('Wmic Logicaldisk Where "DriveType=3" Get Name') do (
   echo Using common paths %%d to search for %FIND_EXE_NAME%

   for /f "tokens=*" %%i in ('dir /a/b/s/on "%%d\*%FIND_EXE_NAME%"') do (
      echo result: "%%i"
      SET FIND_EXE_NAME_PATH=%%i
	  goto :found
   )
)

:found
echo Found %FIND_EXE_NAME% at %FIND_EXE_NAME_PATH%
goto :eof

调用jlink批处理

autodownload.bat

@echo off
setlocal enabledelayedexpansion

:: 自动识别脚本名和路径
set "SCRIPT_DIR=%~dp0"
set "SCRIPT_NAME=%~nx0"

:: 检查是否提供了正确的参数
if "%~1"=="" (
    echo Usage: %SCRIPT_NAME% path_to_bin_file load_address
    exit /b 1
)

if "%~2"=="" (
    echo Usage: %SCRIPT_NAME% path_to_bin_file load_address
    exit /b 1
)

:: 设置一个标志,看看可选的目录
::set "JLINK_PATH=C:\Program Files\SEGGER\JLink\JLink.exe"
set "JLINK_PATH="

:: 检查用户是否提供了可选的路径
if not "%~3"=="" (
   if exist "%~3\JLink.exe" (
       set "JLINK_PATH=%~3\JLink.exe"
   )
)

:: 常用文件夹搜索路径
if "%JLINK_PATH%"=="" (
	:: 调用搜索JLink.exe的模块
	call find_file.bat JLink.exe

	:: 检查JLINK_PATH环境变量是否已设置
	if not defined FIND_EXE_NAME_PATH (
	    echo ==not found==
		goto :found
	) else (
		SET JLINK_PATH=!FIND_EXE_NAME_PATH!
		goto :found
	)
)

:found
if "%JLINK_PATH%"=="" (
    echo JLink.exe not found. Please make sure JLink is installed and the executable is in your PATH.
    exit /b 1
)
echo Using JLink.exe at: %JLINK_PATH%

:: 复制flash_ram.jlink模板并替换占位符
set "JLINK_SCRIPT=%SCRIPT_DIR%flash_ram_temp.jlink"
copy /Y "%SCRIPT_DIR%flash_ram.jlink" "%JLINK_SCRIPT%"
powershell -Command "(Get-Content '%JLINK_SCRIPT%') -replace 'BIN_FILE_PATH', '%~1' -replace 'LOAD_ADDRESS', '%~2' | Set-Content -Path '%JLINK_SCRIPT%'"

:: 运行JLink命令脚本
"%JLINK_PATH%" -CommanderScript "%JLINK_SCRIPT%"

:: 删除临时脚本
del "%JLINK_SCRIPT%"

:: 运行JLink命令脚本
::"%JLINK_PATH%" -CommanderScript "%SCRIPT_DIR%flash_ram.jlink" "%~1" "%~2"

::禁用延迟扩展
endlocal

准备jlink脚本

flash_ram.jlink

// 通用 Cortex-M3 设备
device Cortex-M3
speed 4000
if SWD
si 1 // 选择SWD接口
r
h

// 将 .bin 文件加载到 RAM 区
//loadbin %1 %2
loadbin BIN_FILE_PATH LOAD_ADDRESS

// 复位并运行
r
g

// 退出
q

调用执行

# 脚本名 bin文件地址 需烧录RAM区域起始地址
.\autodownload.bat "C:\Users\gs\Desktop\xxx.bin" 0x10000000

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/725341.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TIME_WAIT的危害

前言 该文章主要讨论下TIME_WAIT的存在意义和潜在危害,以及解决措施。 具体内容 首先看一下下面这幅图 这幅图来自《TCP IP详解卷1:协议 原书第2版中文》TCP状态变迁图。 TIME_WAIT存在意义 可靠的终止TCP连接。 保证让迟来的TCP报文有足够的时间被…

数据库 | 试卷四

1.数据库系统的特点是 数据共享、减少数据冗余、数据独立、避免了数据不一致和加强了数据保护 2.关系模型的数据结构是二维表结构 3.聚簇索引 cluster index 4. 这里B,C都是主属性,所以B->C不是非主属性对码的部分函数依赖 候选键(AC&a…

光电液位传感器在净水器领域的应用优势有哪些?

光电液位传感器作为一种先进的液位检测技术,在净水器领域有着显著的应用优势。具有高精度的特点,能够精确地检测水位变化,保证水处理过程的稳定性和效率。 传统的浮球式传感器可能存在精度偏差或者在长期使用中需要维护和更换的问题&#xf…

nginx+tomcat负载均衡、动静分离群集【☆☆☆☆☆】

Nginx是一款非常优秀的HTTP服务器软件,性能比tomcat更优秀,它支持高达50 000个并发连接数,拥有强大的静态资源处理能力,运行稳定,内存、CPU等系统资源消耗非常低。目前很多大型网站都应用Nginx服务器作为后端网站程序的…

机器学习课程复习——隐马尔可夫

不考计算题 Q:概率图有几种结构? 条件独立性的公式? 顺序结构发散结构汇总结构Q:隐马尔可夫模型理解? 概念 集合:状态集合、观测集合 序列:状态序列、观测序列

你不知道的MySQL备份和还原技巧,速来学习!

01、mysql备份数据库 1、mysql备份单个数据库 #mysql备份某个库格式: mysqldump -h主机名 -P端口 -u用户名 -p"密码" --database 数据库名 > 文件名.sql#实例:mysql备份某个库: mysqldump -h10.*.*.9 -P3306 -uroot -p"密…

闹大了!高考作文“人工智能与AI”引发争议,专家喊话,部分考生家长无奈,直呼:“太不公平了!这哪里是考作文,分明是在考城乡差距啊!”

闹大了!高考作文“人工智能与AI”引发争议,专家喊话,部分考生家长无奈,直呼:“太不公平了!这哪里是考作文,分明是在考城乡差距啊!” ​高考,本该是最公平的战场&#xff…

leetcode21 合并两个有序单链表

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2: 输入:l1 [], l2 [] 输出:[]示例…

YOLOv10改进 | 主干篇 | YOLOv10引入华为VanillaNet替换Backbone

1. VanillaNet介绍 1.1 摘要: 基础模型的核心是“越多越好”的理念,计算机视觉和自然语言处理领域取得的惊人成功就是例证。 然而,优化的挑战和变压器模型固有的复杂性要求范式向简单性转变。 在这项研究中,我们介绍了 VanillaNet,一种设计优雅的神经网络架构。 通过避免…

【Docker系列】深入解析 Docker 容器部署脚本

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Shardingsphere-Proxy 5.5.0部署

Shardingsphere-Proxy 5.5.0部署 Shardingsphere系列目录:背景下载安装包Linux解压安装包修改配置文件global.yamldatabase-sharding.yaml配置没有单表情况配置有单表的情况背景 引入数据库驱动启动代理连接代理数据库Navicate工具连接MYSQL客户端连接 Shardingsphe…

华为IPD体系中三大流程之IPD流程的六个阶段和七个评审点介绍

概念 IPD集成产品开发,英文是IntegratedProduct Development,是一整套科学的研发创新管理方法论,将产品经营管理思想和理念置入到新产品开发和产品管理过程中,因此IPD是不仅是一套研发管理体系,更是一套产品经营管理体…

浸没式液冷服务器的换热效率及节能潜力分析

服务器浸没式液冷的换热效率及节能潜力 摘要:我们针对服务器浸没式液冷实验台进行了深入测试,探究了不同室外温度和服务器发热功率对系统制冷PUE的影响。实验数据显示,该系统的制冷PUE值介于1.05至1.28之间,高效节能特点显著。 在…

报表控件Stimulsoft 图表轴的日期时间步长模式

Stimulsoft Ultimate (原Stimulsoft Reports.Ultimate)是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能,Stimulsoft Ultimate包含了…

83. 删除排序链表中的重复元素

文章目录 题目解题思路代码 题目 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 示例 1: 输入:head [1,1,2] 输出:[1,2] 示例 2: 输入&#xff1…

年终奖发放没几天,提离职领导指责我不厚道,我该怎么办?

“年终奖都发了,你还跳槽?太不厚道了吧!” “拿完年终奖就走人,这不是典型的‘骑驴找马’吗?” 每到岁末年初,关于“拿到年终奖后是否应该立即辞职”的话题总会引发热议。支持者认为,这是个人…

LVS负载均衡群集群DR模式LVS负载均衡部署

1、LVS-DR工作原理 1、数据包流向分析 第一步:客户端发送请求到 Director Server (负载均衡器),请求的数据报文到达内核空间。 数据报文 源 IP ------客户端的 IP 目标 IP ------ VIP 源 MAC ------客户端的 MAC 目的 MAC ------ Director …

【C语言】一维数组(详解)

目录 1. 数组的概念 2. 一维数组的创建和初始化 3. 一维数组的使用 4. 一维数组在内存中的存储 5. sizeof 计算数组元素个数 正文开始—— 1. 数组的概念 数组是一组相同类型元素的集合。 数组中存放的是1个或者多个数据,但是数组元素个数不能为0。…

融合调度中心控制台的特点及应用行业

融合调度指挥中心是现代交通、能源、通讯等重要领域中不可或缺的一部分。在融合调度指挥中心中,设备配置的合理性和高效性直接影响到整个系统的运行效率和安全性。其中,控制台是融合调度指挥中心的核心设备之一,它承担着整个系统的操作、监控…

2024年应用科学、航天航空与核科学国际学术会议(ICASANS 2024)

2024年应用科学、航天航空与核科学国际学术会议(ICASANS 2024) 2024 International Academic Conference on Applied Science, Aerospace and Nuclear Science(ICASANS 2024) 会议简介: 在科技日新月异的今天&#xf…