国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

歷史上的今天

今天是:2025年06月17日(星期二)

正在發(fā)生

2021年06月17日 | 調(diào)試嵌入式處理器的幾種常用方法

發(fā)布者:自在堂 來(lái)源: eefocus關(guān)鍵字:調(diào)試  嵌入式處理器  常用方法 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

簡(jiǎn)介: 本文簡(jiǎn)要回顧了幾種調(diào)試處理器系統(tǒng)的常見(jiàn)方法,并介紹了ARM公司新開(kāi)發(fā)的調(diào)試方法,即通過(guò)使用電路內(nèi)仿真器(In Circuit Emulators)、監(jiān)控程序(Monitor Programs) 和邏輯分析儀(Logic Analysers)解決存在的問(wèn)題。


電路內(nèi)仿真器(In Circuit Emulators,即 ICE)


ICE由實(shí)時(shí)探測(cè)、實(shí)時(shí)追蹤和記憶仿真組成,所有這些集成在一個(gè)統(tǒng)一的用戶(hù)界面上。這能為軟件工程師提供一個(gè)硬件保護(hù)層。此外,ICE不需要周?chē)到y(tǒng)全部正常工作后才能調(diào)試,因而在軟件開(kāi)發(fā)和硬件開(kāi)發(fā)之間提供了一定程度上的平衡,有利于縮短產(chǎn)品上市時(shí)間。


標(biāo)準(zhǔn)ICE存在的問(wèn)題


● ICE的眾多接點(diǎn)會(huì)影響目標(biāo)系統(tǒng)的正常時(shí)序,從而降低其最快速度;


● ICE的存在使得處理器的更換牽涉到非常復(fù)雜的接點(diǎn),更換處理器同時(shí)會(huì)改變?cè)瓉?lái)的電氣特性,這樣就意味著有可能產(chǎn)生很多不可預(yù)知的問(wèn)題;


● ICE的發(fā)布要落后于處理器,通常在一個(gè)新的處理器出臺(tái)后的6-9個(gè)月的時(shí)間才會(huì)有與其配合的ICE;


● 一個(gè)深度嵌入的CPU需要很多的引腳才能將內(nèi)部信號(hào)傳遞到ICE;


● 考慮到ICE所需要的資源,有些處理器的用戶(hù)變量可能不被ICE所支持;


● ICE的成本可能十分昂貴。


調(diào)試監(jiān)控程序(Debug Monitors)


在目標(biāo)系統(tǒng)中安裝調(diào)試監(jiān)控程序是ICE外的另一個(gè)選擇,它能為用戶(hù)提供測(cè)試和調(diào)試軟件所需的許多功能,例如設(shè)定斷點(diǎn)、從目標(biāo)存儲(chǔ)器中上載數(shù)據(jù)以及下載應(yīng)用程序等。


這種方法的優(yōu)勢(shì)在于開(kāi)發(fā)的軟件可以在同一個(gè)處理器上運(yùn)行,并且能將硬件與最終系統(tǒng)進(jìn)行整合。而且Debug Monitor價(jià)格低廉,能幫助節(jié)約系統(tǒng)開(kāi)發(fā)成本。另一方面,目標(biāo)系統(tǒng)的ROM中必須存有一個(gè)監(jiān)控程序,這是一個(gè)很大的問(wèn)題,因?yàn)樗仨殢淖罱K產(chǎn)品中撤除,否則就會(huì)增加額外的開(kāi)銷(xiāo)。


另外,運(yùn)行調(diào)試程序的主機(jī)和目標(biāo)之間還需要一個(gè)通信通道。通常目標(biāo)系統(tǒng)使用UART來(lái)實(shí)現(xiàn)。UART的驅(qū)動(dòng)程序應(yīng)在監(jiān)控程序之前完成與目標(biāo)系統(tǒng)結(jié)合的移植工作。


