Jlink使用技巧之讀寫(xiě)SPI?Flash存儲(chǔ)芯片
Jlink使用技巧系列教程
前言
大多數(shù)玩單片機(jī)的人都知道Jlink可以燒寫(xiě)Hex文件,作為ARM仿真調(diào)試器,但是知道能燒寫(xiě)SPI Flash的人應(yīng)該不多,本篇文章將介紹如何使用JLink來(lái)燒寫(xiě)或者讀取SPI Flash存儲(chǔ)器,JLink軟件包含的工具中,有一個(gè)是JFlashSPI工具,這就是一個(gè)燒寫(xiě)和讀取SPI存儲(chǔ)器的工具了。
準(zhǔn)備
-
要燒寫(xiě)程序或讀取程序的的Flash芯片:SPI協(xié)議的Flash都可以,如W25Q128。
-
JFlashSPI軟件工具:在Jlink系列軟件的安裝目錄下
-
JLink V9仿真器
-
要燒寫(xiě)的文件:如GBK字庫(kù)文件,UNIGBK.BIN
硬件連接
Jlink內(nèi)部集成了SPI協(xié)議,部分接口是作為SPI復(fù)用功能的,具體硬件連接,如下圖所示:
引腳編號(hào) | 名稱(chēng) | 輸入輸出 | 和SPI Flash的連接 |
---|---|---|---|
5 | DI | 輸入 | 連接SPI Flash的MOSI引腳 |
7 | nCS | 輸出 | 連接SPI Flash的CS引腳 |
9 | CLK | 輸出 | 連接SPI Flash的CLK引腳 |
13 | DO | 輸出 | 連接SPI Flash的MISO引腳 |
引腳編號(hào) | 名稱(chēng) | 輸入輸出 | 和SPI Flash的連接 |
---|---|---|---|
2 | nCS | 輸出 | 連接SPI Flash的CS引腳 |
4 | CLK | 輸出 | 連接SPI Flash的CLK引腳 |
6 | DO | 輸出 | 連接SPI Flash的MISO引腳 |
8 | DI | 輸入 | 連接SPI Flash的MOSI引腳 |
1.打開(kāi)
有兩個(gè)工具,一個(gè)是JFlashSPI.exe是圖形化工具,一個(gè)JFlashSPI_CL.exe是命令行操作,這里重點(diǎn)介紹圖形化工具JFlashSPI,打開(kāi)Jlink軟件的安裝目錄,雙擊打開(kāi)JFlashSPI,界面和之前介紹的JFlash差不太多。
2.連接SPI Flash芯片
點(diǎn)擊Target->Connect,如果連接成功的話,會(huì)在底部輸出連接信息,會(huì)顯示Flash芯片的型號(hào),生產(chǎn)廠家,F(xiàn)lash ID等等信息。
3.打開(kāi)程序文件
點(diǎn)擊File->Open data file,打開(kāi)要燒寫(xiě)的字庫(kù)文件,支持多種格式的文件,由于是選擇的Bin文件,沒(méi)有起始地址,所以手動(dòng)輸入燒寫(xiě)的起始地址,這里填寫(xiě)0就可以了。關(guān)于燒寫(xiě)文件的格式說(shuō)明,可以查看之前的一篇文章:BIN、HEX、AXF、ELF文件格式有什么區(qū)別
4.下載
點(diǎn)擊Target->Auto下載程序到Flash芯片內(nèi)。
5.程序文件的讀取
和讀寫(xiě)單片機(jī)程序一樣,也是支持讀取SPI Flash芯片程序的,為了尊重他人的勞動(dòng)成果,這里的介紹僅供學(xué)習(xí)使用,不可用于商業(yè)破解目的。
6.程序文件的保存
程序文件讀取完成后,可選擇將文件保存到本地目錄,保存格式可根據(jù)需要選擇。
7.命令行工具的使用
JFlashSPI_CL.exe是JFlashSPI的命令行工具,通過(guò)輸入命令實(shí)現(xiàn)讀寫(xiě)Flash,這里簡(jiǎn)單介紹一下燒寫(xiě)功能。
./JFlashSPI_CL.exe
可看到一些幫助信息,主要是指令的說(shuō)明:
可以看到-connect連接,-open打開(kāi)燒寫(xiě)文件,-auto燒寫(xiě),如果是燒寫(xiě),這3個(gè)命令就夠了,首先把要燒寫(xiě)的文件復(fù)制到JFlashSPI_CL.exe同級(jí)目錄,輸入指令:
-
./JFlashSPI_CL.exe -open UNIGBK.BIN 0 -connect -auto
可以看到,燒寫(xiě)成功
為了方便快捷,我們可以將以上命令寫(xiě)成一個(gè)批處理命令,直接雙擊運(yùn)行即可,
新建download.bat文件,并以記事本方式打開(kāi),輸入以下內(nèi)容
-
JFlashSPI_CL.exe -open UNIGBK.BIN 0 -connect -auto
-
echo 程序燒寫(xiě)完成!
-
pause
然后將這個(gè)bat文件和要燒寫(xiě)的字庫(kù)文件放到一個(gè)文件夾下。雙擊直接運(yùn)行就可以直接燒寫(xiě),是不是方便了許多呢?
支持的芯片列表
支持的Flash芯片多達(dá)百種,如Atmel的AT25系列,國(guó)產(chǎn)兆易的GD25Q系列等等,基本上常見(jiàn)的SPI協(xié)議Flash芯片都支持,具體的芯片列表可查看SEGGER官方網(wǎng)址:https://www.segger.com/products/debug-probes/j-link/technology/cpus-and-devices/supported-spi-flashes/
速度說(shuō)明
對(duì)于不同型號(hào)的Flash芯片,Jlink燒寫(xiě)器最大的寫(xiě)入速度也不同,具體可參考:
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軟件的下載
JLinkWindowsV614b軟件下載鏈接:公眾號(hào)后臺(tái)回復(fù)“JLINK”,可獲得JLinkWindowsV614b.exe軟件下載鏈接
Jlink使用技巧系列文章:
-
Jlink使用技巧系列教程
-
Jlink使用技巧之讀取STM32內(nèi)部的程序
-
Jlink使用技巧之J-Scope虛擬示波器功能
-
Jlink使用技巧之單獨(dú)下載HEX文件到單片機(jī)