Jlink使用技巧之烧写SPI Flash存储芯片
前言
大多数玩单片机的人都知道Jlink可以烧写Hex文件,作为ARM仿真调试器,但是知道能烧写SPI Flash的人应该不多,本篇文章将介绍如何使用JLink来烧写或者读取SPI Flash存储器,JLink软件包含的工具中,有一个是JFlashSPI工具,这就是一个烧写和读取SPI存储器的工具了。
准备
- 要烧写程序或读取程序的的Flash芯片:SPI协议的Flash都可以,如W25Q128。
- JFlashSPI软件工具:在Jlink系列软件的安装目录下
- JLink V9仿真器
- 要烧写的文件:如GBK字库文件,UNIGBK.BIN
硬件连接
Jlink内部集成了SPI协议,部分接口是作为SPI复用功能的,具体硬件连接,如下图所示:
对于20P的标准JTAG接口
|引脚编号|名称|输入输出|和SPI Flash的连接|
|----|-----|-----|
|5|DI |输入|连接SPI Flash的MOSI引脚|
|7|nCS |输出|连接SPI Flash的CS引脚|
|9|CLK |输出|连接SPI Flash的CLK引脚|
|13|DO |输出|连接SPI Flash的MISO引脚|
对于10P的JTAG接口
|引脚编号|名称|输入输出|和SPI Flash的连接|
|----|-----|-----|
|2|nCS |输出|连接SPI Flash的CS引脚|
|4|CLK |输出|连接SPI Flash的CLK引脚|
|6|DO |输出|连接SPI Flash的MISO引脚|
|8|DI |输入|连接SPI Flash的MOSI引脚|
这里要注意的一点,正版的Jlink仿真器1脚是输入引脚,是外部提供参考电平的,但由于现在大部分的JLink仿真器都是学习(dao)版的,1脚不是输入,而是3.3v的输出,所以可以直接用这个管教来给SPI Flash供电。
1.打开
有两个工具,一个是JFlashSPI.exe是图形化工具,一个JFlashSPI_CL.exe是命令行操作,这里重点介绍图形化工具JFlashSPI,打开Jlink软件的安装目录,双击打开JFlashSPI,界面和之前介绍的JFlash差不太多。
2.连接SPI Flash芯片
点击Target->Connect,如果连接成功的话,会在底部输出连接信息,会显示Flash芯片的型号,生产厂家,Flash ID等等信息。
就像我这个Flash芯片,丝印明明写的华邦Winbond W25Q128,这里读取的却是飞索Spansion S25FL128K,难道是盗版芯片?
3.打开程序文件
点击File->Open data file,打开要烧写的字库文件,支持多种格式的文件,由于是选择的Bin文件,没有起始地址,所以手动输入烧写的起始地址,这里填写0就可以了。关于烧写文件的格式说明,可以查看之前的一篇文章:BIN、HEX、AXF、ELF文件格式有什么区别
4.下载
点击Target->Auto下载程序到Flash芯片内。
下载完成后,会在底部窗口显示下载成功的信息,可以看出烧写速度还是比较快的,170KB的字库文件,用时不到1秒钟。
5.程序文件的读取
和读写单片机程序一样,也是支持读取SPI Flash芯片程序的,为了尊重他人的劳动成果,这里的介绍仅供学习使用,不可用于商业破解目的。
可以看出,和下载相比,读写速度明显要慢得多,因为是读取的整个16M的存储区,所以时间会相对长一些。
6.程序文件的保存
程序文件读取完成后,可选择将文件保存到本地目录,保存格式可根据需要选择。
7.命令行工具的使用
JFlashSPI_CL.exe是JFlashSPI的命令行工具,通过输入命令实现读写Flash,这里简单介绍一下烧写功能。
在终端运行:./JFlashSPI_CL.exe
可看到一些帮助信息,主要是指令的说明:
可以看到-connect连接,-open打开烧写文件,-auto烧写,如果是烧写,这3个命令就够了,首先把要烧写的文件复制到JFlashSPI_CL.exe同级目录,输入指令:
./JFlashSPI_CL.exe -open UNIGBK.BIN 0 -connect -auto
可以看到,烧写成功
为了方便快捷,我们可以将以上命令写成一个批处理命令,直接双击运行即可,
新建download.bat文件,并以记事本方式打开,输入以下内容
JFlashSPI_CL.exe -open UNIGBK.BIN 0 -connect -auto
echo 程序烧写完成!
pause
然后将这个bat文件和要烧写的字库文件放到一个文件夹下。双击直接运行就可以直接烧写,是不是方便了许多呢?
支持的芯片列表
支持的Flash芯片多达百种,如Atmel的AT25系列,国产兆易的GD25Q系列等等,基本上常见的SPI协议Flash芯片都支持,具体的芯片列表可查看SEGGER官方网址:List of supported SPI flashes
速度说明
对于不同型号的Flash芯片,Jlink烧写器最大的写入速度也不同,具体可参考:
Flash device | Programming speed1 | Flash device | Programming speed1 |
---|---|---|---|
ISSI IS25LP128 | 500 KB/s | Micron N25Q128A | 270 KB/s |
ISSI IS25LD040 | 100 KB/s | Micron M25P10 | 160 KB/s |
ISSI IS25LQ080 | 340 KB/s | Micron M25PX16 | 230 KB/s |
ISSI IS25CD010 | 100 KB/s | Micron M45PE10 | 230 KB/s |
ISSI IS25CQ032 | 190 KB/s | Micron M25PE4 | 215 KB/s |
Macronix MX25L3235E | 285 KB/s | Spansion S25FL128 | 410 KB/s |
Macronix MX66L1G45G | 430 KB/s | Spansion S25FL116K | 265 KB/s |
Macronix MX66L51235F | 315 KB/s | Winbond W25Q128FV | 340 KB/s |
参考资料:
JLink软件的下载
JLink_Windows_V614b软件下载链接:JLink_Windows_V614b.exe
Jlink使用技巧系列文章:
- Jlink使用技巧之合并烧写文件
- Jlink使用技巧之烧写SPI Flash存储芯片
- Jlink使用技巧之虚拟串口功能
- Jlink使用技巧之读取STM32内部的程序
- Jlink使用技巧之单独下载HEX文件到单片机
- Jlink使用技巧之J-Scope虚拟示波器功能
欢迎大家关注我的个人博客
或微信扫码关注我的公众号
Jlink使用技巧之烧写SPI Flash存储芯片的更多相关文章
- jlink烧写Nor Flash时出错正确解决方法汇总:PC of target system has unexpected value after programming
成都国嵌的课程:国嵌体验入门班-2-1(开发板系统安装-Jlink方式).rar毒害了不少人,那种直接烧写nor flash,不进行任何配置的方法,能够成功纯属偶然,他自己在视频中烧写时也出现了两次错 ...
- s3c2440 J-flash 烧写 NOR flash
视屏教程里是在NOR Flash 烧写了一个supervivi然后通过superViVi配合DNW下载Uboot程序到landflash第零块,由于我电脑室64位win7,官方提供的USB下载驱动不能 ...
- arm:jlink调试和直接烧写运行的不同 [mdk s3c2440]
1.对全局变量的初始化. 2.还没发现的事例. /*************************************************/ 先上连接文件sct LR_ROM1 0x3000 ...
- 记录在tiny6410平台上采用4GSD卡来启动uboot和烧写nand flash uboot
下面这种方法是从网上转的 没有验证 环境:ubuntu 13.04一.首先制作sd启动盘: 插入SD卡 sudo dd iflag=dsync oflag=dsync if=tiny210v2- ...
- 用jlink在mini2440上烧写uboot
首先,附上我安装jlink驱动: http://download.csdn.net/detail/zzmno1/3776716#comment 以及我使用的uboot.bin文件下载地址: http: ...
- Ubuntu13.04使用Jlink和ST-Link V2烧写STM32F1x和STM32F4x
近期做研究openpilot和crazyflie2.0,都须要在Linux进行代码的编写和烧录,所以研究了下Linux下如何使用Jlink,还有开源的支持多个仿真器的openocd,可是困难重重.总是 ...
- Jlink使用技巧之合并烧写文件
前言 IAP(In-application-programming),即在应用中编程.当产品发布之后,可以通过网络方便的升级固件程序,而不需要拆机下载程序.IAP系统的固件一般由两部分组成,即Boot ...
- Jlink使用技巧之读取STM32内部的程序
前言 上一篇Jlink系列文章介绍了如何使用J-Flash来下载Hex或Bin文件到单片机,具体可参考Jlink使用技巧之单独下载HEX文件到单片机,本篇文章介绍,如何使用JFlash来读取单片机的程 ...
- Jlink使用技巧之单独下载HEX文件到单片机
前言 上一篇文章介绍了使用Keil下载单独的Hex文件到单片机内,本篇文章介绍,如何使用SEGGER官方软件JFlash来进行程序的下载,支持Hex和Bin文件. JFlash的下载和安装 首先,安装 ...
随机推荐
- Java并发编程(十一)线程池的使用
1.new Thread的弊端如下: a. 每次new Thread新建对象性能差. b. 线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多系统资源导致死机或oom. c. 缺乏更多 ...
- (网页)javascript小技巧(非常全)
事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcE ...
- MongoDB的基本操作:服务端启动,客户端连接,CRUD操作
本文内容: MongoDB的介绍 MongoDB服务端的启动 MongoDB客户端连接 SQL与MongoDB相关概念解释 什么是BSON 数据库操作 集合操作 文档操作 测试环境:win10 软件版 ...
- 峰值QPS/QPS/PV/UV/服务器数量/并发数/吐吞量/响应时间计算公式
QPS:每秒查询率(Query Per Second) ,每秒的响应请求数,也即是最大吞吐能力.QPS = req/sec = 请求数/秒QPS统计方式 [一般使用 http_load 进行统计]QP ...
- 实验吧web解题记录
自以为sql注入掌握的还是比较系统的,然而,做了这些题之后才发现,大千世界无奇不有,真是各种猥琐的思路...还是要多学习学习姿势跟上节奏 登录一下好吗?? http://ctf5.shiyanbar. ...
- matplotlib numpy scipy 的安装
一:windows 端的安装 #cmd指令 python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sym ...
- UG/NX 8.0安装方法(图文详解)
UG8.0,自从被西门子收购后改名为NX,也称NX8.0,作为一款非常优秀三维模具设计软件.他可以针对用户的虚拟产品设计和工艺设计的需求,提供经过实践验证的解决方案.其以全面的设计概念.良好的界面受到 ...
- PHP的curl查看header信息的功能(包括查看返回header和请求header)
PHP的curl功能十分强大,简单点说,就是一个PHP实现浏览器的基础. 最常用的可能就是抓取远程数据或者向远程POST数据.但是在这个过程中,调试时,可能会有查看header的必要. 如下: ech ...
- MySQL的用户的创建以及远程登录配置
最近工作中使用HIve工具,因此搭建了一个Hive的测试环境.通常我们都将Hive的元数据信息存储在外界的MySQL中,因此需要安装并配置MySQL数据库.接下来将讲解MySQL的安装以及配置过程. ...
- POJ 2828 Buy Tickets(单点更新) 详细题解和思路
题意:给n个人插队,输出最后的队伍情况(题意写的有些粗糙) 思路:第一点:在最后的队伍中,我们唯一能确定的是最后一个人一定能排到指定位置.那么,倒数第二个是在最后一个基础上确定位置的,这样一层一层的倒 ...