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

2019-5-17 12:08 37601 992 14 分类: MCU/ 嵌入式 文集: JLink使用技巧
前言

大多数玩单片机的人都知道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的连接
5DI输入连接SPI Flash的MOSI引脚
7nCS输出连接SPI Flash的CS引脚
9CLK输出连接SPI Flash的CLK引脚
13DO输出连接SPI Flash的MISO引脚

对于10P的JTAG接口

引脚编号名称输入输出和SPI Flash的连接
2nCS输出连接SPI Flash的CS引脚
4CLK输出连接SPI Flash的CLK引脚
6DO输出连接SPI Flash的MISO引脚
8DI输入连接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 (https://www.segger.com/products/debug-probes/j-link/technology/cpus-and-devices/supported-spi-flashes/)

速度说明

对于不同型号的Flash芯片,Jlink烧写器最大的写入速度也不同,具体可参考:

Flash deviceProgramming speed1Flash deviceProgramming speed1
ISSI IS25LP128500 KB/sMicron N25Q128A270 KB/s
ISSI IS25LD040100 KB/sMicron M25P10160 KB/s
ISSI IS25LQ080340 KB/sMicron M25PX16230 KB/s
ISSI IS25CD010100 KB/sMicron M45PE10230 KB/s
ISSI IS25CQ032190 KB/sMicron M25PE4215 KB/s
Macronix MX25L3235E285 KB/sSpansion S25FL128410 KB/s
Macronix MX66L1G45G430 KB/sSpansion S25FL116K265 KB/s
Macronix MX66L51235F315 KB/sWinbond W25Q128FV340 KB/s
参考资料:

J-Flash SPI(https://www.segger.com/products/debug-probes/j-link/tools/j-flash-spi/)

JLink软件的下载

JLink_Windows_V614b软件下载链接:JLink_Windows_V614b.exe(https://wcc-blog.oss-cn-beijing.aliyuncs.com/BlogFile/JLink_Windows_V614b.exe)

作者: whik, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3887760.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论8条评论)

登录后参与讨论

秦月朗 2023-5-19 17:47

cy

whik 2021-9-28 20:19

southcreek: 如梦初醒。JLINK还有这功能。
还是要以官方手册为准,功能还有很多的

whik 2021-9-28 20:18

southcreek: 如梦初醒。JLINK还有这功能。
是呀是呀!

southcreek 2021-8-12 16:45

如梦初醒。JLINK还有这功能。

Mxdad 2021-8-12 10:29

这个很好,介绍的很详细

pidaneng 2020-9-3 22:33

不错。

Anshadow 2019-6-26 09:30

学习。

curton 2019-5-25 20:12

学习
相关推荐阅读
whik 2022-10-08 23:26
【技术笔记】高云FPGA学习笔记6——ARM点灯工程设计
【技术笔记】高云FPGA学习笔记6——ARM点灯工程设计本文是高云FPGA学习笔记系列的第6篇文章,首发于面包板社区:【技术笔记】高云FPGA学习笔记1——TangNano 4K开发板简介【技术笔记】...
whik 2022-10-06 20:42
【技术笔记】高云FPGA学习笔记5——片上逻辑分析仪GAO的使用
本文是高云FPGA学习笔记系列的第5篇文章,首发于面包板社区:【技术笔记】高云FPGA学习笔记1——TangNano 4K开发板简介【技术笔记】高云FPGA学习笔记2——FPGA和ARM开发环境搭建【...
whik 2022-10-02 22:44
【技术笔记】高云FPGA学习笔记4——基本IP原语使用和仿真
本文是高云FPGA学习笔记系列的第4篇文章,首发于面包板社区:【技术笔记】高云FPGA学习笔记1——TangNano 4K开发板简介【技术笔记】高云FPGA学习笔记2——FPGA和ARM开发环境搭建【...
whik 2022-09-28 22:42
【技术笔记】高云FPGA学习笔记3——FPGA点灯工程创建、下载和固化
本文是高云FPGA学习笔记系列的第3篇文章,首发于面包板社区: 【技术笔记】高云FPGA学习笔记1——TangNano 4K开发板简介 【技术笔记】高云FPGA学习笔记2——FPGA和ARM开发环境...
whik 2022-09-26 23:05
【技术笔记】高云FPGA学习笔记2——FPGA和ARM开发环境搭建
上一篇文章分享了基于高云FPGA的开发板——TangNano 4K,介绍了开发板的硬件资源以及高云FPGA的特性,文末提到高云的FPGA还不支持SerDes高速串行接口,今天(09-26)高云半导体官...
whik 2022-09-25 23:01
【技术笔记】高云FPGA学习笔记1——TangNano 4K开发板简介
标题1:不足百元的国产FPGA开发板,集成ARM Cortex-M3硬核!标题2:国产FPGA开发板上手体验:6x6mm的FPGA芯片还带ARM硬核!之前参与了面包板社区组织的国产替代话题活动,我发表...
我要评论
8
992
关闭 站长推荐上一条 /2 下一条