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

【随手笔记】使用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. 然后重新烧录改写的固件

完成内存数据的改写

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java:List<String> 转换List<BigDecimal> 并求和
  • 【系统架构设计师】专业英语90题(附答案详解)
  • 手写Spring
  • 0基础跟德姆(dom)一起学AI 数据处理和统计分析04-Panda入门
  • ArrayList和Array有什么区别?
  • 【RabbitMQ 项目】项目概述
  • 9.20-使用k8s部署wordpress项目
  • ELF文件结构
  • Git入门学习(1)
  • 基于协同过滤算法+PHP的新闻推荐系统
  • 详解Linux中cat命令
  • linux-安全管理-防火墙与网络安全
  • 硬件工程师笔试面试——开关
  • 【网络安全的神秘世界】攻防环境搭建及漏洞原理学习
  • 每日奇难怪题(持续更新)
  • 【React系列】如何构建React应用程序
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • eclipse(luna)创建web工程
  • Github访问慢解决办法
  • Git初体验
  • JavaScript 基本功--面试宝典
  • Lsb图片隐写
  • Mysql5.6主从复制
  • Object.assign方法不能实现深复制
  • rc-form之最单纯情况
  • Spring Cloud中负载均衡器概览
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 复习Javascript专题(四):js中的深浅拷贝
  • 记录一下第一次使用npm
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 深度学习在携程攻略社区的应用
  • 使用 Docker 部署 Spring Boot项目
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #WEB前端(HTML属性)
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (4)STL算法之比较
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (十六)一篇文章学会Java的常用API
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .gitignore文件_Git:.gitignore
  • .NET C# 使用 iText 生成PDF
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET 动态调用WebService + WSE + UsernameToken
  • .NET 设计一套高性能的弱事件机制
  • .net6 webapi log4net完整配置使用流程
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • @component注解的分类