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