當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件


引言

本文介紹了一種先進(jìn)的片上嵌入式仿真系統(tǒng)功能及其應(yīng)用實(shí)例。由于該系統(tǒng)集成在MCU內(nèi)部,包括復(fù)雜斷點(diǎn)設(shè)置、觸發(fā)序列發(fā)生器及處理器狀態(tài)存儲(chǔ)器等多種功能模塊,使工程師在設(shè)計(jì)電路中實(shí)現(xiàn)調(diào)試功能。

調(diào)試方法對(duì)比

調(diào)試是嵌入式產(chǎn)品開(kāi)發(fā)人員的主要工作之一。隨著電路設(shè)計(jì)趨于復(fù)雜化,調(diào)試過(guò)程也變得愈加困難和耗時(shí)。仿真器的不足之處在于不能準(zhǔn)確再現(xiàn)實(shí)際應(yīng)用時(shí)的工作狀態(tài),許多仿真器僅僅仿真了CPU內(nèi)核及少數(shù)外設(shè)。不過(guò),仿真器也有諸多優(yōu)點(diǎn),可提供代碼覆蓋、配置及條件斷點(diǎn)等功能。嵌入式應(yīng)用通常涉及多個(gè)軟硬件交互過(guò)程。由于MCU工作在不同環(huán)境下,實(shí)時(shí)事件有時(shí)由外接電路產(chǎn)生,有時(shí)由自身集成的ADC或者計(jì)時(shí)器產(chǎn)生。有時(shí),MCU還與DSP配合組成更加復(fù)雜的系統(tǒng)。在只有CPU內(nèi)核的仿真器環(huán)境內(nèi)調(diào)試、校驗(yàn)IC間通信軟件并不容易。

另一種常用方法是使用電路內(nèi)仿真器(ICE),它使用適配器替代目標(biāo)電路板MCU,并連接了用于模擬MCU活動(dòng)的復(fù)雜電路,同時(shí)提供調(diào)試功能。ICE吸收了仿真器在真實(shí)環(huán)境實(shí)時(shí)運(yùn)行軟件的優(yōu)點(diǎn),但其價(jià)格昂貴、體積較大且無(wú)法提供100%精確度,尤其是涉及到ADC、DAC、比較器、振蕩器及電壓參考電路等模擬外設(shè)時(shí)。

通過(guò)在MCU中增加具備調(diào)試功能的嵌入式仿真器克服了上述缺點(diǎn)。嵌入式仿真過(guò)程中,調(diào)試用主機(jī)通過(guò)JTAG等串行接口直接連接到片上仿真邏輯電路。應(yīng)用程序代碼在MCU的運(yùn)行狀況與沒(méi)有連接調(diào)試接口時(shí)相同。由于軟件是在實(shí)際工作環(huán)境下調(diào)試,所以在軟件開(kāi)發(fā)完成后無(wú)需與硬件再進(jìn)行調(diào)試。

某些8位和16位微型控制器現(xiàn)在也具備了嵌入式調(diào)試功能,但大多數(shù)還只能提供存儲(chǔ)器存取、CPU執(zhí)行控制及硬件斷點(diǎn)設(shè)置等基本功能,與成熟的ICE相比還有較大的提高空間。最新16位MCU提供的嵌入式仿真模塊增加了更多新功能,從而縮小了與ICE的差距,下面將介紹部分新型MCU高級(jí)調(diào)試功能及應(yīng)用實(shí)例。

EEM系統(tǒng)構(gòu)成

TI MSP430 MCU中集成的增強(qiáng)型嵌入式仿真模塊(EEM)包含以下功能塊:基本觸發(fā)器、觸發(fā)器組合邏輯發(fā)生器、觸發(fā)器序列發(fā)生器、觸發(fā)器動(dòng)作、狀態(tài)存儲(chǔ)及時(shí)鐘控制單元(如圖1所示)。

要使用EEM進(jìn)行調(diào)試,則至少要配置八個(gè)可用基本觸發(fā)器輸入中的一個(gè)。一般情況下,只能對(duì)CPU地址總線(MAB)指定的內(nèi)存位置停止執(zhí)行程序進(jìn)行觸發(fā)器設(shè)置。但現(xiàn)在MCU中的觸發(fā)器能夠支持非常復(fù)雜的設(shè)置。除了地址總線以外,所有觸發(fā)器還可通過(guò)配置來(lái)監(jiān)控CPU數(shù)據(jù)總線(MDB)、內(nèi)部CPU寄存器及部分處理器控制信號(hào)。此外,如果需要?jiǎng)t可以在地址及數(shù)據(jù)總線觸發(fā)器加入位掩碼以隔離需要的值,常數(shù)及“等于”、“不等于”、“小于”和“大于”等比較選項(xiàng)可以使用。以上這些功能組合起來(lái)即可實(shí)現(xiàn)復(fù)雜的斷點(diǎn)設(shè)置。

