国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

一種嵌入式微處理器中的在線調(diào)試模塊設(shè)計(jì)

發(fā)布時(shí)間:2010-8-10 14:36    發(fā)布者:lavida
1 引言  

集成電路制造工藝的飛速發(fā)展推動(dòng)了信息技術(shù)的發(fā)展,而信息技術(shù)的核心是微處理器技術(shù)。微處理器的總體發(fā)展趨勢是功能越來越強(qiáng)大,工作頻率越來越高。由于微處理器芯片從設(shè)計(jì)過程到生產(chǎn)過程中都可能產(chǎn)生一些缺陷,這些缺陷都將最終影響微處理器的功能和性能,為了保證微處理器功能的正確性,減少設(shè)計(jì)風(fēng)險(xiǎn),對其進(jìn)行測試和調(diào)試是必不可少的。但是微處理器的發(fā)展趨勢也導(dǎo)致了微處理器芯片的測試與調(diào)試變得更加復(fù)雜,板級調(diào)試系統(tǒng)設(shè)計(jì)和調(diào)試軟件的開發(fā)也越來越困難。特別是進(jìn)入21世紀(jì),集成電路進(jìn)入了高度集成的系統(tǒng)芯片SoC(System-On-Chip)時(shí)代,而嵌入式微處理器是系統(tǒng)芯片的核心。傳統(tǒng)的微處理器的調(diào)試方法采用監(jiān)測并控制其地址與數(shù)據(jù)總線的方法。對于高度集成化的系統(tǒng)芯片,由于封裝尺寸的限制,不可能將嵌入片內(nèi)的微處理器信號引出片外,通過外部直接測試和調(diào)試。在板級,通過軟件模擬、驗(yàn)證和分析等系統(tǒng)功能調(diào)試已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足功能正確性調(diào)試和故障定位等要求,所以微處理器芯片,特別是嵌入式微處理器,硬件上支持片上測試和調(diào)試功能顯得十分重要。  

為了能讓嵌入式微處理器的片上調(diào)試功能也能夠像高級語言編程工具那樣支持?jǐn)帱c(diǎn)設(shè)置、單步執(zhí)行、寄存器內(nèi)容的查看和內(nèi)存內(nèi)容查看等功能,文章提出了一種在線調(diào)試模塊設(shè)計(jì),此設(shè)計(jì)為嵌入式微處理器增加了一些專用的調(diào)試引腳,通過這些引腳可以響應(yīng)硬件和軟件觸發(fā),提供開始/停止調(diào)試模試,單步調(diào)試操作以及程序執(zhí)行的跟蹤。有了這些引腳,還可以對微處理器做調(diào)試接口,提供更好的調(diào)試性能,查錯(cuò)功能,從基本停止/ 開始或單步執(zhí)行到硬件、軟件斷點(diǎn)支持再到對數(shù)據(jù)存儲區(qū)、程序存儲區(qū)和SFRs的訪問和修改以及對程序進(jìn)行跟蹤。  

2 嵌入式微處理器的片上調(diào)試原理  

為微處理器增加的調(diào)試引腳及其功能如表1所示。  



可實(shí)現(xiàn)的調(diào)試功能:  

⑴ 開始/停止debug模式  

可以通過兩種方式進(jìn)入調(diào)試模式即硬件請求或者軟件中斷指令TRAP。硬件請求進(jìn)入到debug模式將發(fā)出一個(gè)DebugReq信號。這個(gè)信號在核運(yùn)行的每個(gè)指令操作的最后一個(gè)周期的第一個(gè)階段進(jìn)行采樣,若是采樣信號為高,核將完成當(dāng)前指令,插入一個(gè)NOP指令。在NOP指令的第一階段的最后核將發(fā)出一個(gè)DebugAck信號然后進(jìn)入debug模式。它的時(shí)序圖見圖1。當(dāng)TRAP指令被執(zhí)行的時(shí)候,核只是簡單的發(fā)送一個(gè)DebugAck信號,然后在這個(gè)單一周期指令第一個(gè)階段的結(jié)束進(jìn)入debug模式。  

