当前位置: 首页 > article >正文

【随手笔记】使用J-LINK读写芯片内存数据

第一种使用JLINK.exe

1. 打开j-link.exe

2.输入【usb】

在这里插入图片描述

3. 连接芯片

  1. 输入【connect】
  2. 输入芯片型号【STM32L071RB】
  3. 输入连接方式 【S】 使用SWD连接方式
  4. 输入连接速率 【4000】
  5. 连接成功

在这里插入图片描述

4. 输入【?】查看指令提示

在这里插入图片描述

5. 读写指令

Mem              Mem  [<Zone>:]<Addr>, <NumBytes> (hex)              Read memory and show corresponding ASCII values.
Mem8             Mem8  [<Zone>:]<Addr>, <NumBytes> (hex)             Read  8-bit items.
Mem16            Mem16 [<Zone>:]<Addr>, <NumItems> (hex)             Read 16-bit items.
Mem32            Mem32 [<Zone>:]<Addr>, <NumItems> (hex)             Read 32-bit items.
Write1           W1 [<Zone>:]<Addr>, <Data> (hex)                    Write  8-bit items.
Write2           W2 [<Zone>:]<Addr>, <Data> (hex)                    Write 16-bit items.
Write4           W4 [<Zone>:]<Addr>, <Data> (hex)                    Write 32-bit items.
Write8           W8 [<Zone>:]<Addr>, <Data> (hex)                    Write 64-bit items.

Erase            Erase [<SAddr>, <EAddr>]                            Erase flash (range) of selected device.
Mem 读内存
mem8 读8比特内存
mem16 读16比特内存
mem32 读32比特内存

w1 写8比特内存
w2 写16比特内存
w4 写32比特内存

h 停止cpu运行的程序
setbp 设置断点
g 跳到代码段地址执行
s 单步执行(调试用)
r 复位
q 退出

数据操作都是以16进制(HEX)格式

  1. 在指定地址读8字节数据(内存以8位读)
    Mem8 0x08000500 0x08

  2. 擦除指定地址范围数据
    Erase 0x08000500 0x08000600

  3. 写入指定地址4字节数据(内存以8位写)
    W1 0x08000500 0x31 0x20 0x31 0x20

  4. 操作完成后使用指令复位一下,复位会把更改的重新烧录
    【r】复位指令

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

第二种方式 使用J-Flash

1. 打开软件,连接上芯片

2. 读出芯片flash数据

3. 点击写入的按钮,在窗口中特定地址写入特定的数据

示例:在特定的地址写入16个0x01
写入的数据标红
在这里插入图片描述

4. 然后重新烧录改写的固件

完成内存数据的改写


http://www.kler.cn/a/312910.html

相关文章:

  • Vue常用加密方式
  • [项目代码] YOLOv5 铁路工人安全帽安全背心识别 [目标检测]
  • MySQL 中的索引下推功能
  • LED和QLED的区别
  • AndroidStudio-文本显示
  • 使用Git工具在GitHub的仓库中上传文件夹(超详细)
  • C++——类和对象
  • 鸿蒙HarmonyOS之使用ArkTs语言获取应用版本等信息
  • AI健身体能测试之基于paddlehub实现引体向上计数个数统计
  • 享元模式详解:解锁高效资源管理的终极武器
  • 技术美术百人计划 | 《4.1 Bloom算法》笔记
  • 【图像检索】基于傅里叶描述子的形状特征图像检索,matlab实现
  • 新品亮相|美格智能SLM530/SLM530P智能模组,助力金融新零售智慧升级
  • 线性规划中可行域为什么一定是凸的--证明
  • Vue2中路由的使用
  • 软件设计画图,流程图、甘特图、时间轴图、系统架构图、网络拓扑图、E-R图、思维导图
  • 高速CT滑环的特点分析
  • 在Python中优雅地打开和操作RDS
  • macOS平台(intel)编译MAVSDK安卓平台SO库
  • 《Discriminative Class Tokens for Text-to-Image Diffusion Models》ICCV2023
  • 【GitHub】如何将本地项目推送到GitHub 终端 or IDEA
  • 使用 Docker 容器化 .NET 应用:从进阶到高深
  • 【高分系列卫星简介——高分一号(GF-1)】
  • Spring MVC 启动与请求处理流程解析
  • STM32G431RBT6(蓝桥杯)串口(发送)
  • git使用“保姆级”教程2——初始化及工作机制解释