J-Link不仅支持单片机片内Flash的烧写,还能够通过SPI协议直接烧录SPI Flash。因为使用的是SPI协议,哪怕SPI Flash所连接的MCU不在segger支持范围内,在无需MCU参与的情况下依然能够通过spi协议直接对SPI Flash进行烧录。本文将以J-Link Plus为例介绍如何直接烧写SPI Flash。
J-Link版本要求:
要直接对SPI Flash进行烧录,需要使用到J-Flash SPI这个PC软件,该软件在下图中对应的J-Link型号才支持。J-Link Base和EDU等基础型号产品不支持。
图 1
硬件连接:
J-Link支持SPI协议,部分接口是作为SPI功能复用的。
对于标准的20 Pin JTAG引脚,烧写SPI Flash时需要连接的引脚如下:
图 2
Pin 1—Vtref引脚:连接目标设备的Vdd引脚,用于检测目标设备是否带电
Pin 5—DI数据输入引脚:连接SPI Flash的数据输入引脚(MOSI),用于将数据传输到Flash
Pin 7—nCS片选引脚:连接SPI Flash芯片的CS引脚
Pin 9—CLK时钟信号引脚:连接SPI Flash的CLK引脚
Pin 13—DO数据输出引脚:连接SPI Flash的数据输出引脚(MISO)
Pin 15—nRESET复位引脚:若SPI Flash还存在另外一个控制设备,例如SPI Flash连接MCU,则应将J-Link的nRESET引脚连接到MCU的复位引脚,以确保J-Link在对SPI Flash编程时,可以令MCU保持在复位状态,如下图所示:
图 3
烧写固件
(1)连接设备
打开电脑上的J-Flash SPI软件,点击Target->Connect选项,连接目标Flash,Segger已经能够对支持的Flash芯片进行自动识别,Segger支持的Flash芯片列表可打开链接查看:
若连接成功,log界面将显示识别到Flash芯片型号相关信息。本例中使用的是Spansion S25FL064K。
图 4
(2)打开要烧写的程序文件
点击File->Open data file,打开要烧写的程序文件,支持hex、bin、ELF等多种格式的文件。
图 5
(3)下载应用程序
点击Target->Auto下载程序到Flash芯片内。烧录完成后可以在log窗口看到烧录成功的提示。
图 6
图 7