在debug模式,核在每個(gè)機(jī)器周期的第一階段的最后采樣DebugReq信號,當(dāng)DebugReq信號為高之后采樣一個(gè)機(jī)器周期的信號,如果為低則離開調(diào)試模式(置DebugAck信號無效)。它的時(shí)序圖見圖2。注意:如果在TRAP下進(jìn)入調(diào)試模式,外部硬件必須在重新置信號為低之前置DebugReq信號為高一個(gè)機(jī)器周期才可以離開試模式。  

  
圖1 進(jìn)入debug模式的時(shí)序圖 圖2 退出debug模式的時(shí)序圖  

①DebugReq采樣信號為高電平。① DebugRep采樣信號為高電平。  

②微處理器內(nèi)核進(jìn)入調(diào)試模式,置DebugAck 為高電平。 ② DebugRep 采樣信號為低,CPU核置DebugAck為低并離開調(diào)試模式。  

其中 PROGA 為程序存儲器的地址總線,PROGA_EN 為程序存儲器的地址總線使能。它們是微處理器內(nèi)核已經(jīng)設(shè)計(jì)好的。  

⑵單步調(diào)試  

在調(diào)試模式下,把DebugReq 置成無效的低信號,微處理器執(zhí)行一個(gè)用戶指令,等待DebugAck 信號無效的時(shí)候指出離開了調(diào)試模式,再把DebugReq 信號置成高電平。  

⑶程序執(zhí)行的跟蹤信號 DebugPFetch 和Debug Vector 支持程序追蹤。當(dāng)程序代碼在下一個(gè)上升緣被讀取的時(shí)候DebugPFetch信號發(fā)出,它并不發(fā)送程序數(shù)據(jù)提取的信號。(例如使用MOVC 指令讀取數(shù)據(jù))。當(dāng)在程序計(jì)數(shù)器里的下一個(gè)代碼表現(xiàn)為一個(gè)間斷性程序的時(shí)候DebugVector 被發(fā)送,(例如Jump,Call 或者Return 指令)。  

⑷外部數(shù)據(jù)存儲器、SFR、內(nèi)部數(shù)據(jù)存儲器的讀和寫  

提供了一個(gè)時(shí)序發(fā)生器一個(gè)RAM,它包含了一些訪問存儲器的指令。當(dāng)一個(gè)時(shí)序開始的時(shí)候,DebugStep信號發(fā)送直到時(shí)序結(jié)束。因此時(shí)序指令以全速的處理器速度運(yùn)行。在微處理器程序輸入端設(shè)計(jì)了一個(gè)多路選擇器允許時(shí)序發(fā)生器的指令給內(nèi)核執(zhí)行。時(shí)序發(fā)生器中的指令總是把想訪問的存儲器和SFRs 中的數(shù)據(jù)加載到累加器A 中,因此只要把XRAMD0 總線的狀態(tài)存儲到結(jié)果儲存器中,然后通過JTAG 接口把結(jié)果儲存器讀出就可以得知存儲器和SFRs 中的數(shù)據(jù)。給出一個(gè)讀內(nèi)部數(shù)據(jù)存儲器的時(shí)序發(fā)生器中的程序。其中Temp1,Temp 是時(shí)序發(fā)生器中定義的存放中間數(shù)據(jù)的寄存器。  






3 微處理器的在線調(diào)試模塊的結(jié)構(gòu)設(shè)計(jì)  


在微處理器內(nèi)核中設(shè)計(jì)的調(diào)試部分為DebugReq 信號鎖存器、調(diào)試狀態(tài)機(jī)、操作碼指示器。  

調(diào) 試 狀 態(tài) 機(jī) 是 有 DebugReq 、DebugAck、DebugStep、TRAP 信號來控制的。它有4 種狀態(tài):00、01、10、11。00 表示用戶狀態(tài)。01 表示調(diào)試開始狀態(tài),此狀態(tài)時(shí)已檢測到DebugReq 信號有效,插入NOP 指令。01 表示單步調(diào)試模式,已檢測到DebugStep 信號有效。11 為調(diào)試模式。狀態(tài)機(jī)為10、11 時(shí)都要置DebugAck 為有效信號,進(jìn)入Debug 模式。  

操作碼指示器是有指令譯碼器和狀態(tài)機(jī)譯碼器控制的。當(dāng)程序代碼在下一個(gè)上升緣被讀取的時(shí)候(而不是程序數(shù)據(jù)的讀取), 操作碼指示器就置DebugPFetch 為有效信號,以實(shí)現(xiàn)對程序的跟蹤。當(dāng)操作碼指示器檢測到程序計(jì)數(shù)器為不連續(xù)數(shù)值時(shí)置DebugVector 為有效信號。  

