




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
H-JTAG用戶使用手冊WWW.HJTAG.COM用戶使用手冊Copyright?2009WWW.HJTAG.COMAllRightsReserved修改記錄日期版本改動2007-10-01A2007-11-30B2008-03-03C2009-01-08D2009-04-24E2009-10-08F發(fā)布第一版本修改版本更正了TAP的設(shè)置說明軟件更新軟件更新軟件更新版權(quán)聲明1.文檔中出現(xiàn)的JTAG表述,為IEEE-1149標(biāo)準(zhǔn),其所有權(quán)2.文檔中出現(xiàn)的所有ARM標(biāo)識和表述,均為ARM公司的商標(biāo),其所有權(quán)屬于ARM公司;3.文檔中任何第三方的注冊商標(biāo)和產(chǎn)品標(biāo)識,均屬于第三方公司所有;4.如果文檔5.本文檔屬于國際電子電氣協(xié)會;注冊提及的當(dāng)中有任何地方侵犯了您的權(quán)利和版權(quán),請和我們聯(lián)系,我們將及時修改;為開放文檔,用戶可以在保證文檔完整性的前提下,自由分發(fā).官方主頁HTTP://WWW.HJTAG.COM技術(shù)支持論壇HTTP://FORUM.HJTAG.COMUSERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReservedI目錄前言第一章A.關(guān)于本手冊B.適合的讀者C.意見反饋………………….…IV………………….…IV…………………….…IVH-JTAG介紹1.1H-JTAG介紹………………..1-11.2H-JTAG調(diào)試/燒寫結(jié)構(gòu)…………………….1-11.3H-JTAG支持的ARM內(nèi)核…..….………….1-21.4H-JTAG支持的IDE調(diào)試軟件….………….1-2第二章H-JTAG的安裝和GUI2.1H-JTAG的安裝……………..2-12.2H-JTAG的卸載……………..2-32.3H-JTAG的GUI……………..2-32.4H-FLASHER的GUI……………………….2-7第三章第四章4.5H-JTAGUSB仿真器3.1USB仿真器性能參數(shù)與硬件接口………………...……………...….……..3-13.2USB仿真器版本及區(qū)別…………...……………...….……..3-33.3安裝USB仿真器驅(qū)動程序………………….3-4H-JTAG的使用和配置詳解4.1檢測調(diào)試目4.2復(fù)位調(diào)試目標(biāo)………………..4-14.3FLASH自動下載……………4-14.4設(shè)置初始化腳本標(biāo)………………..4-1……………..4-2USB/LPT接口選擇............………………...4-34.6設(shè)置JTAG…………………...4-34.7設(shè)置并口……………………..4-64.8設(shè)置調(diào)試目標(biāo)………………..4-64.9添加芯片ID………………….4-64.10TAP設(shè)置………………….….4-7H-JTAG常用選項…………..4-84.12TOOLS工具……..…………4-94.13檢查軟件更新……………..4-104.11第五章5.1H-FLASHER的使用和配置詳解H-FLASHER工作流程........……………….5-1H-FLASHER編程向?qū)А?5-25.3常見提示…………………….5-75.2USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReservedII5.4燒寫實例1-AT91SAM7X256………….....5-85.5燒寫實例2-LPC2210+SST39VF1601……………….5-12第六章第七章初始化腳本6.1初始化腳本的定義………….6-16.2初始化腳本的編輯………….6-4調(diào)試軟件的配置7.1AXD的配置………………....7-17.2RVDS的配置……………….7-47.3IAR的配置………………….7-87.4KEIL的配置……………….7-12USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReservedIII前言A.關(guān)于本手冊H-JTAG用戶使用手冊簡單介紹了H-JTAG和H-FLASHER的基本使用和配置,同時也提供了一些簡信息,請訪問H-JTAG主頁WWW.HJTAG.COM或技術(shù)支單的例子供用戶參考。如果用戶需要更多的相關(guān)持論壇HTTP://FORUM.HJTAG.COM。B.適合的讀者如果你是一個初級用戶,打算使用H-JTAG進行調(diào)試和開發(fā),本手冊可作為一個快速入門指南。如果你是高級用戶,本手冊可以作為使用參考,用戶可以選擇性的閱讀某些章節(jié)。C.意見反饋如果你發(fā)現(xiàn)本手冊中有不正確的地方,或者有什么好的建議,請發(fā)送電子郵件至twentyone@。USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReservedIV第一章H-JTAG介紹1.1H-JTAG介紹H-JTAG是一款簡單易用的的調(diào)試代理軟件,功能和流行的軟件:H-JTAGSERVER,H-FLASHER和H-CONVERTER。其中,H-JTAGSERVER實現(xiàn)調(diào)試代理的功能,H-FLASHER實現(xiàn)了FLASH燒寫的功能,H-CONVERTER則是一個簡單的文件格式轉(zhuǎn)換工具,支持常見文件格式的轉(zhuǎn)換。H-JTAG的基本結(jié)構(gòu)如下圖所示。MULTI-ICE類似。H-JTAG包括三個工具圖1-1H-JTAG軟件結(jié)構(gòu)H-JTAG支持所有基于的ARM調(diào)試軟件,如ADS、RVDS、IAR和KEIL/MDK。通過靈活的SDT-JTAG,用戶自定義的各種JTAG調(diào)試小板和H-JTAGUSB高速仿真器。外FLASH的燒寫。使用H-JTAG,用建立一個簡單易用的ARM開發(fā)平臺。H-JTAG的功能和CORTEX-M3,ARM7,ARM9和XSCALE芯片的調(diào)試,并且支持大多數(shù)主流接口配置,H-JTAG可以支持WIGGLER,同時,附帶的H-FLASHER燒寫軟件還支持常用片內(nèi)片戶能夠方便的調(diào)試特點總結(jié)如下:1.支持RDI1.5.0以及1.5.1;2.支持所有CORTEX-M3,ARM7,ARM9和XSCALE芯片;3.支持THUMB以及ARM指令;4.支持5.支持SEMIHOSTING;6.支持WIGGLER,SDT-JTAG,自定義JTAG調(diào)試7.支持WINDOWS9.X/NT/2000/XP/VISTA;8.支持常用片內(nèi)FLASH,NORFLASH和NANDFLASH芯片的9.支持LPC1700/2000,AT91SAM,LUMINARY和STM32F系列的片內(nèi)FLASH自動下載;LITTLE-ENDIAN以及BIG-ENDIAN;板和H-JTAGUSB仿真器;編程燒寫;1.2H-JTAG調(diào)試/燒寫結(jié)構(gòu)H-JTAG支持ARM公司的RDI接口。通過RDI接口,H-JTAG能夠支持大多數(shù)主流的ARM調(diào)試軟件。調(diào)試的結(jié)構(gòu)如圖1-2所示。圖1-2H-JTAG調(diào)試結(jié)構(gòu)USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved1-1調(diào)試軟件(AXD/RVDS/IAR/KEIL)通過RDI接口與H-JTAGSERVER進行交互。H-JTAGSERVER通過并口/USB連接JTAG仿真器。H-JTAG提供了靈活的JTAG接口設(shè)置,同時支持并口及USB接口仿真器。通過設(shè)置,H-JTAG可以支持不同類型的JTAG調(diào)試板,例如流行的WIGGLER,SDT-JTAG,用戶也可以根據(jù)自己的需要使用自定義的JTAG調(diào)試板。除了調(diào)試,用戶還可以通過H-FLASHER將程序和數(shù)據(jù)燒寫/下載到FLASH芯片中去。目前,H-FLASHER支持的常見的片內(nèi)和片外FLASH芯片。隨著軟件的更新和升級,H-FLASHER支持的芯片類型也會不斷的增加。在執(zhí)行FLASH燒寫時,H-FLASHER與H-JTAGSERVER的連接如下圖所示:圖1-3H-FLASHER與H-JTAGSERVER的連接燒寫FLASH時,H-FLASHER與H-JTAG的連接交互和調(diào)試的時候十分類似。H-FLASHER通過RDI接口與H-JTAGSERVER進行交互,以訪問和控制目標(biāo)開發(fā)板。根據(jù)用戶提供的配置文件,H-FLASHER最終完成FLASH燒寫工作。1.3H-JTAG支持的ARM內(nèi)核H-JTAG支持常見的ARM內(nèi)核的調(diào)試與燒寫。具體請參考下面的列表:CORTEX-M3ARM7TDMI,ARM7TDMI-S,ARM720T,ARM740TARM9TDMI,ARM920T,ARM922T,ARM940T,ARM926EJ-S,ARM946E-S,ARM966E-SPXA21X,PXA25X,PXA27X,PXA3XX,IXP4XX1.4H-JTAG支持的IDE調(diào)試軟件H-JTAG支持常見的主流IDE調(diào)試軟件,包括SDT2.5,ADS1.2,RVDS2.0,RVDS2.2,KEIL/MDK,IAREmbeddedWorkbench。USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved1-2第二章H-JTAG的安裝和GUI介紹本章將簡單介紹H-JTAG的安裝和卸載,以及H-JTAG與H-FLASHER的GUI(圖形用戶接口)。具體的使用和設(shè)置,請參考4-7章節(jié)。2.1H-JTAG的安裝用戶可以從H-JTAG的主頁WWW.HJTAG.COM下載最新版本的H-JTAG安裝程序。一般情況下,用H-JTAG.EXE。雙擊該文戶下載的是一個壓縮文件(RAR/ZIP)。解壓后,可以得到H-JTAG的安裝文件:件,就可以開始進行安裝。首先,用戶會看到一個歡迎頁面,如圖2-1所示。點擊NEXT,就可以進入到安裝的下一步。圖2-1H-JTAG安裝步驟1在第二步,用戶會看到H-JTAG的使用協(xié)議,如圖2-2所示。請仔細閱讀該協(xié)議。在同意后,請選擇“Iagreewiththeabovetermsandconditions”,然后點擊NEXT,就可以進入到安裝的下一步。表示接受。圖2-2H-JTAG安裝步驟2在第三步,用戶會看到如圖2-3所示的頁面。在該頁面,用戶可以選擇H-JTAG的安裝目錄,或者使用默認的安裝目錄。選擇好目錄后,點擊NEXT進入安裝的下一步。USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved2-1圖2-3H-JTAG安裝步驟3在第四步當(dāng)中,用戶將會看到如圖2-4所示的安裝進度。該圖表示安裝正在進行,H-JTAG將自動安有必要的文件。裝所圖2-4H-JTAG安裝步驟4安裝完成后,用戶將會看到如圖2-5所示的完成。按照提示,點擊FINISH就可以完提示,表示安裝成最后的安裝。圖2-5H-JTAG安裝步驟5USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved2-2安裝完成后,H-JTAG會在開始菜單和桌面上創(chuàng)建相應(yīng)的快捷方式,如圖2-6所示。圖2-6H-JTAG快捷方式注意:H-JTAGUSB仿真器驅(qū)動程序需要另外手動安裝,具體請參考第三章。2.2H-JTAG的卸載如果用戶要卸載H-JTAG,請運行H-JTAG菜單下的UNINSTALL程序。該程序?qū)⒆詣有遁dH-JTAG,并刪除所有的相關(guān)文件。卸載過程當(dāng)中,只需要按照提示操作即可。2.3H-JTAG的GUIH-JTAG運行時,為H-JTAG檢測到的目標(biāo)CPU的類型;(4)為目標(biāo)CPU的芯片ID;(5)依次顯示接口版本,TCK速度和用戶主界面如圖2-7所示。其中,(1)為H-JTAG菜單;(2)為H-JTAG工具欄;(3)了當(dāng)前的調(diào)試軟件,RDI硬件接口。圖2-7H-JTAG主界面H-JTAG的菜單包括了H-JTAG的所有操作和H-JTAG檢測到連接的目標(biāo)開發(fā)后板,在主界面的中央部分會顯示芯片的測失敗,或者芯片無法識別,H-JTAG將會設(shè)置,而工具欄則包括了大部分常用的操作和設(shè)置。當(dāng)類型和其32位芯片ID。如果檢顯示UNKNOWN,提示用戶H-JTAG無法檢測/識別目標(biāo)開發(fā)板。USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved2-32.3.1H-JTAG菜單介紹FILE菜單,如圖2-8所示:圖2-8H-JTAGFILE菜單退出H-JTAG。CONTROL菜單,如圖2-9所示:EXIT–圖2-9H-JTAGCONTROL菜單RESETTARGET–復(fù)位調(diào)試目標(biāo)–檢測調(diào)試目標(biāo)DETECTTARGETKILLCONNECTION–斷開當(dāng)前連接FLASHER菜單,如圖2-10所示:圖2-10H-JTAGFLASHER菜單–啟動H-FLASHERSTARTFLASHERAUTODOWNLOAD–啟用/禁用自動FLASH下載INIT菜單,如圖2-11所示:圖2-11H-JTAGINIT菜單–設(shè)置初始化腳本INITSCRIPTAUTOINIT–啟用/禁用自動初始化USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved2-4TOOLS菜單,如圖2-12所示:圖2-12H-JTAGTOOLS菜單UNLOCKDEBUGPORT(LUMINARY)–解鎖LUMINARY調(diào)試接口SETTINGS菜單,如圖2-13所示:圖2-13H-JTAGSETTINGS菜單USB/LPTSELECTION–USBJTAGSETTINGLPTJTAGSETTINGLPTPORTSETTING并口/USB接口選擇–USBJTAG設(shè)置–LPTJTAG設(shè)置–并口設(shè)置TARGETSETTING–調(diào)試目標(biāo)設(shè)置TARGETMANAGER–TAPCONFIGURATION芯片ID管理器–TAP設(shè)置OPTIONS菜單,如圖2-14所示:圖2-14H-JTAGOPTIONS菜單OPTIONSWINDOWCONNECTMODE––打開選項設(shè)置主窗口連接方式設(shè)置VECTORCATCHCONFIGDISABLESEMIHOSTINGDISABLEVECTORCATCHREPORTDATAABORT–中斷捕獲設(shè)置–禁用SEMIHOSTING功能–禁用中斷向量捕獲功能–啟用/禁用數(shù)據(jù)異常報告USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved2-5DISABLEIARBKPT@0x8–啟用/禁用IAR在地址0x8設(shè)置斷點HELP菜單,如圖2-15所示:圖2-15H-JTAGHELP菜單H-JTAGHOMECHECKUPDATEAUTOUPDATE––訪問H-JTAG主頁–檢查更新禁用/使能自動檢查更新USERMANUALCNUSERMANUALEN–打開中文用戶手冊–打開英文用戶手冊關(guān)于H-JTAGABOUTH-JTAG–2.3.2H-JTAG工具欄介紹H-JTAG工具欄包括了菜單中使用頻率比較高的大部分操作,方便用戶使用。H-JTAG的工具欄如下圖所示。圖2-16H-JTAG工具欄工具欄上每個按鈕的功能定義如下:復(fù)位調(diào)試目標(biāo)檢測調(diào)試目標(biāo)斷開當(dāng)前連接啟動H-FLASHER設(shè)置初始化腳本LPT/USB接口選擇調(diào)試目標(biāo)設(shè)置芯片ID管理器打開選項設(shè)置窗口退出H-JTAG2.3.3H-JTAG系統(tǒng)托盤菜單當(dāng)H-JTAG最小化的時候,主窗口會自動隱藏來,只在系統(tǒng)托盤上顯示H-JTAG的圖標(biāo)。左鍵單擊該圖標(biāo),可以恢復(fù)H-JTAG的主窗口。右鍵單擊該圖標(biāo),可以顯示系統(tǒng)托盤菜單,其中包括了常用的一些操作和設(shè)置按鈕。系統(tǒng)托盤菜單如圖2-17所示:USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved2-6圖2-17H-JTAG系統(tǒng)托盤菜單H-JTAG系統(tǒng)托盤菜單的功能定義如下:RESTORE–恢復(fù)主窗口–訪問主頁–關(guān)于H-JTAGH-JTAGHOMEABOUTH-JTAGOPTIONS–選項菜單SCRIPT–FLASHER腳本菜單–H-FLASHER菜單KILLCONNECTION–斷開當(dāng)前連接DETECTTARGETRESETTARGETEXIT–檢測調(diào)試目標(biāo)–復(fù)位調(diào)試目標(biāo)–退出H-JTAG2.4H-FLASHER的GUIH-FLASHER運行時,其主窗口如圖2-18所示。其中(1)為菜單;(2)為FLASH編程向?qū)^(qū)域;(3)為FLASH燒寫/配置區(qū)域。在FLASH編程向?qū)М?dāng)中,可以選擇不同的步驟。根據(jù)當(dāng)前向?qū)е械倪x擇,配置區(qū)域會顯示不同的設(shè)置。具體請參考第五章。圖2-18H-FLASHER主界面USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved2-72.4.1H-FLASHER的菜單介紹的主菜單如圖2-19所示:H-FLASHER圖2-19H-FLASHER主菜單H-FLASHER菜單的具體定義如下:NEW–創(chuàng)建新的配置文件LOADSAVE–裝載配置文件–保存當(dāng)前配置文件–將當(dāng)前的配置文件另存為–設(shè)置選項SAVEASOPTIONSEXIT–退出H-FLASHERABOUT–關(guān)于H-FLASHER2.4.2H-FLASHER的系統(tǒng)托盤菜單當(dāng)H-FLASHER最小化的時候,主窗口會自動隱藏來,只在系統(tǒng)托盤上顯示H-FLASHER的圖標(biāo)。左鍵單擊該圖標(biāo),可以恢復(fù)H-FLASHER的主窗口可以顯示系統(tǒng)托盤菜單,如圖2-20。右鍵單擊該圖標(biāo),所示:圖2-20H-FLASHER系統(tǒng)托盤菜單H-FLASHER系統(tǒng)托盤菜單的具體定義如下:RESTORE–恢復(fù)主窗口–關(guān)于–退出ABOUTEXITH-FLASHERH-FLASHER2.4.3H-FLASHER的編程向?qū)н@個章節(jié)將簡單介紹H-FLASHER的編程向?qū)?,具體的設(shè)置請參考后面的章節(jié)。編程向?qū)Э偣舶ㄎ鍌€步驟與一個幫助部分。下面我們一起看看每個步驟的設(shè)置。(1)FlashSelectionFlashSelection是編程向?qū)е械牡谝徊剑缦聢D所示。在這一步,用戶需要確定燒寫的目標(biāo)芯片是什么。H-FLASHER支持的所有FLASH芯片都按照生產(chǎn)廠商分類列表(NANDFLASH除外,NANDFLASH單獨歸類再一起)。當(dāng)用戶選定一塊片子的時候,右邊會顯示該芯片的基本信息,例如芯片類型,容量和ID等。USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved2-8圖2-21H-FLASHER編程向?qū)В璅lashSelection(2)ConfigurationConfiguration是編程向?qū)е械牡诙?,如下圖所示。在這一步,用戶需要設(shè)置基本的信息,例如FLASH位寬,F(xiàn)LASH的起始地址,RAM/SDRAM的起始地址,外部晶振的頻率,初始化TCK和編程TCKH-FLASHER會根據(jù)這些信息來完成FLASH燒寫。如驟中的設(shè)置框說明對于當(dāng)前選擇的FLASH芯片來說,芯片的等。這些都是必須的信息,果這個步為灰色,這些信息都是固定的,不需要用戶提供。對大部分的片內(nèi)FLASH而言,這些信息都是固定的,基本不需要用戶提供。圖2-22H-FLASHER編程向?qū)В瑿onfigurationUSERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved2-9(3)InitScriptInitScript是編程向?qū)е械牡谌剑缦聢D所示。在這個步驟當(dāng)中,用戶可以輸入必要的初始化腳本,H-FLASHER首先會執(zhí)行用戶提供的初始化腳本,以初始化目標(biāo)系統(tǒng)。用以配置目標(biāo)系統(tǒng)。在燒寫的時候,然后在根據(jù)用戶提供的配置信息,對目標(biāo)FLASH進行操作。對于片內(nèi)FLASH而言,H-FLASHER的驅(qū)動當(dāng)中已經(jīng)包括了初始化,所以用戶不需要提供初始化腳本。此時,腳本編輯功能會自動被禁用掉。圖2-23H-FLASHER編程向?qū)В璉nitScript(4)ProgrammingProgramming是編程向?qū)е械牡谒牟健T谶@個步驟當(dāng)中,用戶可以對選定的目標(biāo)FLASH芯片進行基擇FLASH,用戶會類型是NORFLASH或是片內(nèi)FLASH,用戶會擇的是NANDFLASH,用戶會看到如圖2-26所示的編程本的操作:復(fù)位,檢測、燒寫、驗證、擦除和檢查芯片是否為空等。如果當(dāng)前沒有選看到如圖2-24所示的提示;如果當(dāng)前選擇的芯片看到如圖2-25所示的編程界面;如果當(dāng)前選界面。圖2-24H-FLASHER編程向?qū)В璓rogramming(未選擇FLASH)USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved2-10圖2-25H-FLASHER編程向?qū)В璓rogramming(選擇片內(nèi)FLASH或NORFLASH)圖2-26H-FLASHER編程向?qū)В璓rogramming(選擇NANDFLASH)USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved2-11(5)ProgramOptionsProgramOptions編程向?qū)е械牡谖宀蕉悟炞C和加密等。H-FLASHER的選項內(nèi)FLASH的選項,三是針對NANDFLASH的選項.在這個步驟中,用戶可以根據(jù)FLASH芯片類型和自己的需要選擇不同的選項。常用的選項包括復(fù)位,分成三類,一是通用選項,二是針對片。圖2-27H-FLASHER編程向?qū)В幊踢x項圖2-28H-FLASHER編程向?qū)Вㄓ镁幊踢x項USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved2-12圖2-29H-FLASHER編程向?qū)В瑑?nèi)FLASH編程選項圖2-30H-FLASHER編程向?qū)В璑ANDFLASH編程選項USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved2-13(6)H-FlasherHelp在H-FALSHER的向?qū)е?,還提供了一些基本的幫助信息,如果下圖所示。這些基本的信息可以幫助用戶了解每個步驟的設(shè)置。圖2-31H-FLASHER編程向?qū)В璈elpUSERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved2-14第三章H-JTAGUSB仿真器本章將簡單介紹H-JTAGUSB仿真器的硬件接口,性能參數(shù),各個仿真器版本的區(qū)別,和USB驅(qū)動程序的安裝.3.1USB仿真器性能參數(shù)與硬件接口H-JTAGUSB仿真器是H-JTAG團隊自主設(shè)計的一款高速USB接口ARM仿真器電源。支持10K~15MHZ的JTAG時鐘,提供最高可達750KB/S的下載速度與最高可達550KB/S讀取速H-JTAG/H-FLASHER配合使用,可以實現(xiàn)高速夠全面滿足用戶的需求。。仿真器采用USB接口供電,無需外接度。與調(diào)試與下載。該仿真器靈活,高效,穩(wěn)定性好,能硬件特性:構(gòu)架:供電:TCK:USB2.0控制器+FPGA接口供電USB10K~15MHz接口:JTAG:電壓:USB2.0高速接口標(biāo)準(zhǔn)20-PINJTAG接口1.8~5.0VJTAG接口電壓注意:H-JTAGUSB仿真器只支持高速USB2.0接口.RAM最高讀寫速度:ARM7-下載速度最高可達750KB/S度最高可達750KB/S下載速度最高可達750KB/S讀取速度最高可達420KB/S讀取速度最高可達340KB/S讀取速度最高可達550KB/S讀取速度最高可達520KB/S度最高可達520KB/SARM9-下載速XSCALE-CORTEX-M3-下載速注意:以上數(shù)據(jù)僅供參考,實際測試可能因硬件平臺的差異得出不同的數(shù)據(jù).仿真器外觀:H-JTAGUSB仿真器的外觀如圖3-1所示.左側(cè)為USB接口,右側(cè)為標(biāo)準(zhǔn)的20針JTAG接口.圖3-1H-JTAGUSB仿真器外觀USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved3-1仿真器上有三個LED指示燈:USB,TGT和ACT.這三個指示燈的作用如下:A.USB–標(biāo)識USB電源B.TGT–標(biāo)識目標(biāo)板的參考電壓C.ACT–動作指示燈,如果閃動表示正在對目標(biāo)系統(tǒng)進行JTAG操作,用來識別USB是否連接;,可以用來識別目標(biāo)板連接是否正確;。H-JTAGUSB仿真器的采用標(biāo)準(zhǔn)的20針JTAG接口,接口信號的定義如下:圖3-2H-JTGUSB仿真器JITAG接口信號定義USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved3-23.2USB仿真器版本及區(qū)別H-JTAGUSB仿真器共有三個版本,分別是普及版,標(biāo)準(zhǔn)版和增強版。從仿真器的外觀顏色可以直接區(qū)分各個版本。如下圖所示,從左到右,分別為普及版,標(biāo)準(zhǔn)版和增強版。(a)普及版(b)標(biāo)準(zhǔn)版(c)增強版圖3-3H-JTAGUSB仿真器版本外觀區(qū)別各個仿真器版本的功能區(qū)別如下表格所示。用戶可以根據(jù)自己的需求進行選擇。HJTAG仿真器版本普及版標(biāo)準(zhǔn)版增強版5倍于并口5倍于并口支持750KB/S550KB/S支持750KB/S550KB/S支持下載速度讀取速度ARM7速度ARM9支持支持支持CORTEX‐M3XSCALE支持支持支持內(nèi)核支持不支持不支持不支持支持支持ARM11不支持不支持支持PXA3XX支持ADS1.2RVDSKEIL/MDKIARNT/WIN2000/WINXP/VISTA調(diào)試軟件支持操作系統(tǒng)支持表3-1H-JTAGUSB仿真器功能區(qū)別USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved3-33.3安裝USB仿真器驅(qū)動程序在安裝好H-JTAG程序后,在H-JTAG的安裝目錄下會有一個Driver目錄,這個目錄包含了H-JTAGUSB仿真器的驅(qū)動程序.下面介紹如何安裝H-JTAGUSB仿真器的驅(qū)動程序.首先,將H-JTAGUSB仿真器通過USB線連到計算機的USB接口上.計算機隨后會提示發(fā)現(xiàn)新硬件,并彈出如下圖所示的硬件安裝向?qū)?圖3-4新硬件安裝向?qū)Вǜ呒墸⊿)”,如下圖所示,然后點擊“下一步(N)”。在向?qū)е?,選擇“從列表或指定位置安裝圖3-5選擇從列表安裝USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved3-4接下來,用戶會看到如下圖所示的搜索路徑和選擇對話框。在這個對話框中,選擇“在這些位置上搜索最佳驅(qū)動程序(S)”?!霸谒阉髦邪ㄟ@個位取消“搜索可移動媒體(軟盤、CD-ROM…)(M)”,選擇置(0)”。同時點擊“瀏覽(R)”按鈕,指向H-JTAG安裝目錄下的Driver文件夾,然后點擊“下一步(N)”。圖3-6搜索和選項對話框在經(jīng)過短暫的搜索后,會彈出如下圖所示的對話框,提示是否為新硬件安裝H-JTAG驅(qū)動。在下面的對話框中,點擊“仍然繼續(xù)(C)”,繼續(xù)安裝。圖3-7確認安裝對話框USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved3-5接下來,用戶會看到如下圖所示的對話框,提示用戶H-JTAG驅(qū)動程序已經(jīng)安裝完成。點擊“完成”按鈕,完成驅(qū)動安裝。圖3-8完成安裝在完成上面的安裝后,用戶可以打開硬件管理器進行查看(我的電腦->右鍵->屬性->硬件->設(shè)備管理)。應(yīng)該能看到H-JTAG,如下圖所示。如H-JTAG,請重新安裝H-JTAG的驅(qū)動程序。如果硬件安裝沒有問題,在設(shè)備管理器里,果在設(shè)備列表里看不到圖3-9查看設(shè)備管理器USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved3-6第四章H-JTAG的使用和配置詳解這個章節(jié)將詳細介紹H-JTAG的使用和配置。在介紹的過程當(dāng)中,還結(jié)合實際,提供了簡單的例子,以幫助用戶更好的理解。4.1檢測調(diào)試目標(biāo)在檢測前,請將H-JTAGUSB仿真器連接到計算機USB接口或?qū)TAG調(diào)試小板連接到計算機并口,并和調(diào)試目標(biāo)連上。在打開H-JTAG的時候,H-JTAG會自動執(zhí)行檢測操作。用戶也可以通過H-JTAG的菜單/工具欄進行檢測。如果檢測成功,H-JTAG主界面將會顯示檢測到的芯片類型和ID。如果檢測失敗,請檢查H-JTAG設(shè)置和硬件連接。4.2復(fù)位調(diào)試目標(biāo)用戶可以通過H-JTAG對調(diào)試目標(biāo)進行復(fù)位。標(biāo)準(zhǔn)的JTAG接口,定義了兩個獨立的復(fù)位信號:系統(tǒng)復(fù)位(nSRST)和JTAG復(fù)位(nTRST)。通過這兩個復(fù)位信號,可以分別執(zhí)行系統(tǒng)復(fù)位和JTAG復(fù)位。用、JTAG復(fù)位,或是同時執(zhí)行。H-JTAG提供了相應(yīng)的選項供用戶選擇,具體請參項。戶可以選擇執(zhí)行系統(tǒng)復(fù)位考H-JTAG常用選提示:因為有些并口JTAG調(diào)試板本身沒有提供系統(tǒng)復(fù)位信號,所以不能通過H-JTAG執(zhí)行系統(tǒng)復(fù)位,只能通過手動進行復(fù)位。有些并口JTAG調(diào)試板將系統(tǒng)復(fù)位和JTAG復(fù)位連接在一起,所以復(fù)位的時候相當(dāng)于同時執(zhí)行了系統(tǒng)復(fù)位和JTAG復(fù)位。4.3FLASH自動下載有些ARM芯片,片內(nèi)集成了FLASH和RAM,方便用戶開發(fā),省去了擴展外部存儲的必要。針對這類芯片,例如LPC2000系列,AT91SAM7系列,LUMINARYCORTEX-M3系列和STM32F系列,H-JTAG提供了FLASH自動下載功能。利用這個功能,調(diào)試的時候可以將程序直接燒寫到FLASH中進行調(diào)試,象直接裝載到RAM/SDRAM里調(diào)試一樣。要使用自動FLASH下載功能,請用戶在H-JTAG里將AUTODOWNLOAD選項打開(圖4-1),并在H-FLASHER里選擇正確的目標(biāo)芯片。設(shè)置好后,H-JTAG會自動根據(jù)程序下載時的地址信息,區(qū)分哪些部分需要下載到RAM/SDRAM中去,哪些部分需要下載/燒寫到FLASH中去。需要燒寫到FLASH中去的程序部分,H-JTAG會自動調(diào)用H-FLASHER完成燒寫。就圖4-1FLASH自動下載設(shè)置提示:FLASH自動下載一般只支持片內(nèi)FLASH,例如LPC2000和AT91SAM7,因為這類芯片的存儲系統(tǒng)相對來說比較簡單和固定。對于支持較復(fù)雜存儲配置的芯片,例如MMU/REMAP等,建議用戶先用H-FLASHER將程序燒寫到FLASH中里去,然后再進行調(diào)試。USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved4-1提示:H-FLASHERLITE不支持FLASH自動下載功能。要使用FLASH自動下載功能,請運行和配置H-FLASHER。4.4設(shè)置初始化腳本對于一般的系統(tǒng)來說,上電后都需要執(zhí)行一些必要的初始化操作和配置,然后才能使用某些功能。一個最常見的初始化操作就是存儲系統(tǒng)的配置。大部分情況下,F(xiàn)LASH和片內(nèi)SRAM在上電后都是可以直接訪問,但片外SDRAM需要預(yù)先配置,才能正確訪問。很多新手往往會碰到程序下載不正確的問題,最常見的是:為什么程序下載后看到的是亂碼?為什么程序會跑飛?為什么跑不到MAIN函數(shù)?很多時候,都是因為沒有對存儲系統(tǒng)進行必要的初始化造成的。執(zhí)行系統(tǒng)初始化有兩種常用的方法。第一種方法是在FLASH芯片里燒一段初始化程序,上電后自動執(zhí)行。這樣,系統(tǒng)每次上電后目標(biāo)系統(tǒng)就自動配置好了,可以直接進行調(diào)試。第種二方法就是通過執(zhí)行腳本以對系統(tǒng)進行初始化。有些調(diào)試器(行執(zhí)行腳本命令。為了方便用戶,H-JTAG也提供了自動初始化的功能。要使用自動初始化功能,用戶首先需要在H-JTAG里輸入/裝載初始化腳本,同時把AUTOINIT選項給打開(圖4-3)。這樣,每次調(diào)試器(DEBUGGER)連接H-JTAG的時候,H-JTAG都會自動執(zhí)行用戶指定初始化腳本設(shè)置窗口如下圖所示:初始化腳本來實現(xiàn)。用戶根據(jù)數(shù)據(jù)手冊編輯好初始化腳本,然后通過DEBUGGER)提供了命令行窗口,用戶可以通過命令的初始化腳本,對系統(tǒng)進行初始化。圖4-2初始化腳本設(shè)置圖4-3自動初始化功能提示:如果用戶打開了H-JTAG的AUTOINIT選項,就必須指定初始化腳本,這樣H-JTAG才知道如何執(zhí)行初始化腳本,H-JTAG會提示:“Can’topenspecifiedinitscript”。初始化。如果打開了該選項,但沒有指定提示:H-JTAG腳本的具體定義,以及腳本的編輯,請參考第六章。USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved4-24.5USB/LPT接口選擇H-JTAG支持并口JTAG調(diào)試板和USB接口H-JTAG仿真器。用戶需要根據(jù)自己使用的硬件,選擇LPT接口或是USB接口,如果圖4-4所示。圖4-4USB/LPT接口選擇4.6設(shè)置JTAG這個小節(jié)簡單介紹了JTAG的接口定義,以及JTAG的配置。最后還提供了一個JTAG設(shè)置的例子,供用戶參考。4.6.1JTAG信號JTAG是由IEEE制定的一個測試標(biāo)準(zhǔn),其標(biāo)準(zhǔn)號為IEEE-1149,如果用戶想詳細了解該標(biāo)準(zhǔn),請參考IEEE的JTAG標(biāo)準(zhǔn)。ARMJTAG調(diào)試接口總共定義了7個基本的信號:TMS、TCK、TDI、TDO、RTCK、nSRST、nTRST。對于ARM7/9的調(diào)試,TMS、TCK、TDI和TDO為必選信號,而RTCK、nSRST、nTRST為可選信號。注意:XSCALE的調(diào)試要求JTAG調(diào)試板提供nSRST和nTRST信號,并且必須是獨立的。否則,無法進行調(diào)試。4.6.2JTAG連接H-JTAG通過與并口/USB連接的JTAG控制器來產(chǎn)生JTAG信號,并控制ARM處理器。連接如圖4-5所示。其中JTAG接口是定義在ARM目標(biāo)用標(biāo)準(zhǔn)的20-PIN或14-PIN的JTAG接口,可以使用USB接口的H-JTAG仿真器,于并口的JTAG調(diào)試板。如果使用并口調(diào)試板,用戶需要提供并口與JTAG調(diào)試板的通過調(diào)試目標(biāo)板的JTAG接口來典型的開發(fā)板上的,一般都采不需要用戶設(shè)置。用戶或是基具體連接。具體設(shè)置請參考后面的小節(jié)。圖4-5JTAG連接USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved4-34.6.3USBJTAG設(shè)置H-JTAGUSB仿真器支持不同的TCK速率(10K–15MHz),用戶可以在USBJTAG設(shè)置對話框里選擇合適的TCK速率。除了指定特定的TCK速率,用戶也可以選擇AUTOTCK。當(dāng)選擇AUTOTCK的時候,H-JTAG會通過測試選擇適合目標(biāo)系統(tǒng)的TCK速率。圖4-6USBTCK設(shè)置提示:TCK速率的選擇會直接影響調(diào)試速度。不同的目標(biāo)系統(tǒng)支持的最高TCK速率不一樣.。另外,TCK速率和目標(biāo)系統(tǒng)的時鐘設(shè)置也有很大的關(guān)系。用戶需要根據(jù)目標(biāo)系統(tǒng)選擇合適的TCK速率,否則調(diào)試會出錯。選擇AUTOTCK的時候,H-JTAG有可能會設(shè)置過高的TCK速率,如果遇到此類情況,請手動選擇低一些的TCK速率。4.6.4LPTJTAG設(shè)置簡單的并口JTAG調(diào)試板并沒有固定的電路圖,就算是常用的WIGGLER和SDT-JTAG,也沒有固定的電路圖。例如,有些WIGGLER支持系統(tǒng)復(fù)位信號(nSRST),而有些卻沒有。有些板子的系統(tǒng)復(fù)位信號和JTAG復(fù)位信號是獨立的,有些卻是連接在一起的。針對這樣的情況,H-JTAG提供了靈活的并口JTAG設(shè)置,以支持不同的并口JTAG調(diào)試板。用戶需要根據(jù)自己使用的JTAG調(diào)試板進行設(shè)置,告訴H-JTAG并口與JTAG調(diào)試板是如何連接的。并口提供了8位數(shù)據(jù)位D0-D7,其方向為輸出。我們可以利用這些數(shù)據(jù)位來輸TCK、TDI、nSRST、nTRST。并口還提供了幾個狀態(tài)位,其方向為輸入。我們可以利用其中的一位來讀取TDO的狀態(tài)。所以,JTAG的設(shè)置就是要告訴H-JTAG,并口與JTAG調(diào)試板是如何連接的,并口數(shù)據(jù)位/狀態(tài)位與JTAG信號是如何一一對應(yīng)的。在提供了nSRST/nTRST信號的JTAG調(diào)試板上,復(fù)位信號有可能是經(jīng)過反向電平的。所以,用戶也需要在配置的時候告訴H-JTAG復(fù)位信號是否是反向的。這樣H-JTAG才能正確的執(zhí)行復(fù)位操作。出JTAG控制信號:TMS、三極管來產(chǎn)生反向下面我們來看一個例子。假設(shè)并口JTAG調(diào)試板的電路圖如圖4-7所示。從圖中我們可以發(fā)現(xiàn)并口和JTAG接口的連接如下,其中nTRST信號經(jīng)過了一個反向三極管,而nSRST信號根本沒有提供。TMSTCK并口D1(PIN3)并口D2(PIN4)TDI并口D3(PIN5)TDOnTRSTnSRST并口BUSY(PIN11)并口D0(PIN2)反向沒有提供USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved4-4圖4-7并口JTAG調(diào)試板電路圖根據(jù)圖4-7所示的JTAG調(diào)試板的電路圖和上面的分析,JTAG設(shè)置可以采用下面的任何一種設(shè)置。下面的設(shè)置明確的告訴了H-JTAG并口和JTAG調(diào)試板是如何連接的。圖4-8并口JTAG設(shè)置實例上面我們給出了一個并口JTAG配置的實例,供用戶參考。在實際應(yīng)用當(dāng)中,用戶需要根據(jù)自己使用的并口JTAG調(diào)試板的電路圖,進行相應(yīng)的設(shè)置。在并口JTAG設(shè)置中,用戶也可以根據(jù)需要選擇不同的TCK速度,設(shè)置窗口如下圖所示。因為并口的速度本身比較慢,大部分情況下,用戶不需要降低TCK的速度,所以戶選擇默認設(shè)置MAX/1。建議用圖4-9設(shè)置并口TCK速度USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved4-54.7設(shè)置并口對于大部分計算機,并口的默認地址都是0x378,但也有些計算機的并口地址不是0x378。H-JTAG提供了并口設(shè)置窗口,用戶可以根據(jù)自己的情況設(shè)定并口地址。并口設(shè)置窗口如下圖所示。在并口設(shè)置窗口上還有一個端口測試按鈕,用戶可以用它對并口做簡單的讀寫測試。圖4-10并口設(shè)置4.8設(shè)置調(diào)試目標(biāo)H-JTAG通過JTAG讀取芯片的芯片。如果H-JTAG不能識別調(diào)試目標(biāo),定ARM內(nèi)核。TARGETSETTINGS的設(shè)置窗口如圖4-11所示。ID,并根據(jù)此ID來判斷調(diào)試目標(biāo)采用的是什么ARM內(nèi)核。H-JTAG可以識別常用的大部分用戶可以在TARGETSETTINGS里手動指一般的ARM芯片,都同時支持大小端(LittleEndian/BigEndian)。不同的方式,數(shù)據(jù)和指令的存儲是完全不同的,具體的請參考數(shù)據(jù)手冊。如果大小端設(shè)置不正確,調(diào)試的時候肯定會出問題。用戶需要在TARGETSETTINGS里面指定調(diào)試目標(biāo)的大小端。大小端的選擇如下圖所示:圖4-11調(diào)試目標(biāo)設(shè)置4.9添加芯片ID上面我們到提,H-JTAG根據(jù)芯片ID來判斷芯片使用的是什么ARM內(nèi)核。對于不能識別的芯片,用戶可以手動指定其類型。同時,用戶也可以將新的ID添加到H-JTAG的芯片列表當(dāng)中去。這樣H-JTAG就可以自動檢測該芯片。H-JTAG提供了TARGETMANAGER,用戶可以利用這個管理器添加新的芯片ID,或刪除已經(jīng)存在的芯片ID。要添加新的芯片ID,用戶需要在管理器中輸入新ID,并指定該ID對應(yīng)的ARM內(nèi)核。完成后,H-JTAG會自動更新芯片列表。H-JTAG的TARGETMANAGER如下圖所示:USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved4-6圖4-12調(diào)試目標(biāo)管理器提示:根據(jù)IEEE1149標(biāo)準(zhǔn),芯片ID為32位,并且ID的最低位必須為1。用戶可以通過這點來判斷芯片ID的有效性。同時,如果用戶有H-JTAG不能識別的芯片,歡迎你把芯片ID和型號發(fā)給我們,我們會及時更新H-JTAG的芯片列表。4.10TAP設(shè)置對大部分的ARM芯片而言,ARMJTAG掃描鏈?zhǔn)仟毩⒌摹τ谶@樣的芯片,TAPCONFIGURATION應(yīng)該采用默認設(shè)置,如下圖所示。下圖表示在ARM掃描鏈的前面和后面都沒有串接別的掃描鏈。圖4-13TAP默認設(shè)置有些ARM芯片的JTAG掃描鏈?zhǔn)呛托酒渌考腏TAG掃描鏈串接在一起的。這樣的用戶需要在TAPCONFIGURATION里進行相應(yīng)的其內(nèi)部的JTAG掃描鏈如圖4-14所示中可以看到,STR91xF芯片描鏈包括三部分:TAP#1,TAP#2和TAP#3。其中TAP#2是ARM調(diào)試需要訪的問掃描鏈。在ARM掃描前面和后面都串接了別的他們的指令寄存器的長度分別為5-Bit和8-Bit。對STR91xF芯片言,TAPCONFIGURATION應(yīng)該設(shè)置成圖4-15所示。圖4-15的設(shè)置告訴H-JTAG,在ARM掃描鏈之前有一條別的掃描鏈,指令寄存器的長度為5-Bit,在ARM掃描鏈的后面也有一條別的器的長度為8-Bit。這樣,H-JTAG就知道該如何正確訪問STR91xF內(nèi)部的ARM調(diào)試掃描鏈。內(nèi)部集成的芯片比較特殊。對于這類特殊的芯片,設(shè)置。例如,ST公司的STR91xF芯片,。從圖內(nèi)部的掃鏈的掃描鏈,而掃描鏈,其指令寄存USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved4-7圖4-14STR91xF掃描鏈內(nèi)部結(jié)構(gòu)圖4-15TAP設(shè)置(STR91xF)4.11H-JTAG常用選項H-JTAG提供了一些常用的選項供用戶選擇。用戶可以通過選項設(shè)置主窗口進行設(shè)置,也可以通過OPTIONS菜單進行快速設(shè)置。選項設(shè)置主窗口如下圖所示。用戶可以在左側(cè)窗口選擇需要設(shè)置的選項,然后在右邊窗口進行設(shè)置。圖4-16選項設(shè)置主窗口H-JTAG提供了幾個常用選項:CONNECTIONMODE設(shè)置時候,用戶可在CONNECTIONMODE里選擇不同的連接方式。H-JTAG支持不同的連接模不同的需求。在調(diào)試的式,以滿足用戶USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved4-8VECTORCATCH設(shè)置H-JTAG集中管理VECTORCATCH,如圖4-17所示。在VECTORCATCH設(shè)置斷或異常。如果全局DISABLEVECTORCATCH選項被使能,VECTOR里,用戶可以選擇在調(diào)試過程中需要捕獲的中CATCH的設(shè)置將被忽略。圖4-17VECTORCATCH設(shè)置DISABLESEMIHOSTINGSemihosting是一種輔助調(diào)試機制,用來實現(xiàn)主機與目標(biāo)開發(fā)板的通信。但需要仿真器和目標(biāo)程序的配合和支持,而且Semihosting只能用在調(diào)試上,在實際的產(chǎn)品當(dāng)中是不能使用的。因為Semihosting會占用斷點資源,建議用戶在調(diào)試的時候禁用掉該功能。DISABLEVECTORCATCHVectorCatch是用來捕獲異常的。如用戶出現(xiàn)了異常。VectorCatch也會占用斷點資源,建議用戶在果打開了該選項,并在調(diào)試軟件里做了相應(yīng)的設(shè)置,ARM處理器出現(xiàn)異常的時候,調(diào)試軟件就會提示調(diào)試的時候,禁用掉該功能。REPORTDATAABORT在調(diào)試的過程當(dāng)中,即使在CPU停止運行的時候,例如設(shè)置/清除斷點。有可能會出現(xiàn)數(shù)據(jù)異常。例如,訪問未定義的存儲空間,或是訪問受保護果用戶打開了REPORTDATAABORT選項,H-JTAG在檢測到提示用戶。否則,H-JTAG只是在內(nèi)部進行處理,用戶。用戶可以根據(jù)自己的需要進行選也需要對存儲系統(tǒng)進行讀寫,在對存儲進行讀寫的時候,的存儲空間。如而不會提示擇。DISABLEIARBKPT@0x8用IAR調(diào)試的時候,IAR會在地址0x8設(shè)置所以始終會占用一個斷點資源。在FLASH內(nèi)調(diào)試的時候,用可以選擇禁止IAR在地址0x8設(shè)置從而騰出一個斷點資源供調(diào)試使用。一個斷點,這個斷點在IAR的斷點列表里是看不見的。斷點資源通常比較緊張。通過這個選項,斷點,4.12TOOLS工具TOOLS菜單提供了一些常用的工具。目前,暫時只支持解鎖LUMINARY系列的調(diào)試端口。以后會根據(jù)用戶的需求進行擴展。USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved4-94.13檢查軟件更新通過H-JTAG的CHECKUPDATE菜單,用戶可以檢查是否有新的版本可以下載。如果有更新的版本,H-JTAG會提示用戶下載也可以訪問H-JTAG的主頁以多的更新信息。。用戶獲得更USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved4-10第五章H-FLASHER的使用和配置詳解這個章節(jié)詳細介紹了H-FLASHER的使用和配置。同時還提供了兩個配置實例,供用戶參考。5.1H-FLASHER工作流程H-FLASHER的工作原理很簡單,其流程如圖5-1所示。H-FLASHER的工作流程分為四個主要的步驟:執(zhí)行初始化腳本、下載FLASH燒寫驅(qū)動程序到RAM、檢查FLASHID和對FLASH執(zhí)行用戶如果任何一個步驟H-FLASHER都會提示指定的操作。出錯,錯誤,中斷當(dāng)前的操作。圖5-1H-FLASHRE工作流程5.1.1ExecuteInitScript如果用戶指定了初始化腳本,H-FLASHER首先會執(zhí)行用戶指定的初始化腳本。如果用戶沒有指定初H-FLASHER會直接跳過這H-FLASHER會停止當(dāng)前的始化腳本,或是不需要用戶提供初始化腳本,一步。在初始化的時候,如果腳本有錯或執(zhí)行腳本的時候出錯,操作,并提示錯誤。如果初始化成功,則準(zhǔn)備下載FLASH驅(qū)動。5.1.2DownloadFlashDriver初始化完成后,H-FLASHER會根據(jù)用戶SRAM/SDRAM中去。如戶:Can’tdownloaddrivertospecifiedaddress。選擇的FLASH型號和位寬,查找相應(yīng)的驅(qū)動。然后把驅(qū)動下載到用戶指定的果下載成功,則進入下一步;否則停止當(dāng)前的操作,并提示用USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved5-15.1.3CheckFlashIDFLASH驅(qū)動程序下載成功后,H-FLASHER會馬上讀取FLASH的ID。這樣做有兩個作用,一是看看在指定的地址上是否能訪問FLASH;二是通過ID來判斷用戶選擇的FLASH芯片型號和目標(biāo)系統(tǒng)上的FLASH芯片是否一致。如果H-FLASHER讀取的ID和實際的FLASHID不一致,用戶也可以在編程選項里選擇SKIPIDCHECK。5.1.4Read/Erase/Program/Verify/CheckBlank在前面的步驟都成功執(zhí)行后,H-FLASHER就會根據(jù)用戶的請求對FLASH芯片執(zhí)行相應(yīng)的操作,例如:讀取,擦除,編程,校驗和檢查FLASH是否為空。操作完成后,提示用戶操作是否成功。5.2H-FLASHER編程向?qū)-FLASHER提供了編程向?qū)?,以方便用戶配置和燒寫FLASH。用戶可以一步一步的按照編程向?qū)峁┑奈鍌€步驟進行設(shè)置。在介紹了H-FLASHER的基本工作流程后,下面將介紹在編程向?qū)У拿總€步驟中,該如何進行設(shè)置。5.2.1FlashSection在這個步驟當(dāng)中,用戶需要在FLASH的芯片信息和目標(biāo)系統(tǒng)上的FLASH芯片的信息所以正確選擇FLASH芯片型號很重要。FLASH芯片型號,并確定H-FLASHER提供是一致的。因為不同的FLASH芯片定義了不同的操作命令,5.2.2Configuration在這個步驟當(dāng)中,用戶需要提供基本的配置信息,包括FLASH的位寬芯片數(shù)量,F(xiàn)LASH的起始地址,RAM的起始地址,外部晶振的頻率和不同階段使用的TCK頻率.(1)位寬有些片外FLASH的讀寫操作同時支持片支持不同的讀寫位寬,需要用戶根據(jù)實際的硬件連接選擇FLASH采用的位寬FLASH工作的位寬不一樣,F(xiàn)LASH燒寫驅(qū)動也有所區(qū)別。如果目標(biāo)FLASH芯片只支持式,則不需要指定。另外,在設(shè)計當(dāng)中,有時候也會使用2片或多片F(xiàn)LASH組成一個容量更大的存儲模塊.對于多芯片的情況,用戶還需要正確指定芯片的數(shù)量和FLASH芯片數(shù)量不同的位寬,例如8-BIT、16-BIT或32-BIT。如果FLASH芯。因為不同的連接,一種讀寫方.(2)FLASH起始地址H-FLASHER需要知道FLASH的起始地址,才能對FLASH進行正確的操作。所以,用戶需要指定FLASH的起始地址。H-FLASHER會根據(jù)用戶指定的起始地址和FLASH的容量自動計算FLASH的有效地址空間:FLASHSTARTADDRESS~(FLASHSTARTADDRESS+SIZE–1)。對FLASH進行寫操作的時候,如果燒寫目的地址不在這個范圍內(nèi),H-FLASHER將會提示OUTOFRANGE的錯誤。大部分情況下,F(xiàn)LASH都可以從地址0X0訪問,而不需要特別的初始化。但有些目標(biāo)系統(tǒng)支持REMAP,可以把FLASH配置到不同的地址。對于這樣的系統(tǒng),用戶需要保證設(shè)置的FLASH起始地址與提供的初始化腳本是相一致的,以免出錯。USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved5-2(3)RAM起始地址在燒寫的時候,F(xiàn)LASH驅(qū)動需要使用4KByte的RAM空間,所以需要用戶指定一段>=4KByte的RAM空間。在用戶指定RAM開始地址(RAMSTARTADDRESS+4K–1)的范圍內(nèi)。FLASH驅(qū)動如果目標(biāo)系統(tǒng)有片內(nèi)SRAM,建議用戶使用片內(nèi)SRAM,因為片內(nèi)SRAM的速度比外部SDRAM快。在設(shè)置初始保證用戶指定的RAM后,H-FLASHER會把FLASH驅(qū)動下載到RAMSTARTADDRESS~可以下載到片內(nèi)SRAM或是片外SDRAM?;_本的時候,請?zhí)峁┍匦璧某跏蓟_本,對存儲系統(tǒng)進行初始化,空間是可以被正確訪問的。(4)XTAL對有些芯片而言,H-FLASHER需要知道目標(biāo)系統(tǒng)外接晶振的頻率。FLASH驅(qū)動會根據(jù)用戶指定的XTAL頻率對系統(tǒng)時鐘進行配置,以獲得更好的燒寫速度.在選定FLASH芯片型號后,如果XTAL對則說明不需要用戶指定XTAL。應(yīng)的編輯框處于禁用狀態(tài),(5)INITTCK和PGMTCKINITTCK和PGMTCK分別指定化期間使用的TCK頻率和在燒寫過程中使用的TCK頻率.在對目標(biāo)系統(tǒng)執(zhí)行初始化之前,目標(biāo)系統(tǒng)支持的TCK頻率可能比較低.在對目標(biāo)系統(tǒng)執(zhí)行初始化后,(例鐘),目標(biāo)系統(tǒng)可以支持更高的TCK頻率.這樣用戶就可以指定在不同階段使用的TCK頻率.讓H-FLASHER在初始化階段使用較低的INITTCK,以順利完成初始化操作.在對FLASH了初始如配置了系統(tǒng)時進行操作的過程中,使用較高的PGMTCK,以達到更好的速度.注意:INITTCK和PGMTCK設(shè)置只對H-JTAGUSB仿真器有效.并且只有在同時指定了2個TCK頻率的時候生效.5.2.3InitScript在這個步驟當(dāng)中,用戶需要腳本編輯窗口,用戶可以添加和刪除腳本,便閱讀。關(guān)于初始化腳本的具體定義和編輯,請參考第六章。提供初始化腳本,用以對目標(biāo)系統(tǒng)進行初始化。H-FLASHER專門提供了并對腳本進行排序。用戶也可以給每個腳本命令添加注釋,方對片內(nèi)FLASH而言,一化腳本。而對片外FLASH,一般都需要用戶提供初始化腳本。初始化腳本主要有兩個作用:一是設(shè)置系統(tǒng)時這可以保證ARM處理器的運行速度;二是配置調(diào)試目標(biāo)的存儲系統(tǒng),以保證H-FLASHER可以對FLASH進行操作,同時也保證FLASH驅(qū)動以正確下載到目標(biāo)系統(tǒng)的SRAM/SDRAM中去。般不需要用戶提供初始鐘,正確的可初始化腳本直接影響到FLASH驅(qū)動drivertospecifiedaddress,大部分情況下都是用戶求用戶了解。建議用戶仔細閱讀目標(biāo)芯片的是否能成功下載。如果H-FLASHER提示錯誤:Can’tdownload沒有提供初始化腳本不正確。要提供正確的初始化腳本,要對目標(biāo)系統(tǒng)有一定的數(shù)據(jù)手冊,特別是化腳本,或是初始存儲設(shè)置部分。提示:在使用H-JTAG仿真器的時候,為了提高性能,建議用戶添加系統(tǒng)時鐘配置腳本.這樣可以有效的提高TCK時鐘和FLASH燒寫速度.USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved5-35.2.4Programming在這個步驟當(dāng)中,用戶可以對FLASH芯片執(zhí)行以下的操作:檢查FLASH及其目標(biāo)系統(tǒng)的基本信息、對FLASH進行燒寫,擦除,校驗和檢查FLASH是否為空。(1)Reset這個操作可以用來對目標(biāo)系統(tǒng)執(zhí)行系統(tǒng)復(fù)位。前提條件是用戶使用的仿真器提供了系統(tǒng)復(fù)位信號。(2)Check這個操作可以讀取目標(biāo)系統(tǒng)上的FLASH的ID及其處理器的基本信息。用戶可以使用Check功能來檢查用戶的配置是否正確,讀取的目標(biāo)系統(tǒng)的信息是否正確。(3)UnProtect這個操作可以用來解鎖加密過的FLASH。如果用戶選擇的FLASH不支持該操作,這個按鈕會被自動內(nèi)FLASH。禁用掉。目前支持該操作的FLASH有STM32FCORTEX-M3系列片(4)ProgramH-FLASHER提供了三種燒寫方式供用戶Format。在燒寫的數(shù)據(jù)/程序和目的地址都是必須提供的。這三種方式的唯一區(qū)別在于這選擇:AutoFlashDownload,IntelHEXFormat,和PlainBinary燒寫的時候,些信息由哪里獲得。A-AutoFlashDownload采用這種方式的時候,用戶不需要指定源文件和目的地址。要燒寫的數(shù)據(jù)和燒寫的目的地址都是由H-JTAG提供給H-FLASHER的。B-IntelHEXFormat因為HEX文件本身包含了地址信息。所以,選擇這種文件格式的時候,用戶只需要指定HEX文件的路徑,而不需要指定燒寫的目的地址。H-FLASHER會自動從HEX文件中提取地址信息。C-PlainBinaryFormatBinary文件本身不包含除了程序/數(shù)據(jù)外的任何其它信息。所以,選擇這種文件格式的時候,用戶需要同時指定二進制文件的路徑和燒寫的目的地址。(5)Verify這個操作可以用來驗證燒寫是否正確.Verify操作會將FLASH的內(nèi)容讀取回來,然后和用戶指定的文件進行比較.以確定燒寫是否成功.(6)Erase&CheckBlank用戶可以對FLASH進行擦除和檢查FLASH是否為空。在執(zhí)行這兩個操作的時候,用戶可以選擇對整塊FLASH執(zhí)行操作,或是通過FROM與TO下拉框選擇操作的地址范圍。(7)ReadH-Flasher還提供了讀取操作,用以讀取存儲系統(tǒng)的內(nèi)容并保存到計算機。USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved5-45.2.5ProgramOptionsH-FLASHER提供了些常用的選項,例如復(fù)位操作,二次驗證和加密等。在這個步驟中,用戶可以根據(jù)自己的需要進行選擇。下面是關(guān)于各個選項的具體描述。RESET如果選擇該選項,H-FLASHER將在燒寫完成后,復(fù)位系統(tǒng)目標(biāo)。VERIFICATION如果選擇了該選項,H-FLASHER將在燒寫完成后,將FLASH的數(shù)據(jù)讀取回來,和燒寫文件進行對比,做二次校驗。SKIPIDCHECK有些FLASH芯片的的檢查。如果選擇了該選項,ID可能會隨著硬件版本的修改而有變化,用戶可以通過這個選項來控制FLASHIDH-FLASHER將跳過FLASHID的檢查。ERASECHIP一般情況下,H-FLASHER在燒些過程中只會擦除受到影響的SECTOR。如果選擇了該選項,H-FLASHER將在執(zhí)行燒寫前,執(zhí)行整片擦除操作。SMARTMODE如果選擇了該選項,H-FLASHER在擦除FLASH前,會將FLASH中受到影響的部分?jǐn)?shù)據(jù)給讀取并保存下來,在燒寫的時候,再恢復(fù)到FLASH中去。通過SMARTMODE,可以保證在燒寫完成后,除了被燒寫文件覆蓋的空,間FLASH內(nèi)其它空的間數(shù)據(jù)不會改變。NXPLPC1700/2000對LPC系列的ARM芯片來說,向量表的校驗和是芯片內(nèi)部的BOOT程序判斷FLASH內(nèi)的用戶程序是否有效的標(biāo)志。這個選項用是否讓H-FLASHER調(diào)整向量表的校驗和。默認自動調(diào)整燒寫文件。如戶不希望H-FLASHER調(diào)整向量表,請使能該選項來控制在燒寫過程中,情況下,果用。ATMELAT91SAM這個選項用來控制在燒寫完成后,是否自動設(shè)置AT91SAM芯片內(nèi)部的加密位,以保護用戶的程序。STSTM32F這個選項用來控制在燒寫完成后,是否設(shè)置STM32F芯片內(nèi)部的RDP字節(jié),以保護用戶的程序。NANDFLASH燒寫選項NANDFLASH的燒寫比較靈活與復(fù)雜。對NANDFLASH進行燒寫,用戶需要指定下列的信息。9ProgrammingMode:選擇NANDFLASH的燒寫模式,SKIP模式還是RELOCATOIN模式;9ScanofBadBlocks:控制在RELOCATION燒寫模式下,如何掃描壞塊表,是擦除整片F(xiàn)LASH,還是只擦除需要用到的塊,保留的Relocation區(qū)域和保留的UserTable區(qū)域;USERMANUALCopyright?2009WWW.HJTAG.COMAllRightsReserved5-59ReservedAreaforRelocation:Relocation的區(qū)域用戶指定的用來。如果燒寫的時候,碰到壞塊,在用戶指定的Relocation區(qū)域中尋找合適的壞,進行替換,并燒寫;9ReservedAreaforUserTable:指定用戶用來存放RelocationTable或別的信息的區(qū)域;H-FLASHER支持2種燒寫模式。第一種是Skipbadblockandjumptonextone。第二種是Relocatebadblocktoreservedarea。在SKIP燒寫模式下,如果在燒寫過程中碰到壞塊,H-FLASHER會跳過當(dāng)前的壞塊,順序的將數(shù)據(jù)寫到下一個好塊中去。在RELOCATE燒寫模式下,H-FLASHER會先根據(jù)用戶信息,擦除整片F(xiàn)LASH,或是只擦除需要使用的塊,用戶指定的ReservedAreaforRelocation區(qū)域和ReservedAreaForUserTable區(qū)域。通過擦除操作,H-FLASHER可以獲取關(guān)于NANDFLASH芯片的壞塊信息。在燒寫過程中,如果碰到壞塊,H-FLASHER會在ReservedAreaforRelocation區(qū)域塊中去,同時記錄下替換信息。在燒寫完成后,H-FLASHER會將獲取的送給NANDFLASH驅(qū)動程序。在NANDFLASH驅(qū)動程序的nand_info_table()函數(shù)中,用戶實際需求,在NANDFLASH的ReservedAreaforUserTable區(qū)域中建立自提供的塊,包括燒寫需要使用的中搜索第一個可以使用的替換塊,并將原本要燒寫到當(dāng)前壞塊中的數(shù)據(jù)燒寫到替換壞塊表信息和替換表信息傳可以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 瓷磚工地施工合同協(xié)議
- 甲乙方合同協(xié)議
- 2025年家用塑料墊項目發(fā)展計劃
- 2025年高吸收加脂劑項目合作計劃書
- 物業(yè)管理服務(wù)合同
- 2025年刮墨刀項目發(fā)展計劃
- 自動擦鞋器企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 電爐錳鐵企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 計量服務(wù)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 新能源汽車空壓機企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 精神疾病治療新靶點-深度研究
- 教學(xué)課件-統(tǒng)計學(xué)(第三版)袁衛(wèi)
- 醫(yī)院保安員培訓(xùn)
- 教學(xué)設(shè)計-3.5函數(shù)的最值及其應(yīng)用
- CNAS-CL01:2018 檢測和校準(zhǔn)實驗室能力認可準(zhǔn)則
- 血透室敘事護理
- 2024-2025學(xué)年湖南省邵陽市新邵縣第二中學(xué)高二上學(xué)期期中考試英語試卷
- 學(xué)習(xí)通《形勢與政策》2025春章節(jié)測試答案
- 2025年中共涼山州委辦公室面向全州考調(diào)所屬事業(yè)單位工作人員高頻重點模擬試卷提升(共500題附帶答案詳解)
- 夏季貨車行車安全教育
- 【基礎(chǔ)卷】同步分層練習(xí):五年級下冊語文第14課《刷子李》(含答案)
評論
0/150
提交評論