亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于C8051的片上調(diào)試單元設(shè)計(jì)

        2017-03-27 02:12:28俞小平唐映強(qiáng)李世偉
        電子與封裝 2017年3期
        關(guān)鍵詞:指令調(diào)試單片機(jī)

        俞小平,唐映強(qiáng),李世偉

        (無(wú)錫中微愛芯電子有限公司,江蘇 無(wú)錫 214072)

        電路設(shè)計(jì)

        基于C8051的片上調(diào)試單元設(shè)計(jì)

        俞小平,唐映強(qiáng),李世偉

        (無(wú)錫中微愛芯電子有限公司,江蘇 無(wú)錫 214072)

        隨著半導(dǎo)體工藝與集成電路技術(shù)的快速發(fā)展,微處理器的集成度越來(lái)越高,在設(shè)計(jì)中開發(fā)比較大的應(yīng)用程序時(shí),強(qiáng)勁的調(diào)試手段是非常重要的。當(dāng) bug 復(fù)雜到無(wú)法分析時(shí),只能用調(diào)試來(lái)追蹤它,集成片上調(diào)試功能更顯得尤為重要?;贑8051 IP設(shè)計(jì)了一個(gè)片上調(diào)試單元,將調(diào)試功能集成到單片機(jī)內(nèi)部。通過配置不同的操作指令,該片上調(diào)試單元可實(shí)現(xiàn)斷點(diǎn)指令、地址斷點(diǎn)、停止及單步執(zhí)行程序、數(shù)據(jù)觀察點(diǎn)、運(yùn)行到光標(biāo)處等調(diào)試功能。

        集成電路;片上調(diào)試;C8051

        1 引言

        8051 單片機(jī)市場(chǎng)一直應(yīng)用很廣泛,無(wú)論是低端市場(chǎng)還是中高端市場(chǎng),單片機(jī)調(diào)試功能都不可或缺[1]。常見的調(diào)試方法有軟件模擬調(diào)試方法、基于仿真器(在線仿真)調(diào)試以及基于片上調(diào)試器的調(diào)試方法。

        軟件模擬調(diào)試是通過軟件模擬+在線反復(fù)編程的方式,直接檢查運(yùn)行結(jié)果,以此達(dá)到調(diào)試功能。該調(diào)試方法只能用于模擬片上外設(shè),不能模擬實(shí)際芯片工作狀態(tài)。

        基于仿真器(在線仿真)調(diào)試是通過仿真器上處理器或FPGA模擬某一單片機(jī)的特性,該調(diào)試方法相較于軟件模擬調(diào)試,可以較為真實(shí)地模擬實(shí)際芯片的工作。但是該調(diào)試方法花費(fèi)的成本較高,并且不利于整機(jī)調(diào)試。

        片上調(diào)試器是通過在芯片內(nèi)部集成支持調(diào)試功能的硬件模塊,通過通信接口控制處理器的運(yùn)行以及實(shí)現(xiàn)調(diào)試功能,由于其低成本及高效性,目前在集成電路調(diào)試系統(tǒng)中得到廣泛運(yùn)用。在針對(duì)低成本的單片機(jī)市場(chǎng),單片機(jī)往往沒有很富裕的管腳資源(如8腳/10腳封裝),如果采用帶JATG接口的片上調(diào)試結(jié)構(gòu)(占用4個(gè)引腳)[2],占用的引腳較多,對(duì)程序開發(fā)難度較大,本文采用比 JTAG 接口引腳更少的2線串行線來(lái)實(shí)現(xiàn)片上調(diào)試功能。

        2 電路實(shí)現(xiàn)

        本文設(shè)計(jì)的片上調(diào)試單元基于C8051單片機(jī)平臺(tái),集成在C8051CPU核中。C8051 是Cast公司開發(fā)的一款51系列單片機(jī)軟核,該軟核同工業(yè)標(biāo)準(zhǔn)51單片機(jī)兼容。該單片機(jī)比工業(yè)標(biāo)準(zhǔn) 51單片機(jī)有更高的性能。

        該片上調(diào)試單元主要由串行接口模塊C2和在線仿真 ICE 模塊組成,如圖1所示。串行總線控制器 C2模塊通過2線接口與片外調(diào)試器傳輸調(diào)試數(shù)據(jù),ICE模塊監(jiān)控處理器指令的執(zhí)行情況,并產(chǎn)生各種調(diào)試控制信號(hào)以及對(duì)存儲(chǔ)器的讀寫訪問。

        圖1 片上調(diào)試單元結(jié)構(gòu)框圖

        圖1中ocdTosfr_interface指OCD產(chǎn)生的特殊功能寄存器接口信號(hào)( 含數(shù)據(jù)/地址/控制 );cpuTosfr_interface 指 CPU產(chǎn)生的特殊功能寄存器 接口信號(hào)(含數(shù)據(jù)/地址/控制)。

        串行接口模塊主要包括輸入數(shù)據(jù)同步模塊、開始/停止條件檢測(cè)模塊、移位寄存器及狀態(tài)機(jī)模塊,如圖2所示。該模塊的端口包括時(shí)鐘端口(clk)、復(fù)位端口(rst)、串行輸入時(shí) 鐘(scl)、串行輸入數(shù)據(jù)(sda)、串行 輸出數(shù)據(jù)(sda_data)及串口輸出數(shù)據(jù)使能(sda_oe)。

        輸入數(shù)據(jù)同步模塊主要負(fù)責(zé)對(duì)輸入端口 sda、scl進(jìn)行2級(jí)觸發(fā)器同步。

        開始/停止條件檢測(cè)模塊則對(duì)同步后的信號(hào)sda_sync、scl_sync 檢測(cè)起始條件和停止條件的發(fā)生。

        圖2 串行接口模塊C2框圖

        狀態(tài)機(jī)模塊為該系統(tǒng)的核心,根據(jù)識(shí)別到的命令碼跳轉(zhuǎn)到不同狀態(tài),控制調(diào)試中的各個(gè)功能,如單步運(yùn)行、斷點(diǎn)設(shè)置、存儲(chǔ)器編程及讀取。狀態(tài)機(jī)設(shè)計(jì)圖見圖3。

        圖3 狀態(tài)機(jī)設(shè)計(jì)圖

        各狀態(tài)名稱及含義如下。

        IDLE:空閑狀態(tài),用于等待串行通信接口輸入并轉(zhuǎn)換到相應(yīng)的狀態(tài),其他各狀態(tài)最終將會(huì)回到此狀態(tài);

        STOP:系統(tǒng)停止運(yùn)行;

        RUN:系統(tǒng)開始運(yùn)行;

        CURSOR_ADDR:運(yùn)行到指定地址處;

        READ_STATUS:讀取系統(tǒng)所處狀態(tài)指令;

        STEP_?:?jiǎn)尾竭\(yùn)行;

        STEP_OVER:?jiǎn)尾竭\(yùn)行子程序指令;

        STEP_OUT:?jiǎn)尾竭\(yùn)行跳出子程序指令;

        SPACE_SET:存儲(chǔ)器空間設(shè)置,可配置為內(nèi)部數(shù)據(jù)存儲(chǔ)器IRAM,外部數(shù)據(jù)存儲(chǔ)器XRAM,程序存儲(chǔ)器FLASH,特殊功能寄存器SFR;

        ADDR_SET:地址載入設(shè)置;

        READ_?:讀取存儲(chǔ)器指令;

        WRITE_?:寫入存儲(chǔ)器指令;

        BREAK_TYPE:斷點(diǎn)類型設(shè)置;

        BREAK_DATA:斷點(diǎn)數(shù)據(jù)設(shè)置;

        BREAK_ADDR:斷點(diǎn)地址設(shè)置。

        ICE 模塊由調(diào)試控制模塊和存儲(chǔ)器讀寫控制模塊(如圖4 )組成,存儲(chǔ)器讀寫控制模塊主要負(fù)責(zé)對(duì)狀態(tài)機(jī)狀態(tài)碼 ocd_state、調(diào)試緩存地址寄存器 ocd_addr、調(diào)試緩存數(shù)據(jù)寄存器ocd_din、調(diào)試存儲(chǔ)器區(qū)域配置寄存器ocd_space進(jìn)行組合控制,產(chǎn)生各存儲(chǔ)器模塊的接口信號(hào)。

        圖4 存儲(chǔ)器讀寫控制模塊

        存儲(chǔ)器讀寫訪問的工作過程如下:在調(diào)試模式下通過占用存儲(chǔ)器的地址總線、數(shù)據(jù)總線、控制總線來(lái)實(shí)現(xiàn)對(duì)存儲(chǔ)器的讀寫,在占用總線過程中,存儲(chǔ)器的總線均來(lái)源于調(diào)試模塊。

        3 仿真結(jié)果

        采用Verilog HDL語(yǔ)言作為實(shí)現(xiàn)工具,對(duì)片上調(diào)試單元進(jìn)行描述;并將該模塊與C8051IP 集成在同一芯片內(nèi),利用Cadence公司的仿真軟件NC-Verilog對(duì)片上調(diào)試單元設(shè)計(jì)的所有功能進(jìn)行仿真驗(yàn)證,下文以地址斷點(diǎn)仿真驗(yàn)證、存儲(chǔ)器讀寫仿真為例,其他功能仿真說明在此不一一贅述。

        地址斷點(diǎn)仿真驗(yàn)證示例:

        通過串行引腳輸入數(shù)據(jù)配置斷點(diǎn)為地址斷點(diǎn)(即程序計(jì)數(shù)器斷點(diǎn)), 設(shè)置斷點(diǎn)地址為0x0000a(ocd_irom_bk_addr=0x000a),斷點(diǎn)配置完成后,通過串行引腳串入 RUN 命令(ocd_state跳轉(zhuǎn)至 RUN狀態(tài)后又返回IDLE狀態(tài)),CPU開始執(zhí)行指令。當(dāng)CPU執(zhí)行指令到程序0x000a 地址處(memaddr=0x000a),斷點(diǎn)功能觸發(fā),調(diào)試系統(tǒng)將調(diào)試請(qǐng)求信ocd_debugreq由0置1,這時(shí)調(diào)試系統(tǒng)程序存儲(chǔ)器斷點(diǎn)觸發(fā)完成,等待CPU停止運(yùn)行,CPU停止運(yùn)行后給調(diào)試信號(hào)一個(gè)應(yīng)答信號(hào),調(diào)試的輸入引腳debugack由0置1,此時(shí)調(diào)試系統(tǒng)可以接收其他命令,仿真圖見圖5。

        匯編驗(yàn)證代碼如下:

        ORG 0000H

        MOV R0,#01H

        MOV DPTR,#0000H

        TEST_00:

        MOV @R0,#00H

        MOV A,@R0

        MOVX @DPTR,A

        INC DPTR

        INC R0

        CJNE R0,#80H,TEST_00

        STOP:

        SJMP $

        END

        圖5 程序存儲(chǔ)器地址斷點(diǎn)仿真圖

        存儲(chǔ)器讀寫仿真驗(yàn)證示例:

        假定用戶需要改寫內(nèi)部 RAM 地址0x10、0x11、0x12 的數(shù)據(jù),待寫入數(shù)據(jù)依次為0x0a、0xa0、0xaa。通過串行引腳串入數(shù)據(jù),配置存儲(chǔ)區(qū)域?yàn)閮?nèi)部數(shù)據(jù)存儲(chǔ)器,配置起始地址后,依次串入待寫入的數(shù)據(jù)0x0a、0xa0、0xaa。如圖6 所示,RAM 的地址總線被依次配置成0x10、0x11、0x12,對(duì)應(yīng)的數(shù)據(jù)配置成0x0a、0xa0、0xaa,在狀態(tài)機(jī)的控制下將3個(gè)數(shù)據(jù)寫入內(nèi)部 RAM。

        圖6 存儲(chǔ)器編程操作仿真圖

        讀操作時(shí),配置完首地址0x10 后連續(xù)讀取3次,如圖7 所示,內(nèi)部 RAM 輸出總線 databuso 數(shù)據(jù)分別為0x0a、0xa0、0xaa,與寫入的數(shù)據(jù)一致。

        應(yīng)用于一款內(nèi)嵌 8051 的 SOC 芯片中。

        圖7 存儲(chǔ)器讀取操作仿真圖

        [1]張偉,李兆麟.一種基于 JTAG 的嵌入式微處理器片上調(diào)試系統(tǒng)[J].計(jì)算機(jī)工程與應(yīng)用,2004,40(12):1-4.

        [2]常志恒,肖鐵軍,史順波.基于 JIAG 的片上調(diào)試器與調(diào)試系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(30):1-5.

        4 結(jié)論

        本文基于C8051設(shè)計(jì)了一種片上調(diào)試單元,并將片上調(diào)試功能集成到芯片內(nèi)部,通過仿真和 XiLinx 公司的FPGA驗(yàn)證,驗(yàn)證了該設(shè)計(jì)的正確性,該設(shè)計(jì)已

        Design of On-chip Debug Unit Based on C8051

        YU Xiaoping,TANG Yingqiang,LIShiwei
        (Wuxi I-core Electronics Co.,Ltd,Wuxi214072,China)

        With the rapid development of semiconductor and integrated circuit technology,the integration level ofmicroprocessor isbecom ing higher and higher.A strong debugging tool is very important during the development of large applications,especially when the bugs are too complicated to analyze.Based on theC8051IP,the article presentsan on-chip debug unitand integrates the debugging function into theMCU.W ith different configuration instructions,the on-chip debug unit can realize breakpoint instruction,address breakpoint,stop or single step execution procedures,data observation point,run to the cursor and other debugging functions.

        integrated circuit;on-chip debug;C8051

        TN402

        A

        1681-1070 (2017) 03-0019-03

        俞小平(1986—),男,江蘇高郵人,本科,助理工程師,主要從事數(shù)?;旌霞呻娐吩O(shè)計(jì)研究。

        2016-11-15

        猜你喜歡
        指令調(diào)試單片機(jī)
        聽我指令:大催眠術(shù)
        基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機(jī)的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機(jī)的便捷式LCF測(cè)量?jī)x
        電子制作(2019年9期)2019-05-30 09:42:02
        ARINC661顯控指令快速驗(yàn)證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        基于航拍無(wú)人機(jī)的設(shè)計(jì)與調(diào)試
        電子制作(2018年12期)2018-08-01 00:47:44
        FOCAS功能在機(jī)床調(diào)試中的開發(fā)與應(yīng)用
        無(wú)線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用
        電子制作(2017年19期)2017-02-02 07:08:38
        調(diào)壓柜的調(diào)試與試運(yùn)行探討
        av片在线观看免费| 丝袜美腿国产一区精品| 久久精品国产亚洲av果冻传媒 | 国产av天堂一区二区二区| 艳妇臀荡乳欲伦交换h在线观看| 国产性生交xxxxx免费| 日本高清视频永久网站www| 亚洲国产成人va在线观看天堂| 国产精品自产拍在线观看中文| 蜜桃视频一区二区三区| 欧美国产激情18| 无码国产精品一区二区高潮| 国产精品九九久久一区hh| 日本97色视频日本熟妇视频| 极品少妇xxxx精品少妇偷拍| 激情综合色五月丁香六月亚洲| 人妻av一区二区三区av免费| 免费视频一区二区三区美女| 亚洲一区二区日韩专区| 69一区二三区好的精华| 九九视频免费| 亚洲全国最大的人成网站| 一区二区二区三区亚洲| 亚洲av日韩aⅴ无码色老头| 久久aⅴ无码av免费一区| 大香蕉久久精品一区二区字幕| 日本精品视频二区三区| 亚洲成av人片在线观看ww| 亚洲精品成AV无在线观看| 偷拍熟女露出喷水在线91| 一本大道熟女人妻中文字幕在线| 国产精品视频二区不卡| 中文字幕高清无码不卡在线| 成年人一区二区三区在线观看视频| 边喂奶边中出的人妻| 91久久久久无码精品露脸| 亚洲高清精品一区二区| 国产精品爽爽ⅴa在线观看| japanesehd中国产在线看| 被欺辱的高贵人妻被中出| 久久久国产熟女综合一区二区三区 |