監(jiān)控程序的代碼也必須根據(jù)具體的目標(biāo)系統(tǒng)進(jìn)行移植,這意味著在系統(tǒng)硬件中,應(yīng)保證主要的部分在監(jiān)控程序啟動(dòng)之前能夠正常工作。


邏輯分析儀


邏輯分析儀的調(diào)試功能并不十分完備,因而常常作為以上兩種調(diào)試方法的有效補(bǔ)充使用。這是由于邏輯分析儀只能提供一個(gè)代碼執(zhí)行過(guò)程的回顧。用戶(hù)無(wú)法改變變量或跳轉(zhuǎn)至程序的其他位置,所以,在沒(méi)有重新編譯的情況下, “假設(shè)分析”測(cè)試無(wú)法進(jìn)行。除此之外,許多邏輯分析儀只配置了一個(gè)定容量的存儲(chǔ)器,因此每次運(yùn)行的追蹤量是受到限制的。


ARM的嵌入式ICE(EmbeddedICE)解決方案


ARM在支持這些傳統(tǒng)調(diào)試工具的基礎(chǔ)上,開(kāi)發(fā)了全新的調(diào)試方案,希望解決傳統(tǒng)工具無(wú)力解決的問(wèn)題。為了簡(jiǎn)化調(diào)試過(guò)程,這種新的解決方案并沒(méi)有限定于某一硬件或軟件開(kāi)發(fā),而是一種面向系統(tǒng)調(diào)試的整體性方案。


EmbeddedICE結(jié)構(gòu)體系包括:


● 一個(gè)與EmbeddedICE兼容的ARM核(如:ARM7DI),帶有邊界掃描接口和調(diào)試功能增強(qiáng);


● 一個(gè)外部EmbeddedICE接口盒,連接開(kāi)發(fā)主機(jī)和ARM內(nèi)核;


● ARM SDT2.01主機(jī)軟件開(kāi)發(fā)和調(diào)試工具。


EmbeddedICE是一個(gè)面向ARM微處理器的JTAG的調(diào)試通道。它為ARM 的Windows工具包和嵌于ASIC中的ARM微處理器提供一個(gè)接口。


EmbeddedICE具有諸多ICE功能,例如實(shí)時(shí)尋址、斷點(diǎn)、單步、對(duì)ARM CPU的完全控制、對(duì)ASIC系統(tǒng)其余部分的訪(fǎng)問(wèn),以及對(duì)主機(jī)顯示器外設(shè)的訪(fǎng)問(wèn)、鍵盤(pán)輸入和磁盤(pán)存儲(chǔ)。后三者保證了開(kāi)發(fā)人員能夠從目標(biāo)向主機(jī)發(fā)送調(diào)試信息,并顯示在主機(jī)屏幕上。


ARM EmbeddedICE解決方案的優(yōu)勢(shì)在于:


● 無(wú)需ICE 接點(diǎn)或串行接口等目標(biāo)資源或特殊硬件。在目標(biāo)系統(tǒng)中無(wú)需專(zhuān)門(mén)用于調(diào)試的RAM、ROM和特殊軟件(因此,目標(biāo)系統(tǒng)中的軟件不必修改,可直接與ARM EmbeddedICE體系兼容);


● 邊界掃描引腳可復(fù)用,不用增加引腳數(shù)量;


● 成本低廉,不需要專(zhuān)門(mén)的ICE芯片;


● 可以在系統(tǒng)最高速度下進(jìn)行調(diào)試;


● 完全的主機(jī)系統(tǒng)訪(fǎng)問(wèn),包括屏幕、鍵盤(pán)、目標(biāo)存儲(chǔ)等;


● 無(wú)需移動(dòng)處理器 。這解決了許多問(wèn)題,例如昂貴的接點(diǎn)、性能不穩(wěn)定和電路電氣特性的改變等等;


● 調(diào)試無(wú)需另外的通信通道;


