[轉]用H-JTAG燒寫ARM9開發板flash指南
關鍵字: H-JTAG 燒寫 bootloder nandflash norflash mini2440
近幾天我不斷地在搜尋有關如何通過JTAG燒寫bootloder到flash(norflash&nandflash)的問題.看到網上既能燒寫norflash又能燒nandflash的軟體比較流行的有兩種:三星原廠提供的SJF2440和H-JTAG. 把bootloder燒寫到了nor flash裡面,這個很簡單,按住手冊上的說明操作H-JTAG即可!要燒寫到nand flash裡面,以前是可以使用sjf2440的,但是現在由於版本問題,使用sjf2440燒寫有時候會不支援,而且操作起來比較麻煩,
這裡說一下比較好用的H-JTAG燒寫flash的辦法,基本上滑鼠就可以完成.
H-JTAG 是由twentyone 推出的一款免費除錯代理軟體。官方主頁為:
這裡用的版本是0.9.2,支援下列特性(更新的版本請到H-JTAG 網站下載試用):
1. 支援 RDI 1.5.0 以及 1.5.1;
2. 支援 所有ARM7,ARM9,XSCALE 及CORTEX-M3 晶片;
3. 支援 THUMB 以及ARM 指令;
4. 支援 LITTLE-ENDIAN 以及 BIG-ENDIAN;
5. 支援 SEMIHOSTING;
6. 支援 WIGGLER, SDT-JTAG,自定義JTAG(
7. 支援 WINDOWS 9.X/NT/2000/XP;
8.支援常用FLASH 晶片的程式設計燒寫;
9. 支援LPC2000,AT91SAM,LUMINARY 和STM32F 系列的片內FLASH 自動下載;
我的板子是友善mini2440,為64 M Nand Flash, 2M Nor Flash.
注意:如果燒寫nor flash的話,要把開關S2撥到nor端,同樣如果燒寫到nand的話把S2撥到nand端。
一,安裝並設定H-JTAG
(1)安裝H-JTAG
H-JTAG 安裝檔案位本資料夾“H-JTAG V0.9.2”目錄,雙擊執行,按照其提示安裝即可。
安裝完畢,會在桌面生成H-JTAG 和H-Flasher 快捷方式,雙擊執行H-JTAG,程式將
自動檢測是否連線了JTAG 裝置,因為之前我們還沒有做任何設定,所以會跳出一個提示視窗:
點選確定,進入程式主介面,因為沒有連線任何目標器件,因此顯示如圖所示:
(2)設定JTAG 埠
在H-JTAG 主介面的選單裡點setting->LTP Jtag Setting,然後按照下圖的引數進行配置:
配置完成後點選OK.
(3)設定初始化指令碼
把光碟“Windows 平臺工具/H-JTAG ” 目錄中的FriendlyARM2440.his 和
H-Flasher_QQ2440.hfc 檔案複製到H-JTAG 的安裝目錄,如圖:
在H-JTAG 的主介面,點Script->Init Script,跳出Init Script 視窗,點該視窗下面的
Load 按鈕,找到並選擇開啟剛剛複製的FriendlyARM2440.his 檔案,如圖:
這時,Init Script 視窗會被載入的指令碼填充,如圖,注意不要點選“Enable Auto Init”,
點OK 退回H-JTAG 主介面:
如果沒有FriendlyARM2440.his的話可以複製下面到文字儲存成
FriendlyARM2440.his:
Setmem+32-Bit+0x53000000+0x00000000
Setmem+32-Bit+0x4A000008+0xFFFFFFFF
Setmem+32-Bit+0x4A00001C+0x000007FF
Setmem+32-Bit+0x53000000+0x00000000
Setmem+32-Bit+0x56000050+0x000055AA
Setmem+32-Bit+0x4C000014+0x00000007
Setmem+32-Bit+0x4C000000+0x00FFFFFF
Setmem+32-Bit+0x4C000004+0x00061012
Setmem+32-Bit+0x4C000008+0x00040042
Setmem+32-Bit+0x48000000+0x22111120
Setmem+32-Bit+0x48000004+0x00002F50
Setmem+32-Bit+0x48000008+0x00000700
Setmem+32-Bit+0x4800000C+0x00000700
Setmem+32-Bit+0x48000010+0x00000700
Setmem+32-Bit+0x48000014+0x00000700
Setmem+32-Bit+0x48000018+0x0007FFFC
Setmem+32-Bit+0x4800001C+0x00018005
Setmem+32-Bit+0x48000020+0x00018005
Setmem+32-Bit+0x48000024+0x008E0459
Setmem+32-Bit+0x48000028+0x00000032
Setmem+32-Bit+0x4800002C+0x00000030
Setmem+32-Bit+0x48000030+0x00000030
(4)檢測目標器件
使用開發板附帶的JTAG 小板連線開發板的JTAG 介面,並接上開啟電源。點主選單
Operations->Detect Target,或者點工具欄相應的圖示也可以,這時就可以看到已經檢測到目標器件了。
提示:如果沒有設定初始化指令碼,也可以檢測到CPU,但無法進行下面的單步除錯。
二,燒寫bootloder到NAND FLASH
(1).點 H-JTAG主選單的Flasher -> Start H-Flasher 開啟H-Flasher燒寫程式視窗。
(2).在 H-Flasher 視窗選單中選擇“Load” ,出現開啟檔案選擇視窗,選擇H-JTAG安裝目錄下面HFC Examples目錄下的S3C2440+K9F1208.hfc這個檔案(如果是燒寫nor的話選擇S3C2440+SST39VF1601.hfc),這樣燒寫的配置基本就好了,但是在這裡如果點選check的話可能檢測不到nand 的id,因此在燒寫前要把Pam Options裡面到SKIP ID CHECK勾上,如下圖:
(3).開始燒寫
在Programming裡面點選check的話就會正確檢測出nand flash的id了,然後在Type選擇“Plain Binary Format”,Src File選擇要燒寫的bootloder,最後點選program,等待燒寫結束就可以了!如果您需要燒寫更多的mini2440,無需重複以上步驟(下次開啟執行H-JTAG 時會自動載入上次的配置),可以直接接上Jtag 線,開啟電源,點“Check”先檢測一下Flash,再點“Program”就可以開始新的燒寫了。
三,燒寫 bootloder 到NOR FLASH
注意:執行以下步驟之前,要確保開發板選擇從Nor Flash 啟動
在H-JTAG檢測到目標器件後
(1)點H-JTAG 主選單的Flasher