ARMSYS-ICE型ARM仿真器FAQ
隨著當(dāng)前系統(tǒng)設(shè)計(jì)復(fù)雜度的提升,調(diào)試過(guò)程中碰到問(wèn)題的幾率大大增加,在各種問(wèn)題中我們需要分析問(wèn)題的根源和實(shí)質(zhì)以便去正確的解決。armsys-ice與目標(biāo)板的連接僅限于jtag接口,兩者之間的耦合度已降到最小不會(huì)對(duì)目標(biāo)板的邏輯和電氣性能產(chǎn)生影響,對(duì)于一些剛開(kāi)始使用armsys-ice的客戶我們總結(jié)了一些常見(jiàn)問(wèn)題提供給用戶希望能夠有所幫助?! ?wèn)題1:multi-ice?。螅澹颍觯澹虺绦騿?dòng)失敗 原因:計(jì)算機(jī)bios中的并口類型設(shè)置不正確,請(qǐng)修改后重試。一般推薦用戶選擇epp類型?! ?wèn)題2:multi-ice?。螅澹颍觯澹虺绦騿?dòng)失敗出現(xiàn)tcp/cp堆棧出錯(cuò) 原因:開(kāi)發(fā)pc機(jī)沒(méi)有連接網(wǎng)絡(luò),或沒(méi)有安裝網(wǎng)絡(luò)服務(wù)程序如果不需要使用網(wǎng)絡(luò)服務(wù)功能可以在multi-ice?。螅澹颍觯澹虻模螅澹簦簦椋睿纾蟆。尽。螅簦幔颍簦酰稹。铮穑簦椋睿铮蟛藛沃嘘P(guān)閉該功能?! ?wèn)題3:multi-ice?。螅澹颍觯澹虺绦蜃詣?dòng)識(shí)別目標(biāo)失敗 原因1:目標(biāo)內(nèi)核不能識(shí)別,在本手冊(cè)前面章節(jié)中詳細(xì)列出了目前版本的armsys-ice所支持的內(nèi)核種類,如果能夠檢測(cè)到正確的tap控制器并建立起通信,但不能返回內(nèi)核id號(hào),將在屏幕上顯示“unknown”,這時(shí)調(diào)試程序不能正常工作,用戶需要從廠家得知正確的arm芯片內(nèi)核類型,并新建一個(gè)配置文件來(lái)進(jìn)行手動(dòng)配置。配置方法參見(jiàn)使用手冊(cè)?! ≡颍玻盒盘?hào)問(wèn)題,最常遇到的信號(hào)問(wèn)題包括: □?。颍澹螅澹粜盘?hào)沒(méi)有上拉電阻,reset包括ntrst和nsrst這兩個(gè)信號(hào)應(yīng)在目標(biāo)板上用小于10k的電阻上拉; □ ?。簦悖胄盘?hào)的頻率太高,該頻率受制于tap控制器、標(biāo)板布線和連接電纜等因素。有些tap控制器只支持到1mhz速率,這時(shí)候需要調(diào)整tck頻率設(shè)置?! ?wèn)題4:同調(diào)試程序連接時(shí)提示“can’t stop?。穑颍铮悖澹螅螅铮颉薄 ≡颍保涸诋?dāng)前環(huán)境下jtag的時(shí)鐘頻率過(guò)高,請(qǐng)嘗試降低tck的頻率; 原因2:如果multi-ice?。螅澹颍觯澹虺绦蚴鞘謩?dòng)配置的,則需要檢查; □ 配置錯(cuò)誤、處理器類型、連接次序等設(shè)置錯(cuò)誤; □ jtag問(wèn)題,進(jìn)行手動(dòng)配置時(shí)因先確保在自動(dòng)時(shí)能夠檢測(cè)到unknown,這樣說(shuō)明jtag接口通信正確?! ≡颍常海幔颍硇酒涌诘模洌猓纾澹钚盘?hào)被不正確的拉低,如果該信號(hào)有片外接口請(qǐng)檢查; 原因4:目標(biāo)處理器的時(shí)鐘不正確; 問(wèn)題5:同調(diào)試程序連接時(shí)出現(xiàn)“data abort”提示 原因1:當(dāng)調(diào)試程序啟動(dòng)時(shí),處理器將停在當(dāng)前pc值指向的地方,同時(shí)讀取該pc值周圍一部分 地址的存儲(chǔ)器值,如果這些地址正好沒(méi)有被使用或指向空就會(huì)出現(xiàn)上述提示此情況,屬于正常范圍; 原因2:如果使用了存儲(chǔ)器ram或rom出現(xiàn)這種問(wèn)題,表明在存儲(chǔ)器訪問(wèn)上可能存在數(shù)據(jù)錯(cuò)誤,請(qǐng)檢查存儲(chǔ)器?! ≡颍常寒?dāng)用戶下載程序到目標(biāo)板時(shí),下載的目標(biāo)地址是在編譯器中指定的,如果編譯器里設(shè)置的目標(biāo)地址與目標(biāo)板上可寫(xiě)存儲(chǔ)器的物理地址不能對(duì)應(yīng),也會(huì)出現(xiàn)上述提示。因?yàn)檎{(diào)試程序試圖往錯(cuò)誤的物理地址寫(xiě)入用戶程序而出錯(cuò)。這時(shí)需要檢查并重新設(shè)置編譯器?! ?wèn)題6:在調(diào)試過(guò)程中經(jīng)常停止,有時(shí)候甚至進(jìn)不了調(diào)試程序 原因:在排除了調(diào)試程序本身的問(wèn)題后,這一類帶有隨機(jī)性的問(wèn)題可以考慮是硬件時(shí)序或邏輯問(wèn)題引起的。最主要的可能性是ntrst和系統(tǒng)reset信號(hào)不可靠。reset信號(hào)的不可靠包含兩方面,正常工作時(shí)要求穩(wěn)定的保持高電平,復(fù)位狀態(tài)時(shí)要求有足夠時(shí)間的低電平。reset電路因?yàn)楹?jiǎn)單通常會(huì)被忽略,但事實(shí)表明很多貌似奇怪的問(wèn)題最后都?xì)w結(jié)在這里。無(wú)論是從調(diào)試的角度還是最后穩(wěn)定工作,我們都建議用戶采用一個(gè)好的reset電路或是專用ic來(lái)代替簡(jiǎn)單的rc電路。 問(wèn)題7:調(diào)試程序出現(xiàn)“hardware?。椋睿簦澹颍妫幔悖濉。簦椋恚澹铮酰簟碧崾尽 ≡颍保耗繕?biāo)板與armsys-ice的連接斷開(kāi)或armsys-ice與pc之間的連接中斷; 原因2:armsys-ice供電中斷或供電不足 原因3:armsys-ice與目標(biāo)板的通信停頓,一般都是因?yàn)榇蜷_(kāi)了rtck選項(xiàng)但是檢測(cè)不到合適 的rtck信號(hào),此時(shí)用戶可以不使用rtck功能或檢查該信號(hào)的布線。 問(wèn)題8:調(diào)試程序提示“unable?。簦铩。螅澹簟。猓颍澹幔耄穑铮椋睿簦蟆。铮睢。澹悖澹穑簦椋铮睢。觯澹悖铮颍蟆薄 ≡颍河成浔碇械钠鹗嫉刂穼?duì)應(yīng)的存儲(chǔ)器類型是rom,armsys-ice不能在rom上設(shè)置斷點(diǎn)。 問(wèn)題9:與arm9內(nèi)核