● 與任何嵌入式ARM系統(tǒng)兼容;


● 支持多處理器的調(diào)試。


一個(gè)與EmbeddedICE兼容的ARM7DI宏單元包括一個(gè)ARM7內(nèi)核、少量的內(nèi)核調(diào)試邏輯、一個(gè)JTAG測(cè)試端口( TAP)控制器和EmbeddedICE宏單元。


EmbeddedICE宏單元包括斷點(diǎn)寄存器,后者能夠比較地址、數(shù)據(jù)和控制總線(xiàn)同寄存器內(nèi)的設(shè)置值。若兩者匹配,會(huì)產(chǎn)生一個(gè)斷點(diǎn)信號(hào),該信號(hào)將被傳送到處理器。舉個(gè)例子來(lái)說(shuō),當(dāng)一個(gè)特定地址的指令或一個(gè)特定的數(shù)據(jù)值被加載入指定的位置,宏單元就會(huì)產(chǎn)生一個(gè)斷點(diǎn)。


如果在一條指令上設(shè)置了斷點(diǎn),當(dāng)指令到達(dá)流水線(xiàn)的執(zhí)行級(jí)時(shí),指令的執(zhí)行將被中斷,處理器進(jìn)入調(diào)試狀態(tài)。然后,處理器和存儲(chǔ)系統(tǒng)通過(guò)TAP控制器由JTAG進(jìn)行狀態(tài)檢測(cè)。


一旦處理器進(jìn)入調(diào)試狀態(tài),它就會(huì)停止從數(shù)據(jù)總線(xiàn)讀取指令,并且與存儲(chǔ)系統(tǒng)隔離。EmbeddedICE此時(shí)就可以通過(guò)掃描鏈1將指令讀入流水線(xiàn)、驅(qū)動(dòng)處理器。寄存器和存儲(chǔ)內(nèi)容在調(diào)試狀態(tài)下仍可以進(jìn)行訪(fǎng)問(wèn)。這個(gè)過(guò)程是可逆的,用戶(hù)可以在調(diào)試器下把代碼下載進(jìn)存儲(chǔ)器,避免了燒寫(xiě)EPROM的不便。


EmbeddedICE在多處理器debug中的使用


EmbeddedICE宏單元提供的調(diào)試特征使ARM處理器能夠在多處理器環(huán)境下進(jìn)行調(diào)試。當(dāng)ARM處理器遇到一個(gè)斷點(diǎn)時(shí),它的執(zhí)行就被中斷,控制權(quán)通過(guò)JTAG接口交由調(diào)試器。此時(shí),ARM處理器向存儲(chǔ)系統(tǒng)發(fā)出一個(gè)“調(diào)試確認(rèn)”(Debug Acknowledge)信號(hào),告知后者處理器處于調(diào)試狀態(tài)。


同時(shí),它不再向存儲(chǔ)器發(fā)出訪(fǎng)問(wèn)請(qǐng)求,保證了其它處理器或者DMA通道繼續(xù)工作、繼續(xù)與存儲(chǔ)系統(tǒng)通信。在調(diào)試過(guò)程的最后,ARM處理器會(huì)發(fā)出一個(gè)“存儲(chǔ)請(qǐng)求”(memory request)信號(hào),系統(tǒng)控制器將根據(jù)此信號(hào)對(duì)存儲(chǔ)系統(tǒng)作出仲裁。


EmbeddedICE 接口盒


EmbeddedICE 接口盒在ARM軟件工具包的調(diào)試器協(xié)議和JTAG協(xié)議之間執(zhí)行協(xié)議轉(zhuǎn)換?!霸谶@個(gè)地址上設(shè)立一個(gè)watchpoint”之類(lèi)的要求被轉(zhuǎn)換成JTAG TAP控制器狀態(tài)轉(zhuǎn)變序列、指令和數(shù)據(jù)序列。