通過(guò)將可用基本觸發(fā)器輸出的邏輯功能進(jìn)行組合形成了復(fù)雜觸發(fā)器。用戶可以自行定義本單元的觸發(fā)器輸出,即基本觸發(fā)器輸入的組合邏輯。例如,組合地址、數(shù)據(jù)總線觸發(fā)器后即可監(jiān)控存儲(chǔ)器某一位置是否發(fā)生了特定值的讀/寫操作。這個(gè)復(fù)雜的觸發(fā)器事件可以用作直接停止執(zhí)行某個(gè)程序或產(chǎn)生一個(gè)狀態(tài)存儲(chǔ)事件。同時(shí),觸發(fā)器序列發(fā)生器(具有四種狀態(tài)的嵌入式狀態(tài)機(jī))可以對(duì)觸發(fā)器時(shí)間進(jìn)行設(shè)定。觸發(fā)器所建立的可編程轉(zhuǎn)換條件引起在幾種狀態(tài)間的動(dòng)作轉(zhuǎn)換。當(dāng)序列發(fā)生器到達(dá)最后事件狀態(tài)時(shí),MCU可配置為停止程序運(yùn)行和/或產(chǎn)生一個(gè)狀態(tài)存儲(chǔ)事件。

狀態(tài)存儲(chǔ)單元可以使用任何復(fù)雜觸發(fā)器,該存儲(chǔ)單元是一個(gè)環(huán)形緩沖區(qū),最多含有8條記錄,每條記錄分別是16位地址總線、16位數(shù)據(jù)總線以及CPU部分重要控制信號(hào)在觸發(fā)發(fā)生時(shí)的快照。可以將其看作能夠采集狀態(tài)信息而又不會(huì)影響MCU軟件實(shí)時(shí)運(yùn)行的簡(jiǎn)單跟蹤緩沖區(qū)。當(dāng)基本觸發(fā)事件發(fā)生時(shí)或在每個(gè)CPU時(shí)鐘周期,可以用觸發(fā)器組合邏輯或觸發(fā)器序列輸出捕捉系統(tǒng)快照。

現(xiàn)在某些MCU的EEM附帶了時(shí)鐘控制單元,三個(gè)可用內(nèi)部時(shí)鐘樹(shù)信號(hào)均可驅(qū)動(dòng)ADC、LCD驅(qū)動(dòng)器、計(jì)時(shí)器及串行通信模塊等不同外設(shè)。停止程序執(zhí)行時(shí),時(shí)鐘控制單元能對(duì)每個(gè)模塊進(jìn)行配置而使外設(shè)繼續(xù)得到時(shí)鐘信號(hào)。當(dāng)處理器在調(diào)試過(guò)程中停止時(shí),時(shí)鐘將停止,如果仿真模塊簡(jiǎn)單停止所有時(shí)鐘(如到達(dá)斷點(diǎn)時(shí)),則可能發(fā)生通信字符丟失或A/D轉(zhuǎn)換結(jié)果有誤等不必要的副作用。另一種實(shí)現(xiàn)方法是仿真停止時(shí)繼續(xù)向外設(shè)提供時(shí)鐘,但是該解決方案可能引起計(jì)時(shí)器等模塊永久設(shè)置中斷標(biāo)志(即使是在CPU停止時(shí)),使源代碼進(jìn)入單步運(yùn)行。使用時(shí)鐘控制單元,開(kāi)發(fā)人員可以有選擇地向應(yīng)用模塊發(fā)送時(shí)鐘信號(hào)。

利用EEM建立復(fù)雜斷點(diǎn)

EEM具有設(shè)定程序斷點(diǎn)的能力,如果能夠?yàn)閿帱c(diǎn)增加一個(gè)條件則在眾多情況下可簡(jiǎn)化調(diào)試環(huán)境。例如,用C語(yǔ)言編寫的嵌入式應(yīng)用程序?qū)崿F(xiàn)復(fù)雜的狀態(tài)機(jī)。當(dāng)前狀態(tài)存儲(chǔ)為全局變量,可在整個(gè)源代碼的不同位置得到更新。應(yīng)用時(shí),全局變量在錯(cuò)誤條件下進(jìn)入了狀態(tài)‘3’。如果要找出引起意外轉(zhuǎn)換的源代碼段,需要監(jiān)控狀態(tài)機(jī)變量‘StateVar’,當(dāng)該值為‘3’時(shí),利用EEM模塊觸發(fā)器即可停止程序運(yùn)行。該復(fù)雜斷點(diǎn)是兩個(gè)基本EEM觸發(fā)器的邏輯與組合。圖2為如何實(shí)現(xiàn)復(fù)雜觸發(fā)器的簡(jiǎn)化示意圖。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