960 likes | 1.14k Views
第 十 章 DMA-ARM USB 模擬器. DMATEK CO.,LTD 深圳市長高科技有限公司. 在這章節將詳述 DMA-ARM USB 模擬器在 DMA-2440XP 教學平台與 DMA-6410XP 教學平台上如何安裝與使用相關的軟體程式,以完成程式撰寫與除錯的功能。 本章的主要內容有: - 說明 USB 模擬器的功能 - 程式的下載與除錯 - RVDS 的使用. 10-1 DMA-ARM USB 模擬器簡介:
E N D
第十章DMA-ARM USB模擬器 DMATEK CO.,LTD 深圳市長高科技有限公司
在這章節將詳述DMA-ARM USB模擬器在DMA-2440XP教學平台與DMA-6410XP教學平台上如何安裝與使用相關的軟體程式,以完成程式撰寫與除錯的功能。 • 本章的主要內容有: • - 說明USB模擬器的功能 • - 程式的下載與除錯 • - RVDS的使用
10-1 DMA-ARM USB模擬器簡介: • DMA-ARM USB模擬器是一款功能強大的模擬器,它採用的不是像一般模擬器的並列埠介面,而是當前非常流行的USB介面,目前PC主機和Notebook的Mainboard並列埠日漸稀少,所以需要用到模擬器的話USB介面適用範圍更加廣泛。它支援所有ARM JTAG支援的處理器,同時還支援Intel-XScale / ARM11系列處理器。 • 以下是DMA-ARM USB模擬器的產品如下圖10-1所示:
DMA-ARM USB模擬器及其驅動程式,具有如下功能以及特點: • 支援ARM7/ARM9/XScale/ARM11系列CPU • 支援USB 2.0/USB 1.1,自動識別 • 核心部分使用CPLD設計 • 使用USB 介面供電 • JTAG介面電壓由目標板決定,可以支援多種電壓的CPU
10-1.1 DMA-ARM USB硬體介面 • 1) USB • 支援 USB 2.0/USB1.1。 • Note: 使用USB 2.0介面時速度遠高於使用USB 1.1介面,建議使用USB 2.0介面。 • 2) LED • ARM USB在JTAG介面邊有2個LED,一個紅色,一個綠色。 • 紅色LED:電源指示。在USB介面連接USB線,ARM USB電源正常後,紅色LED亮;如果連接USB線後,紅色LED仍然保持暗,說明硬體有問題。 • 綠色LED:資料傳送指示。在JTAG介面有資料傳送時,綠色LED亮。
圖10-2為接腳信號排列示意圖 • 3) JTAG • ARM USB支援20針接腳的JTAG介面,接腳信號排列如下圖10-2所示:
信號說明如下: • 1) TDI、TDO、TMS、TCK: JTAG 介面信號 • 2) TRST:平時為高阻態,為低時用於重置晶片內的TAP,如果您的平台不能支援此信號, 請透過軟體禁止此信號。軟體禁止後,此信號一直為高阻態。 • 3) SRST:平時為高阻態,為低時用於重置平台,如果您的平台不能支援此信號, 請透過軟體禁止此信號。軟體禁止後,此信號一直為高阻態。 • 4) Vref:JTAG介面參考電壓。TDI,TDO,TMS,TCK的電壓由此信號決定,如,Vref為3.3V,則TDI,TMS,TCK輸出高電位水平訊號時,為3.3V(實際信號略低);如,Vref為5V則TDI、TMS、TCK輸出高電位水平訊號時,為5V(實際信號略低)。 • 5) Vsup:ARM USB 透過此接腳檢測目標板的供電情況。
圖10-3為ARM USB上的JTAG介面重置電路示意圖 • 10-1.2 DMA-ARM USB JTAG介面Reset電路
上圖10-3所示,為ARM USB上的JTAG介面重置電路。oTRST/oSRST 為ARM USB上CPLD輸出的重置信號,高電位水平訊號有效。 一般情況下,oTRST/oSRST為低電位水平訊號,三極體Q1/Q2均截止,不影響目標板的重置。 • 透過ARM USB重置目標板時,oTRST/oSRST輸出高電位水平訊號,高電位水平訊號持續時間為10mS,Q1/Q2飽和導通,nTRST/nSRST為低電位水平訊號,可用於重置目標板。 • 如果在Banyan Daemon中沒有Enable TRST,oTRST將一直輸出低電位水平訊號,Q2保持截止狀態,不會影響目標板的重置;如果在Banyan Daemon中沒有Enable SRST,oSRST將一直輸出低電位水平訊號,Q1保持截止狀態,不會影響目標板的重置。
如果設置TRST/SRST為Enable,一般ARM USB在以下情況重置目標板: 1) 自動檢測目標CPU核心類型 2)自動檢測目標CPU核心類型結束 3) Banyan DLL被載入執行 4)使用Banyan Daemon上的重置功能
10-2DMA-ARM USB功能特點及設定: • USB Banyan Daemon(以下簡稱為DaemonU)為ARM USB的驅動程式,具有如下功能: • 支援ARM7/ARM9/XScale/ARM11系列CPU • 支援多核心處理器 • 支援CPU核心類型自動檢測 • 支援硬體中斷點和無限個軟體中斷點 • 支援同時除錯多核心處理器中的多個核心 • 支援ARM/Thumb模式 • 支援Little /Big Endian模式
支援MMU Enable 模式下除錯 • 支援Cache Enable 模式下除錯 • 支援DCC • 支援Exception Catch • 支援Semihosting • 支援SDT 2.51,ADS 1.2,RVDS,Multi2000,CodeWarrior,IAR, GDB/Insight原始程式碼級除錯 • 使用RDI介面,無需網路卡的支援
圖10-4 Banyan軟體安裝畫面示意圖 • 10-2.1 DMA-ARM USB軟體安裝 • 打開光碟,找到Banyan-US-XXX.exe,XXX為USB模擬器的軟體DaemonU版本號,當前最新的為2.1.01。(在6410 以下平台使用RVDS V2.2必須搭配安裝Banyan_us V2.0.02,在6410XP上使用RVDS 3.0 必須搭配安裝Banyan_us V2.1.01) • 點兩下此程式,出現如下圖10-4,輸入產品序號後,點選“OK”。
圖10-5選擇所要語系示意圖 • 選擇安裝過程語言,選擇後,如下圖10-5,點選“Next”。
圖10-6 開始安裝的畫面 • 安裝精靈會顯示相關資訊,如下圖10-6,然後點選“Next”。
圖10-7 所要安裝的路徑位置示意圖 • 選擇安裝路徑,在這邊使用預設路徑,如下圖10-7,點選“Next”。
圖10-8 所要安裝的資料夾名稱示意圖 • 接下來,輸入安裝資料夾名稱,使用預設名稱,如下圖10-8,點選“Next”。
圖10-9 安裝配置示意圖 • 在安裝之前,會顯示之前所配置的結果,如下圖10-9,如果需要更改,請點選“Back”,如果不需要更改,點選“Next”。
圖10-9 安裝配置示意圖 • 在安裝之前,會顯示之前所配置的結果,如下圖10-9,如果需要更改,請點選“Back”,如果不需要更改,點選“Next”。
圖10-10 安裝完成畫面示意圖 • 安裝完成後,如下圖10-10,點選“Finish”然後重新啟動PC主機。
圖10-11為Daemon硬體設置示意圖 • 10-2.2 DMA-ARM USB硬體設置 • 在Daemon的圖示上點選滑鼠右鍵,彈出功能表,選擇“Hardware Setting…”,彈出對話方塊,如下圖10-11所示,為Daemon硬體設置。
TCK 速率設置為MCLK時,可以獲得最好性能;一些處理器無法支援比較高的TCK,例如LPC2xxx系列處理器,需要降低TCK速率。(註:在6410教學平台時候,設置為1/8 MCLK) • 請檢查教學平台的重置電路,如果教學平台不能支援Banyan的SRST信號,請禁止System Reset; 如果教學平台不能支援Banyan的TRST信號,請禁止TAP Reset。 • 如果禁止Enable Power Detect,模擬器不檢查目標板是否供電,一直顯示”PowerON”。 • 如果禁止Enable Reset Detect,模擬器不檢查目標板是否被重置。 • Reset Delay:模擬器在重置目標板後,延時一段時間才開始讓目標處理器進入除錯狀態,延時的時間由Reset Delay設置決定。
圖10-12 Targer Setting的功能畫面示意圖 • 10-2.3 DMA-ARM USB除錯相關設置 • 在Daemon的圖示上點選滑鼠右鍵,彈出功能表,選擇“Target Setting”,彈出對話方塊,如下圖10-12所示,為Target Setting的功能畫面:
預設情況下,Target CPU core設置為Auto Detect,由軟體自動檢測。如果需要,也可以使用手動設置目標板上的CPU類型,在下拉清單中選擇目標板CPU即可。 • 如果”Configuration File”被enable,Daemon.exe被執行後,不檢測目標板上的處理器類型,而是載入指定的配置檔。 • 根據平台硬體設置,還應選擇Little-Endian或者Big-Endian。預設為Little-Endian。 • Report Data Abort:在Enable時,如訪問目標板記憶體出現Data abort,通知除錯器;在Disable時,不報告Data Abort。 • Report Data Abort和 Enable Clean D-Cache等,主要針對一些特別的處理器,通常情況下,保持預設設置,不要修改。
10-2.4下載程式到Flash中除錯 • 一些ARM晶片內置Flash和RAM,內置的Flash大小遠大於RAM,例如Philips的LPC2xxx系列。對於這類晶片,往往因為程式大於RAM的大小,無法在RAM中除錯執行,要把程式燒寫到Flash中。 • ARM USB支援下載程式到Flash中執行。根據設置讀者的設置,在除錯器(如AXD)下載程式到Flash時,ARM USB會把程式燒寫到Flash中。設置方法如下: • 在Daemon的圖示上點選滑鼠右鍵,彈出功能表,選擇“Flash Setting”,彈出對話方塊,如下圖10-13所示,為Flash Setup示意圖:
首先使能“Erase Flash On Need”,然後選擇目標板處理器類型,最後輸入其他參數: • 1) Vendor:選擇目標板處理器廠商 • 2) Device:選擇目標板處理器具體型號 • 3) RAM Base Address:燒寫Flash的過程中需要使用一些RAM,Ram Base Address指定可使用RAM的起始位址,通常情況下,使用預設值即可 • 4) Flash Base Address:指定Flash的起始位址,通常情況下,使用預設值即可 • 5) XTAL Freq(KHz) :如果是LPC2xxx,還需要指定處理器核心頻率
注意事項: • 1) 目前支援Philips的LPC2xxx系列,ST的STR7X系列,Atmel的AT91SAM7系列內置Flash的燒寫。 • 2)通常情況下, RAM Base Address和 Flash Base Address 使用預設值即可,不需要修改。 • 3) LPC2xxx的XTAL Freq(KHz) 需要根據硬體和初始化設置決定。初始化檔還需要關閉WatchDog,重新設置Remap。 一個LPC2294參考初始化序列如下: comment disable watchdog setmem 0xE0000000 0 32 comment PLLCON setmem 0xE01FC080 1 32
comment PLLCFG setmem 0xE01FC084 0x23 32 comment Feed setmem 0xE01FC08C 0xaa 32 setmem 0xE01FC08C 0x55 32 comment delay mem 0 +1 32 mem 4 +1 32 comment PLLCON setmem 0xE01FC080 3 32 comment Feed setmem 0xE01FC08C 0xaa 32 setmem 0xE01FC08C 0x55 32
comment remap setmem 0xE01FC040 1 32 • 可把上述初始化命令儲存到檔案,如LPC.ini,在AXD的命令行視窗中輸入 ob LPC.ini即執行上述命令序列 • ARM的硬體決定了,Flash中程式的中斷點,也就是硬體中斷點不能同時超過2個。AXD中的Vector Catch 和 Semihosting 會佔用硬體中斷點,根據需要,可清除這些中斷點。清除方法:在AXD的Options功能表中,選擇Configure processor… 在如下對話方塊中清除Vector Catch和 Semihosting,如下圖10-14所示:
特別說明: • 1) 如果提示燒寫Flash失敗,請清除Vector Catch和 Semihosting • 2) 在提示無法設置中斷點時,請清除Vector Catch和 Semihosting • 10-3 USB Banyan與PC連線 : • 安裝好 Banyan Daemon,並連接USB Banyan 和PC主機,Windows提示找到新硬體,安裝驅動程式方法如下,首先,選擇驅動程式存放的位置,這邊使用自動安裝,點選“Next”,如下圖10-15:
圖10-16Banyan USB硬體安裝畫面示意圖 • 安裝過程會出現Windows提示,點選“Continue Anyway”,如下圖10-16:
圖10-17安裝完成畫面示意圖 • 安裝完成後,點選“Finish”完成安裝,如下圖10-17。
圖10-18為Banyan USB ICE自動偵測硬體示意圖 • 執行DaemonU.exe。首次執行DaemonU.exe會提示找到新硬體Banyan USB ICE,按照預設方式安裝驅動程式即可,首先,選擇驅動程式存放的位置,這邊使用自動安裝,點選“Next”,如下圖10-18所示:
圖10-19 Banyan USB ICE硬體安裝畫面示意圖 • 安裝過程會出現Windows提示,點選“Continue Anyway”,如下圖10-19,於安裝完成後,點選“Finish”完成安裝: 以上過程僅在首次使用時出現。
10-4 在DMA-2440XP上使用步驟: • 一般按照下面步驟即可正常使用: • 1) 首先連接好硬體,再打開目標板電源; • 2)安裝好 Banyan Daemon,並連接USB Banyan 和PC主機,首次試用,Windows提示找到新硬體,按照預設方式安裝驅動程式即可。 • 3)執行DaemonU.exe。(首次執行DaemonU.exe會提示找到新硬體,按照預設方式安裝驅動程式即可。) • 4)連接好硬體後送上電源,如下圖10-20所示:
圖10-21為自動搜索硬體示意圖 • 5) DaemonU.exe執行後會自動搜索硬體,並在系統區顯示一小下圖10-21所示:
圖10-22 AXD設置Choose Target選擇Banyan.ll的檔案 • 6) 設置AXD • 執行AXD,選擇 Options -> “Configure Target …”,彈出對話方塊後點選“Add”,如下圖10-22所示,設置Choose Target選擇Banyan.ll的檔案: Banyan.DLL 位於安裝目錄下,預設為C:\Banyan
圖10-23 未找到Banyan 硬體裝置示意圖 • 10-4.1 使用說明 • Daemon執行後先尋找USB Banyan,如果未找到,如下圖10-23所示:
圖10-24 未偵測到目標板CPU示意圖 • 找到USB Banyan後, 繼續搜索目標板CPU類型,如果未發現目標板CPU,會彈出一個視窗,如下圖10-24所示:
請檢查硬體連接是否良好。 • 搜索完硬體後,Daemon最小化為一個圖示,當此圖示變為紅綠燈閃爍時,表示Daemon正在訪問硬體,請勿在此時關閉硬體電源。 • 使用滑鼠左鍵點兩下Daemon最小化圖示可以關閉/打開主視窗,如下圖10-25所示:
中間顯示的是檢測到的目標板CPU 核心類型,CPU的核心類型請參看具體CPU的手冊(S3C2440和S3C2410同是ARM920T的核心,所以上面顯示為2410)。 • 如果字體的顏色為紅色,表示已經有一Banyan.DLL在執行; 否則字體顏色為藍色。 • 下方狀態欄提示USB介面類型以及目標板電源。 顯示“USB 2.0” 表示現在使用的USB 2.0 High Speed模式; “USB 1.1” 表示現在使用的時 USB 1.1。 如果顯示“Power ON”表示檢測到目標板已經供電;顯示“Power Off”則表示目標板未供電。 • 如果狀態欄提示Reseted,表示硬體曾經被重置,或者當前處於重置模式。點選功能表”Reset Target”,如果不再顯示Reseted,那麼不影響使用;如果還是顯示Reseted,說明硬體存在問題,請仔細檢查。 • [注意]: 如果打開了目標板電源,而且顯示“Power Off”,請關閉目標板電源,並檢查排線連接是否正確,檢查目標板JTAG介面的Pin1, Pin2是否向模擬器提供參考電源。
圖10-26功能表選擇示意圖 • 使用滑鼠右鍵點選Daemon最小化圖示回彈出一功能表,如下圖10-26所示:
如果某功能表項為灰色,表明該版本Daemon不需要此功能。如果某功能表項為灰色,表明該版本Daemon不需要此功能。 • 1) Auto-Detect 搜索硬體,在Daemon啟動時會自動執行,一般不需要手動執行。 • 2) Reset Target 重置硬體,請檢查您的硬體支援此功能,並且允許硬體重置功能(參見後面說明),一般不需要手動執行。 • 3) Disconnect:中止DLL連接,一般不需要手動執行。 • 4) Show Main Window:打開/關閉主視窗。 • 5) Hardware Setting:硬體設置,參見“硬體設置”部分。 • 6) Debug Setting:參見“除錯相關設置”部分。 • 7) Register:參見“註冊”部分。 • 8) Register Info:參見“註冊”部分。
10-5 DMA-ARM USB 模擬器在DMA-6410XP上的使用: • 在DMA-6410XP教學平台上使用DAM-ARM USB,我們必需先安裝所需的軟體套件,在以下章節將一一詳細說明。 • 10-5.1 安裝RVDS3.0 • 打開RVDS 3.0 SP1[1]安裝檔,然後找到setup.exe安裝檔案,點選打開,進入安裝介面如下圖10-27,點選“下一步”。 • [1]「 RVDS 為 ARM 公司的版權私有軟體,請使用者自行向 ARM 公司或代理商洽購 RVDS 使用授權。」