協(xié)議轉(zhuǎn)換器可以根據(jù)不同的目標(biāo)系統(tǒng)進(jìn)行配置,例如,對(duì)含有不同掃描鏈布局的ARM7DI,也可以進(jìn)行配置。


EmbeddedICE宏單元同時(shí)支持通信通道。通信通道在目標(biāo)系統(tǒng)上提供了一個(gè)類(lèi)UART的串行端口。它與處理器緊密相連,且不需要額外的引腳,因?yàn)樗鼜?fù)用了JTAG口的引腳。這種方法需要在目標(biāo)系統(tǒng)上安裝軟件而不需要UART。


程序開(kāi)發(fā)過(guò)程


程序是在運(yùn)行ARM WindowsTools 2.0的PC主機(jī)開(kāi)發(fā)的。這個(gè)工具包含有編碼所需的C語(yǔ)言編譯器、匯編程序和連接器。


微軟Windows平臺(tái)下的窗口調(diào)試器以及Unix和DOS下的命令行調(diào)試器一起提供了調(diào)試支持。這些工具能提供完全C源代碼或匯編語(yǔ)言級(jí)的調(diào)試。ARM的調(diào)試器既可以在指令精確模擬器(ARMulator)又可以在目標(biāo)硬件上進(jìn)行代碼調(diào)試。軟件模擬與真實(shí)芯片之間的轉(zhuǎn)換只需在對(duì)話(huà)框中的輕輕一點(diǎn)即可。軟件工具界面繼續(xù)保持不變,用戶(hù)可以無(wú)阻礙地在各目標(biāo)之間切換。


ARMulator經(jīng)過(guò)配置,可以為存儲(chǔ)器分段指定不同的速度來(lái)仿真目標(biāo)硬件。設(shè)計(jì)人員可以通過(guò)使用C 的建模工具,來(lái)對(duì)存儲(chǔ)器配置中三個(gè)最重要的因素:速度、空間和功耗進(jìn)行優(yōu)化。


ARMsd是一個(gè)符號(hào)調(diào)試器,用戶(hù)可以用它設(shè)置斷點(diǎn)(指令讀取階段)和觀察點(diǎn)(數(shù)據(jù)加載和存儲(chǔ)階段)、檢測(cè)和修改處理器及存儲(chǔ)器的狀態(tài)。無(wú)論調(diào)試對(duì)象是芯片還是ARMulator,這個(gè)過(guò)程都能獨(dú)立完成目標(biāo)程序中的semihosting也能夠被支持。這意味著包含ANSI C 庫(kù)函數(shù)的程序可以直接移植到目標(biāo),無(wú)法被目標(biāo)支持的請(qǐng)求將被主機(jī)中途截取。例如:C 庫(kù)函數(shù)發(fā)出將狀態(tài)信息顯示在屏幕的請(qǐng)求被中途截取,這些信息將顯示在主機(jī)的屏幕上。


結(jié)語(yǔ)


調(diào)試工具多種多樣,它們各自具有不同的功能和價(jià)格。這些工具對(duì)于系統(tǒng)設(shè)計(jì)者來(lái)說(shuō),仍是一筆寶貴的資源,但是,隨著系統(tǒng)的日漸復(fù)雜化和集成化,人們需要與之相適應(yīng)的新的開(kāi)發(fā)環(huán)境。


在系統(tǒng)設(shè)計(jì)中,處理器內(nèi)核常常是嵌入在ASIC設(shè)計(jì)中的,傳統(tǒng)的調(diào)試方法已不再適用。嵌入式調(diào)試體系(例如:ARM調(diào)試體系)成為了把握當(dāng)今復(fù)雜系統(tǒng)市場(chǎng)的關(guān)鍵。


要保證產(chǎn)品在最短的時(shí)間內(nèi)完成開(kāi)發(fā),一個(gè)完整的測(cè)試和調(diào)試環(huán)境是必需的,其中包括初始產(chǎn)品測(cè)試、系統(tǒng)設(shè)計(jì)仿真、最終產(chǎn)品測(cè)試等一系列調(diào)試工具。

