Jlink使用技巧之烧写SPI Flash存储芯片

简介: 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复用功能的,具体硬件连接,如下图所示:

640.jpg


对于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差不太多。

640.jpg


2.连接SPI Flash芯片

点击Target->Connect,如果连接成功的话,会在底部输出连接信息,会显示Flash芯片的型号,生产厂家,Flash ID等等信息。

640.jpg


就像我这个Flash芯片,丝印明明写的华邦Winbond W25Q128,这里读取的却是飞索Spansion S25FL128K,难道是盗版芯片?


3.打开程序文件

点击File->Open data file,打开要烧写的字库文件,支持多种格式的文件,由于是选择的Bin文件,没有起始地址,所以手动输入烧写的起始地址,这里填写0就可以了。关于烧写文件的格式说明,可以查看之前的一篇文章:BIN、HEX、AXF、ELF文件格式有什么区别

640.jpg


640.jpg

4.下载

点击Target->Auto下载程序到Flash芯片内。

640.jpg


下载完成后,会在底部窗口显示下载成功的信息,可以看出烧写速度还是比较快的,170KB的字库文件,用时不到1秒钟。

640.jpg


5.程序文件的读取

和读写单片机程序一样,也是支持读取SPI Flash芯片程序的,为了尊重他人的劳动成果,这里的介绍仅供学习使用,不可用于商业破解目的。

640.jpg


640.jpg


可以看出,和下载相比,读写速度明显要慢得多,因为是读取的整个16M的存储区,所以时间会相对长一些。


6.程序文件的保存

程序文件读取完成后,可选择将文件保存到本地目录,保存格式可根据需要选择。

640.jpg


7.命令行工具的使用

JFlashSPI_CL.exe是JFlashSPI的命令行工具,通过输入命令实现读写Flash,这里简单介绍一下烧写功能。


在终端运行: ./JFlashSPI_CL.exe


可看到一些帮助信息,主要是指令的说明:

640.jpg


可以看到-connect连接,-open打开烧写文件,-auto烧写,如果是烧写,这3个命令就够了,首先把要烧写的文件复制到JFlashSPI_CL.exe同级目录,输入指令:

./JFlashSPI_CL.exe -open UNIGBK.BIN 0 -connect -auto


可以看到,烧写成功

640.jpg


为了方便快捷,我们可以将以上命令写成一个批处理命令,直接双击运行即可,

新建download.bat文件,并以记事本方式打开,输入以下内容

JFlashSPI_CL.exe -open UNIGBK.BIN 0 -connect -auto
echo 程序烧写完成!
pause


然后将这个bat文件和要烧写的字库文件放到一个文件夹下。双击直接运行就可以直接烧写,是不是方便了许多呢?

640.jpg


支持的芯片列表

支持的Flash芯片多达百种,如Atmel的AT25系列,国产兆易的GD25Q系列等等,基本上常见的SPI协议Flash芯片都支持,具体的芯片列表可查看SEGGER官方网址: https://www.segger.com/products/debug-probes/j-link/technology/cpus-and-devices/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



目录
相关文章
|
存储 内存技术
[硬件]关于SPI Flash那些你不知道的事儿
刚开始学习STM32时,对SPI Flash的块、扇区的概念模糊不清,现在回头再看,感觉豁然开朗
790 0
[硬件]关于SPI Flash那些你不知道的事儿
|
存储 芯片 内存技术
Jlink使用技巧之读写SPI Flash存储芯片
Jlink使用技巧之读写SPI Flash存储芯片
1091 0
Jlink使用技巧之读写SPI Flash存储芯片
|
4月前
|
编解码 数据格式
IMX6ULL开发板spi OLED驱动
【8月更文挑战第24天】本文档介绍在IMX6ULL开发板上实现SPI接口OLED显示器驱动的步骤。首先需正确连接OLED至开发板的SPI接口,包括时钟(SCLK)、数据(MOSI)及片选(CS)等线路。理解SPI协议与OLED规格也很关键:SPI为同步串行通信,涉及主从设备交互;OLED参数如分辨率、颜色深度等须明确。接下来配置IMX6ULL的SPI控制器,通过设备树设定时钟频率、数据宽度等参数,并加载内核驱动。最后编写驱动程序,初始化SPI设备、发送控制命令与数据以完成OLED初始化,并实现文本或图像的显示功能。
|
7月前
NUC980修改内核支持spi-nand
NUC980修改内核支持spi-nand
99 2
|
XML 测试技术 网络安全
开发工具:USB转IIC/I2C/SPI/UART适配器模块可编程开发板
总的思路是通过USB或者UART接口发送一些协议字符串,由模块转换成上面几种接口的硬件时序电信号,实现与这几种接口芯片、设备的快速测试。 首先声明一下,大家都是搞硬件开发的,这几种接口当然是很简单的事,但有些时候对于一个新的设备或者芯片的测试,有个现成的工具当然更顺手,节省时间,也更可靠嘛。
|
存储 Linux API
ZYNQ裸板:串口篇
使用 PS 的时候,通常会添加 UART 控制器,用于打印信息和调试代码。除此之外, PS 在和外部设备通信时,也会经常使用串口进行通信。先从UART控制器开始讲起吧,从简单的测试再到工程实例。
938 0
ZYNQ裸板:串口篇
|
XML 芯片 数据格式
可编程 USB 转串口适配器开发板芯片的驱动文件
芯片驱动文件的结构较为简单,分为芯片说明、描述部分和测试指令部分,芯片描述部分包括作者信息、芯片说明、数据手册名称等,按照实际情况修改即可,下面重点说明测试指令部分。
可编程 USB 转串口适配器开发板芯片的驱动文件
|
开发工具 内存技术
ZYNQ-QSPI Flash读写操作(二)
ZYNQ-QSPI Flash读写操作
967 0
ZYNQ-QSPI Flash读写操作(二)
|
存储 开发工具 芯片
ZYNQ-QSPI Flash读写操作(一)
ZYNQ-QSPI Flash读写操作
1453 0
ZYNQ-QSPI Flash读写操作(一)
|
XML 芯片 数据格式
可编程 USB 转串口适配器开发板芯片驱动文件说明
芯片选择下拉框内列出的每一个备选芯片的驱动文件和数据手册位于S2STool 工具文件夹中的chips 文件夹内,每一个芯片需要 1 个驱动文件和 1 个数据手册文件,用户可自行打开编辑,或者创建新的芯片驱动文件。 芯片驱动文件为 xml 格式,需要手工修改或者创建,芯片数据手册一般来自于网络,下载后复制到 chips 文件夹内即可。
可编程 USB 转串口适配器开发板芯片驱动文件说明

热门文章

最新文章