• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      TKScope仿真調(diào)試Cortex-M3內(nèi)核的高級(jí)手段

      2011-06-25 02:45:16廣州致遠(yuǎn)電子有限公司
      關(guān)鍵詞:仿真器斷點(diǎn)內(nèi)核

      廣州致遠(yuǎn)電子有限公司

      TKScope仿真器調(diào)試Cortex-M3內(nèi)核的芯片有幾項(xiàng)高級(jí)功能,如觀察運(yùn)行時(shí)間、支持時(shí)間斷點(diǎn)、變量操作斷點(diǎn)等。通過(guò)這些高級(jí)調(diào)試手段,用戶能更加清楚地了解程序的運(yùn)行狀態(tài)。遇到問(wèn)題時(shí),可以快速地進(jìn)行程序定位。本文詳細(xì)闡述這些功能的具體應(yīng)用方法。

      目前,TKScope支持的Cortex-M3內(nèi)核的芯片具體種類如下:

      ◆Atmel,AT91SAM3Uxx系列;

      ◆ENERGY,EFM32GxxxFxx系列;

      ◆TI,LM3Sxx系列;

      ◆ NXP,LPC17xx、LPC13xx系列;

      ◆ST,STM32Fxx系列;

      ◆TOSHIBA,TMPM330、TMPM370、TMPM380系列。

      本文所講述的特性適用于上述各個(gè)系列的芯片。此外,TKScope支持Flash無(wú)限制斷點(diǎn),如上述的TI、ST各系列;其他公司的系列受制于芯片本身的限制,只支持到最大6個(gè)硬件斷點(diǎn)。

      1 觀察運(yùn)行時(shí)間

      TKScope仿真器可以觀察Cortex-M3內(nèi)核的運(yùn)行時(shí)間,精度為1個(gè)時(shí)鐘,滿足客戶觀察高精度的仿真時(shí)間。TKScope不但在程序停止?fàn)顟B(tài)下可觀察運(yùn)行時(shí)間,而且在程序全速運(yùn)行時(shí)也可以快速顯示當(dāng)前的運(yùn)行時(shí)間。

      運(yùn)行時(shí)間主要有 2個(gè)指標(biāo)——Tsum 和 Tcur,如圖1所示。

      (1)Tsum

      運(yùn)行時(shí)間總和,即復(fù)位后運(yùn)行到當(dāng)前停止時(shí)的有效運(yùn)行時(shí)間總和。Tsum是有效運(yùn)行時(shí)間的累積總和,程序處于仿真狀態(tài)但停止運(yùn)行時(shí),時(shí)間不累積。

      (2)Tcur

      當(dāng)前運(yùn)行時(shí)間,即當(dāng)前一次有效運(yùn)行操作經(jīng)歷的時(shí)間值。Tcur便于用戶觀察本次操作經(jīng)歷的時(shí)間。

      為了保證運(yùn)行時(shí)間的準(zhǔn)確性,需要設(shè)置系統(tǒng)時(shí)鐘值。打開仿真器的[主要設(shè)置]界面,系統(tǒng)時(shí)鐘值必須與用戶實(shí)際運(yùn)行的時(shí)鐘值一致,也就是PLL輸出的時(shí)鐘值。

      從圖1中可以看出,程序設(shè)置了2個(gè)斷點(diǎn),此時(shí)程序在第2個(gè)斷點(diǎn)處停止。運(yùn)行時(shí)間的具體意義如下:Tsum顯示的是程序從開始運(yùn)行到第2個(gè)斷點(diǎn)處所經(jīng)歷的時(shí)間;Tcur顯示的是從第1個(gè)斷點(diǎn)處運(yùn)行到第2個(gè)斷點(diǎn)處所經(jīng)歷的時(shí)間。

      2 時(shí)間斷點(diǎn)

      TKScope仿真器支持時(shí)間斷點(diǎn)功能,即運(yùn)行時(shí)間與時(shí)間斷點(diǎn)設(shè)置的時(shí)間相同時(shí),程序停止運(yùn)行。如圖2所示,在運(yùn)行時(shí)間的下面可以看到Tbreak,這就是時(shí)間斷點(diǎn)。用戶可以根據(jù)實(shí)際觀察需要,設(shè)置Tbreak的值,注意單位是ns。當(dāng)程序運(yùn)行時(shí)間累積到Tbreak的值時(shí),程序停止運(yùn)行。

      3 變量操作斷點(diǎn)

      TKScope支持變量操作斷點(diǎn),當(dāng)對(duì)某一個(gè)變量進(jìn)行讀寫操作時(shí),通過(guò)設(shè)置變量讀寫操作斷點(diǎn),讓程序停止運(yùn)行。

      在Keil MDK環(huán)境下,進(jìn)入仿真狀態(tài)之后,打開[Debug]菜單下的[Breakpoints]選項(xiàng)。在Breakpoints窗口即可定義變量操作斷點(diǎn)。

      具體定義方法:在Expression文本框內(nèi)輸入變量的地址,然后選擇讀寫屬性,并正確設(shè)置字節(jié)范圍,最后單擊Define按鈕即可。

      圖1 運(yùn)行時(shí)間觀察窗口

      圖2 時(shí)間斷點(diǎn)窗口

      例如,在從地址0x20004000開始、16字節(jié)范圍內(nèi),定義讀寫斷點(diǎn)操作,具體設(shè)置方法如圖3所示。

      圖3 定義讀寫操作斷點(diǎn)

      在圖3中單擊Define按鈕之后,斷點(diǎn)即可設(shè)置成功,如圖4所示。圖4中共定義了4種類型的斷點(diǎn)。

      斷點(diǎn)1:表示從地址0x20004000開始、16字節(jié)范圍內(nèi),出現(xiàn)讀或?qū)懙牟僮?則中斷。

      斷點(diǎn)2:表示從地址0x20004100開始、8字節(jié)范圍內(nèi),出現(xiàn)讀的操作,則中斷。

      斷點(diǎn)3:表示從地址0x20004200開始、4字節(jié)范圍內(nèi),出現(xiàn)寫的操作,則中斷。

      斷點(diǎn)4:表示從地址0x20004300開始、1字節(jié)范圍內(nèi),出現(xiàn)讀或?qū)懙牟僮?則中斷。

      圖4 Breakpoints定義斷點(diǎn)窗口

      注意:len表示在一個(gè)地址范圍內(nèi)該斷點(diǎn)有效,len必須為 1、2、4、8、16 、32(乘 2 遞增),同時(shí)地址必須處于 len的起始位置。例如 len=16,則地址必須為0x10字節(jié)對(duì)齊,0x40000010為有效的起始地址,而地址0x40000018為無(wú)效,將被系統(tǒng)強(qiáng)行修正為0x40000010。

      4 小 結(jié)

      TKSope仿真Cortex-M3內(nèi)核有這些高級(jí)手段,更加方便用戶調(diào)試,讓開發(fā)工程更輕松。TKScope針對(duì)其他內(nèi)核也會(huì)推出一些列的高級(jí)調(diào)試手段,后續(xù)會(huì)繼續(xù)介紹,敬請(qǐng)關(guān)注。

      猜你喜歡
      仿真器斷點(diǎn)內(nèi)核
      萬(wàn)物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
      強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
      用Eclipse調(diào)試Python
      一類無(wú)限可能問(wèn)題的解法
      基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
      Linux內(nèi)核mmap保護(hù)機(jī)制研究
      主導(dǎo)電回路發(fā)生斷點(diǎn)故障判斷方法探討
      基于多線程的慣導(dǎo)邏輯仿真器設(shè)計(jì)
      天文測(cè)量仿真器模擬星圖精度分析
      并行片上網(wǎng)絡(luò)仿真器ParaNSim的設(shè)計(jì)及性能分析

      單片機(jī)與嵌入式系統(tǒng)應(yīng)用2011年5期

      單片機(jī)與嵌入式系統(tǒng)應(yīng)用的其它文章
      Altera提供集成100G EFEC解決方案
      南阳市| 梅河口市| 巴彦淖尔市| 乃东县| 南皮县| 博爱县| 砚山县| 邢台市| 奉化市| 洪泽县| 北票市| 开封县| 阳江市| 宜兰市| 肃宁县| 凭祥市| 萨迦县| 石泉县| 三都| 清原| 河北省| 馆陶县| 新闻| 彰化市| 克拉玛依市| 怀安县| 深州市| 台南市| 澎湖县| 太白县| 石屏县| 汉源县| 淮滨县| 永泰县| 萨迦县| 九龙城区| 蓬安县| 蚌埠市| 鹿邑县| 寻乌县| 田林县|