關(guān)鍵字:調(diào)試  嵌入式處理器  常用方法 引用地址:調(diào)試嵌入式處理器的幾種常用方法

上一篇:低功耗高性能多媒體上網(wǎng)設(shè)備
下一篇:ARM9和GPRS的紅外報(bào)警系統(tǒng)

推薦閱讀

近日,俄羅斯彼爾姆國(guó)立研究大學(xué)物理系大四學(xué)生維克多·扎科派洛建立了一個(gè)能預(yù)測(cè)2018年世界杯冠軍的神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)綜合各項(xiàng)參數(shù)進(jìn)行分析計(jì)算后得出結(jié)論稱(chēng),世界杯前三名將是德國(guó)隊(duì)、巴西隊(duì)和阿根廷隊(duì)。當(dāng)AI擁有人類(lèi)的“數(shù)字化人格”之時(shí),對(duì)用戶(hù)數(shù)據(jù)的“智能挖掘”很容易游走在“合規(guī)”但“有違公平”的邊緣。
本篇主要講述GPIO外部中斷輸入檢測(cè),實(shí)際物理輸入方式是按鍵,但是實(shí)際上更適合外部設(shè)備信號(hào)的輸入檢測(cè),物理按鍵輸入因?yàn)橛卸秳?dòng),還需要硬件或者軟件去抖才比較可靠。這個(gè)例子不考慮防抖的情況。 軟件版本:STM32CubeMX V4.25.0 System Workbench V2.4硬件:OneNet 麒麟座V2.3在STM32CubeMX中新建項(xiàng)目,選擇正確的MCU型號(hào)設(shè)置RCC和SYS,然后根據(jù)板子...
6月16日,在SEMICON CHINA/FPD 2020新聞發(fā)布會(huì)上,Semi全球副總裁、中國(guó)區(qū)總裁居龍先生表示,今年本應(yīng)該是半導(dǎo)體產(chǎn)業(yè)復(fù)蘇和成長(zhǎng)的一年,但新冠肺炎疫情打亂了產(chǎn)業(yè)的腳步,預(yù)計(jì)今年的產(chǎn)業(yè)必然會(huì)出現(xiàn)負(fù)增長(zhǎng),全球經(jīng)濟(jì)同樣也會(huì)出現(xiàn)負(fù)增長(zhǎng)。而在居龍展示的一張全球機(jī)構(gòu)的預(yù)測(cè)圖中,10家機(jī)構(gòu)對(duì)于2020年全球半導(dǎo)體產(chǎn)業(yè)增長(zhǎng)的預(yù)測(cè)差別較大,最樂(lè)觀的為增長(zhǎng)7.6%...
簡(jiǎn)介:1,對(duì)定時(shí)器B的簡(jiǎn)單介紹2,對(duì)定時(shí)器B寄存器的配置1.模塊原理Timer_B 有比較和捕獲模式,這就決定它有三個(gè)方面的應(yīng)用,一.做定時(shí)器使用,TAR 計(jì)數(shù)器不斷按照配置的模式進(jìn)行計(jì)數(shù),設(shè)置 CCRX 寄存器值,當(dāng) TAR 數(shù)值達(dá)到 CCRX 數(shù)值就可以產(chǎn)生一個(gè)中斷,從而完成一個(gè)定時(shí)。二.可以作 PWM 輸出,這由 CCR0 和 CCRX 共同配置,根據(jù)輸出模式,...

史海拾趣

問(wèn)答坊 | AI 解惑

華為邏輯電平設(shè)計(jì)規(guī)范教材

華為邏輯電平設(shè)計(jì)規(guī)范教材…

查看全部問(wèn)答∨

怎么學(xué)好單片機(jī)