外部數(shù)據(jù)存儲器、SFR、內(nèi)部數(shù)據(jù)存儲器的讀和寫是基于1149.1 JTAG 的設(shè)計(jì)。IEEE 1149.1 JTAG 接口是專門為集成電路測試和電路板系統(tǒng)測試制定的國際標(biāo)準(zhǔn)。TDI(數(shù)據(jù)輸入),TMS(TAP 模式選擇),TCK(測試時(shí)鐘輸入),TRST(測試接口復(fù)位),TDO(數(shù)據(jù)輸出)是JTAG 的5 個(gè)外部管腳。調(diào)試部分電路為:調(diào)試掃描鏈、調(diào)試數(shù)據(jù)寄存器、指令譯碼器、時(shí)序發(fā)生器和多路選擇器(MUX)。時(shí)序發(fā)生器是一個(gè)RAM,它包含了一些訪問存儲器的指令。指令010110xx 表示啟動(dòng)時(shí)序發(fā)生器,把預(yù)先存好的訪問程序送到微處理器的程序輸入端(PROGDI),微處理器執(zhí)行這些程序,實(shí)現(xiàn)對存儲器、SFR 的訪問。指令譯碼器對調(diào)試指令進(jìn)行譯碼,并發(fā)出調(diào)試控制信號,比如:設(shè)置DebugReq 為有效,進(jìn)入Debug 模式;啟動(dòng)時(shí)序發(fā)生器,控制多路選擇器(MUX),讓PROGDI 上的信號為時(shí)序發(fā)生器中的指令。調(diào)試數(shù)據(jù)寄存器是為存放中間數(shù)據(jù)和訪問結(jié)果數(shù)據(jù)的。調(diào)試掃描鏈對中間數(shù)據(jù)和訪問結(jié)果進(jìn)行查看。  

4 結(jié)論  

此設(shè)計(jì)給微處理器內(nèi)核增加了一些調(diào)試引腳。實(shí)現(xiàn)了開始/停止調(diào)試模試,單步調(diào)試操作以及程序執(zhí)行的跟蹤的調(diào)試功能。這些引腳使內(nèi)核具有很好的可擴(kuò)張性,可對芯片增加調(diào)試接口,實(shí)現(xiàn)更強(qiáng)大的調(diào)試功能。基于1149.1 JTAG 接口的對存儲器、SFR 訪問,既可以使芯片原有的測試功能不受影響,又可以節(jié)省硬件,減少開銷。帶Debug 模塊的微處理器在SMIC 的0.25um 標(biāo)準(zhǔn)單元庫映射綜合后,可工作在120MHz。仿真的結(jié)果表明,擴(kuò)充Debug 功能的JTAG 接口所增加的芯片面積很少,而且在對存儲器、SFR 進(jìn)行訪問時(shí)不影響處理器的工作速度。
本文地址:http://m.qingdxww.cn/thread-20590-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 人人干人人做| 窝窝午夜色视频国产精品东北| 亚州视频一区二区| 臀控福利大臀的网站| 亚洲最大综合网| qvod小电影| 日韩人妻无码精品久久中文字幕| 深夜久久| 日韩精品免费| 亚洲性免费| 亚洲色图图片区| 国产午夜一级淫片| 色爰情人网站| 日韩精品久久久毛片一区二区| 日本天堂网在线观看| 亚洲天堂2015| 张柏芝在线观看| 精品人妻无码一区二区三区蜜桃臀| 亚洲一品AV片观看五月色婷婷| 香蕉久久成人网| 日韩欧美视频在线播放| 中文有码第一页| 尤物成人| 花蝴蝶hd免费| 最近中文字幕完整版高清| 欧美夜夜夜| 亚洲国产精品免费在线观看| 亚洲第一黄色网址| 国产精品系列在线一区| 亚洲一区免费观看| 欧美日韩亚洲成人| 香蕉视频w| 亚洲欧美精品成人久久91| ZZoo兽2皇| 日本不卡免免费观看| 三级小视频在线观看| 色成网| 亚洲第一福利视频| 黄色jjzz| 全网免费在线播放视频入口| 欧美性生活视频免费播放网址大全观看 |