我是一個(gè)剛上大二的學(xué)生,看著單片機(jī)的一些東西覺(jué)得很感興趣想學(xué),但是又不知從何學(xué)起?希望高手指點(diǎn)一下幫我規(guī)劃一下?小弟不勝感激。。。…

查看全部問(wèn)答∨

8051f單片機(jī)silicon ide編譯請(qǐng)教

  我編譯時(shí)提示 LInker not found C:\\Silabs...\\BIN\\bi51.exe是怎么回事,是我的軟件沒(méi)有裝好嗎? 可是我卸載了又裝了還是這樣 怎么回事剛開(kāi)始用不懂 謝謝了…

查看全部問(wèn)答∨

STM32F10xx時(shí)鐘系統(tǒng)框圖:時(shí)鐘是整個(gè)系統(tǒng)的脈搏

下圖是STM32F10xx時(shí)鐘系統(tǒng)的框圖,通過(guò)這個(gè)圖可以一目了然地看到各個(gè)部件時(shí)鐘產(chǎn)生的路徑,還可以很方便地計(jì)算出各部分的時(shí)鐘頻率。STM32的四個(gè)時(shí)鐘源(HSI、HSE、LSI和LSE)也在圖中標(biāo)出;圖中間的時(shí)鐘監(jiān)視系統(tǒng)(CSS)是在很多ST7的單片機(jī)中就出現(xiàn) ...…

查看全部問(wèn)答∨

STM32串口控制寄存器疑問(wèn)

準(zhǔn)備采用中斷法發(fā)送數(shù)據(jù),看到datasheet描述USART_CR1位7(TXEIE)和位8(TCIE),不是太明白。采用那一種比較好?…

查看全部問(wèn)答∨

求助:利用MSP430制作函數(shù)發(fā)生器

我是一個(gè)菜鳥(niǎo),目前有任務(wù)利用MSP430F1611制作一個(gè)函數(shù)發(fā)生器,信號(hào)最后經(jīng)DAC12輸出,函數(shù)波形方波,正弦波,三角波等,頻率要求不高200Hz以下,請(qǐng)問(wèn)各位高手應(yīng)如何入手,有什么思路,小弟在此謝謝了?!?

查看全部問(wèn)答∨

電子時(shí)鐘控制程序

最近寫(xiě)了一個(gè)有關(guān)電子時(shí)鐘控制的程序(我是初學(xué)者),程序調(diào)試時(shí)發(fā)現(xiàn):當(dāng)調(diào)節(jié)參數(shù)時(shí),數(shù)碼管顯示不穩(wěn)定。程序我修改了無(wú)數(shù)遍,就是不知道原因出在哪里!希望可以在各位大蝦的幫助找出原因?。。。?!   程序如下:   /*------ ...…

查看全部問(wèn)答∨

職場(chǎng)生存學(xué)問(wèn) 善待自尊心

  職場(chǎng)中的人際隔閡和矛盾均與自尊心有關(guān)。傷害了自尊心就等于傷害了感情,所以善待自尊心成了職場(chǎng)生存中的一門(mén)大學(xué)問(wèn)。把自己對(duì)自尊心的要求平等地與以他人,那么至少可以減少不必要的情感傷害,同事之間的關(guān)系自然可以融洽甚至是和睦。    ...…

查看全部問(wèn)答∨

MXCHIP open

    玩這塊板子,涵蓋的知識(shí)太過(guò)廣泛,剛開(kāi)始熟悉大概流程,試過(guò)幾個(gè)例子之后。覺(jué)得就那樣,都是別人寫(xiě)好的代碼,自己移植過(guò)去,自己想要一個(gè)深刻的理解,所以看了一些另外的一些協(xié)議之類(lèi)的東西,也沒(méi)著急弄這個(gè)東西,看了這么長(zhǎng)時(shí)間后, ...…

查看全部問(wèn)答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車(chē)開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved