999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種8051軟核的用戶程序在線調試方法

2014-05-17 01:34:38蒲曉蓉
實驗室研究與探索 2014年3期
關鍵詞:調試單片機程序

唐 續, 王 嘉, 蒲曉蓉

(電子科技大學 a.電子工程學院;b.英才實驗學院,四川成都 611731)

0 引言

8051及其兼容的單片機是目前最普及的8位單片機,在我校國家級實驗教學示范中心及其它高校實踐教學中被廣泛采用[1-6]。隨著現場可編程門陣列(FPGA)及EDA技術的發展,微處理器(MCU)有了新的應用形式——IP核,也出現了多種針對8051 MCU的軟核,如DW8051核,OC8051核、T51核及MC805l核等[7-8]。這些MCU軟核促進了各種嵌入式系統和片上可編程系統(SOPC)的應用[9-11]。

本文提出一種對8051 MCU軟核中應用程序在線調試的方法,以期促進EDA、單片機和SOPC綜合實踐教學的改革。

1 8051軟核的現有應用方法

當前,8051軟核的應用開發流程一般如圖1所示:使用 Keil μVision[12]等常用單片機開發平臺編寫應用程序并離線初步調試。之后編譯生成hex格式的目標文件,并將其轉換為FPGA的ROM初始化文件格式。然后執行FPGA開發平臺上的項目流程,生成FPGA配置數據,經JTAG接口下載到FPGA目標板,作上電驗證。若結果與設計不符,將重新執行所有流程。

圖1 51軟核應用的開發流程

不難看出,該流程需在單片機和FPGA兩類開發平臺上切換。而實際應用開發中,特別是實踐教學中,應用程序往往需多次修改,使得多次反復執行上述流程,相當費時。這嚴重制約了8051軟核在實踐教學和學生科技活動(如電子設計競賽)中的運用。

為此,文獻[13]提出一種在PC機上修改和編譯單片機應用程序,再通過RS232串口將目標代碼下載到FPGA的程序存儲器中的方法。它省去了FPGA項目流程部分的工作量,但程序編制和修改仍然是離線的,未能實現在目標板上對應用作在線仿真調試。

下文以MC8051軟核[14]為例,介紹一種基于在線仿真調試工具Monitor-51[12],對軟核中應用程序作在線調試的方法。

2 MC8051軟核介紹

MC8051是Oregano Systems公司提供的8051 MCU軟核。它提供VHDL語言設計源代碼,可配合各種設計平臺進行綜合實現。可根據實際應用需求進行配置。非常適合SOPC應用設計和實踐教學[15]。

2.1 MC8051 特點

采用全同步設計,指令集和標準8051單片機全兼容。指令執行時間為1~4個時鐘周期,性能優于標準8051單片機8倍左右。用戶可選定時/計數器和串行接口單元的數量;可選是否提供乘法(指令MUL)、除法(指令DIV)以及十進制調整(指令DA)功能;I/O口不復用以便于靈活定制;帶256 B的內部RAM;最多可擴展至64KB的ROM和64KB的外部RAM。

2.2 MC8051 組成結構

圖2 MC8051組成結構

MC8051的組成結構如圖2所示。頂層MC8051_top包括處理器核心MC8051_core和三個存儲模塊:內部存儲模塊MC8051_ram、外部代碼存儲模塊MC8051_rom和外部數據存儲模塊MC8051_ramx。存儲模塊處于設計的頂層而不包括于核心內,可便于不同FPGA平臺的仿真及應用設計。處理器核心MC8051_core由定時/計數器MC8051_tmrctr、算術邏輯運算單元MC8051_alu、串行接口MC8051_siu和控制單元等模塊組成。定時/計數器和串行接口單元的數量N可調。圖2中還給出了頂層的I/O接口。

3 Monitor-51介紹

Monitor-51是Keil μVision自帶的一種利用PC機與51單片機串口通信的侵入式在線調試工具[12]。該工具在單片機系統的應用開發和教學中被廣泛使用。

基于Monitor-51的調試方法對硬件有以下要求:

●硬件系統為51系列MCU。

●5KB外部程序存儲器,存Monitor-51監控程序。

●256 B外部數據存儲器,存監控數據;

東莞理工學院理工科學生數學課程歷年成績分析 劉群鋒,姚嘉茹,趙子瑛,尹燕君,李健儀,徐珍樹,白樂(100)

●外部數據存儲器總容量必須足夠容納所有應用程序代碼及數據,且必須為馮·諾伊曼存儲結構,即能統一尋址外部數據空間與代碼空間,以實現載入執行和修改用戶代碼的功能。

●占用一個定時器作為串口波特率發生器。

●6 B的空余堆棧。

標準51單片機采用的是代碼空間和數據空間相互獨立的哈佛存儲結構。為獲得馮·諾伊曼存儲結構,標準做法如圖3所示,把目標單片機的PSEN引腳和RD引腳取邏輯“與”,再接外部存儲器的OE端,從而合并了外部程序空間和外部數據空間。由此,PC機端運行于Keil μVision集成開發環境(IDE)的應用程序和調試信息,通過Monitor-51驅動程序,經RS-232接口傳送給目標板上的51單片機,由Monitor-51監控程序分析處理并反饋回PC機,實現單步、全速和斷點等方式執行,并能觀察各變量和寄存器的值。

圖3 Monitor-51調試51單片機系統的電路結構

4 MC8051核中應用程序在線調試方法

下面提出利用Monitor-51工具,通過標準串口對定制于FPGA中的51軟核的用戶程序進行在線調試的方法。該方法工作原理如圖4所示,和Monitor-51標準用法相似。實現該方法的步驟包括Monitor-51配置和51軟核定制兩部分。

4.1 Monitor-51監控程序定制

如圖4所示,Monitor-51需駐留一段監控程序代碼在目標系統的存儲空間。為能使該監控程序根據不同目標系統而定制,Keil軟件提供兩部分文件:INSTALL.A51和 MON51.DLL(與生成監控程序相關的文件均位于Keil軟件安裝路徑下的C51MON51目錄中)。其中MON51.DLL為完成 Monitor-51所有功能的庫文件,INSTALL.A51則以51匯編源代碼的形式提供了定制的接口。最終的目標代碼(hex格式)通過參數化腳本文件INSTALL.BAT編譯生成。

圖4 51軟核中用戶程序在線調試原理示意

這里,目標系統是MC8051核,需定制的內容有:

(2)配置單片機的外部存儲空間。本方法為用戶提供直接的零地址仿真調試方式[16],使用戶程序不做特別更改就能開展仿真調試。為此,對MC8051軟核的外部存儲空間,從零地址開始,依次分配給用戶程序、用戶數據、Monitor-51監視程序和監視程序外部數據。

4.2 支持Monitor-51的MC8051核定制

(1)定制馮·諾依曼存儲結構。MC8051軟核也采用哈佛存儲結構。為使用Monitor-51,需要合并其代碼空間與外部數據空間,定制成馮·諾依曼存儲結構。具體來說,即是去掉圖2中的MC8051_rom空間,只設一個代碼和用戶數據統一編址的可讀可寫的MC8051_ramx空間。但由于MC8051沒有提供標準8051單片機的PSEN和RD信號,不能直接套用已有的合并方式。需要修改MC8051_core相關代碼來定制。

通過分析MC8051的源代碼得知,MC8051_core內部具有獨立的代碼空間地址總線和數據空間地址總線。定制的工作可歸結為把MC8051_core內部總線與外部數據空間MC8051_ramx的地址總線和數據總線分別重新連接,形成和圖3中等效的統一尋址效果。

為此,在MC8051_core外添加一個兩路復用器,其輸入端分別接代碼空間地址總線信號rom_adr_o和外部數據空間地址總線信號adrx_o。復用器的選擇信號由MC8051核中指示當前存儲器訪問類型(為代碼空間訪問或數據空間訪問)的信號s_adrx_mux提供。這使得MC8051對代碼空間或對數據空間各自的訪問都實質上是對單一的MC8051_ramx塊的訪問。

而對于數據總線,這里只需將MC8051_ramx的數據線在保持與原內部數據總線連接的同時,也連接至代碼空間訪問的內部數據總線。這樣,實際的傳送操作將由MC8051_core對各指令譯碼來判斷完成。定制MC8051核的電路原理如圖5所示。

圖5 定制MC8051的馮·諾依曼存儲結構

(2)增加定時器。串口將占用一個定時器作為其波特率發生器。為給用戶提供完整的51單片機功能,修改mc8051_p.vhd文件中如圖6的配置代碼,可方便地補充一組定時器。

圖6 設置定時器數量為2的代碼

(3)修改復位向量。我們知道,Monitor-51工作方式下,單片機復位后需首先進入Monitor-51監控程序,這就要求把單片機標準的復位向量(零地址)修改為監控代碼首地址:修改control_mem_rtl.vhd文件中pc< =conv_unsigned(0,16)為 pc< =conv_unsigned(10240,16),其中10240為監控代碼的首地址。

4.3 可在線調試的MC8051核生成

以基于 Xilinx的 FPGA實驗教學平臺(采用Spartan3E系列芯片XC3S250-144)為例,給出可在線調試的MC8051核生成步驟如下:

(1)通過配置INSTALL.A51,添加定時器,設置監控串口波特率9600bps;執行INSTALL.BAT,設置監控程序首地址為0x2800,監控程序的外部數據空間首地址為0x3F00,并編譯生成mon51.hex目標文件。

(2)為能加載mon51.hex文件,通過 HEX_BIN.exe和 CoeGenerator.exe將 mon51.hex文件轉換為Xilinx FPGA中塊RAM的初始化數據文件MON51.coe(兩個小軟件使用簡單,不作贅述)。

(3)MC8051核中的內部MC8051_ram及MC8051_ramx采用FPGA的塊RAM核實現。先建立ISE項目,再調用其IP核庫的Block Memory Generator(內存塊生成工具)來實現。其中MC8051_ramx生成時,以MON51.coe為其初始化數據文件。

(4)根據4.2小節,定制MC8051_core。

(5)根據實驗板時鐘,生成FPGA內的時鐘模塊(DCM)為MC8051核提供工作時鐘為18 MHz。

(6)在一個ISE項目中,將生成的DCM模塊、MC8051_ram、MC8051_ramx和 MC8051_core等部分,添加管腳約束ucf文件,進行綜合和布局布線,最后生成包含MC8051核的FPGA配置文件(.bit文件)。

(7)用JTAG接口下載.bit文件到FPGA。

至此,該FPGA平臺上建立了一個可在線調試8051單片機的程序。在實際的實驗教學中,可進一步形成更加標準的引腳封裝,如圖7所示。這樣,學生可方便地配合平臺外設,開展各單片機實驗項目。

圖7 MC8051封裝

4.4 在線調試應用舉例

以MC8051單片機P0口驅動8個LED的流水燈實驗為例。中間還設置了一個除法運算,驗證18MHz主頻下除法功能的正常運行。應用Keil μVision4對其在線調試的過程如下:

(1)μVision2設置。新建工程,在工程中可選擇目標器件為標準8051單片機,如Atmel->89C51,再進行options設置。在其中的“Debug”欄中選用“Keil Monitor-51 Driver”,并設置串口“Baudrate”為9600。

(2)調試界面。在項目中創建C51源程序文件,成功編譯后,點擊工具條中圖標進入調試界面。其中,單片機的內部寄存器、各局部變量和觀察窗口中的變量都在線可見。所有程序修改和調試都只需PC端的操作,無需對FPGA及其中的51軟核作重配置。

5 結語

本文提出基于Monitor-51和MC8051軟核定制,實現在FPGA平臺中在線調試單片機應用程序的方法。該方法有效解決了當前8051軟核在單片機實驗、EDA實驗和SOPC實驗等實踐教學中運用的瓶頸問題,為三者的融合提供了可能,有力地支撐了本校電子技術綜合實踐教學的改革,也期望對其他高校的相關工作有所幫助。

[1]李 穎,習友寶.實驗教學示范中心實驗室運行機制與管理模式的探索與實踐[J].實驗室研究與探索,2009,28(4):88-90.

LI Yin,XI You-bao.Exploration and Practice on the Operational and Managerial Mode of Experimental Center[J]. Research and Exploration in Laboratory,2009,28(4):88-90.

[2]余 魅,習友寶.建設國家級實驗教學示范中心構建創新人才培養平臺[J].實驗技術與管理,2006,23(12):10-11.

YU Mei,XI You-bao.Constructing a National Representative Center of Laboratory Education,and Building a Platform for Training Creative Students[J].Experimental Technology and Management,2006,23(12):10-11.

[3]陳學英.電子技術綜合實驗教學方法研究與實踐[J].實驗科學與技術,2011,9(2):127-130.

CHENG Xue-ying.Teaching Methods Research and Practice on Electronic Technique Comprehensive Experiments[J].Experiment Science and Technology,2011,9(2):127-130.

[4]劉京銳,袁惠梅,王 瑩,等.MCU應用系統實驗教學裝置設計與實現[J].實驗技術與管理,2010,27(8):71-74.

LIU Jing-rui,YUAN Hui-mei,WANG Ying,et al.The Projection and Achievement of Practical Teaching Devices of MCU Application System[J].Experimental Technology and Management,2010,27(8):71-74.

[5]宋蘊璞,周文泳,徐鳴謙,等.高校單片機教學實驗設備與方式探討[J].實驗室研究與探索,2009,28(11):6-9.

SONG Yun-pu,ZHOU Wen-yong,XU Ming-qian,et al.Exploration on the Ways and Facilities of Single-Chip Computer Experiment in Universities[J].Research and Exploration in Laboratory,2009,28(11):6-9.

[6]萬光毅,嚴義.單片機實驗與實踐教程[M].北京:北京航空航天大學出版社,2005:149-258.

[7]王 瑞,游志宇,杜 楊,等.MC8051單片機 IP核的FPGA實現與應用[J].電子設計工程,2009,17(1):57-60.

WANG Rui,YIU Zhi-yu,DU Yang,et al.FPGA Implementation and Application of MC8051 MCU IP Core[J].Electronic Design Engineering,2009,17(1):57-60.

[8]徐 慧,王金海,王 巍.基于FPGA的8051 IP核的設計與實現[J].計算機技術與發展,2009,19(3):42-45.

XU Hui,WANG Jin-hai,WANG Wei.Design and Implementation of 8051 IP Core Based on FPGA[J].Computer Technology and Development,2009,19(3):42-45.

[9]丁 昊,莊貴敏,宋 杰,等.基于MC8051內核的便攜幅頻特性測試儀設計[J].電子技術應用,2011,37(4):29-32.

DING Hao,ZHUANG Gui-min,SONG Jie.Design of Portable Frequency Characteristics Test Instrument Based on MC8051 IP Core[J].Application of Electronic Technique,2011,37(4):29-32.

[10]潘明方,李慧軍.基于MC8051軟核的星載智能1394終端[J].微計算機信息,2007,23(6):193-195.

PAN Min-fang,LI Hun-jun.On-board Intellectual 1394 Terminal Based on MC8051 IP[J].2007,23(6):193-195.Control&Automation,2007,23(6):193-195.

[11]羅侄敬.在嵌入FPGA的IP核8051上實現TCP/IP的設計[J].電子元器件應用,2007,9(4):44-46.LUO Zhi-jing.Implementation of TCP/IP for 8051 core in FPGA[J].Electonic Component& Device Applications,2007,9(4):44-46.

[12]尹 勇.μVision2單片機應用程序開發指南[M].北京:科學出版社,2005.3,300-306.

[13]陳明義,李 彬.串行通信接口實現MC8051軟核在線編程[J].電子科技,2009,22(6):29-32.

CHEN Ming-yi,LI Bin.Implementation of MC8051 Soft-core Insystem Programming Using the Serial Communications Interface[J].Electronic Science and Technology,2009,22(6):29-32.

[14]MC8051 IP CoreUserGuide [EB/OL]. http://www.oreganosystems.at/?page_id=96.[2012-7-1].

[15]高 昀.EDA技術在教學實踐中的研究與應用[D].成都:電子科技大學,2009.

[16]陳興文,劉 燕.基于KEIL 51的單片機開發系統設計[J].微計算機信息,2005,21(5):112-113.

CHEN Xing-wen,LIU Yan The Design of MCU Development System Based on KEIL 51[J].Control& Automation,2005,21(5):112-113.

猜你喜歡
調試單片機程序
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
基于航拍無人機的設計與調試
電子制作(2018年12期)2018-08-01 00:47:44
FOCAS功能在機床調試中的開發與應用
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
無線通信中頻線路窄帶臨界調試法及其應用
電子制作(2017年19期)2017-02-02 07:08:38
調壓柜的調試與試運行探討
主站蜘蛛池模板: 国产一级片网址| 青青青亚洲精品国产| 久久婷婷五月综合97色| a毛片在线播放| 丝袜国产一区| 老司机午夜精品视频你懂的| 国产精品视频999| jizz亚洲高清在线观看| 婷婷六月色| 黄色网在线| 国产一级在线播放| 日韩欧美中文| 国产精品午夜福利麻豆| 91在线播放国产| 国产产在线精品亚洲aavv| 被公侵犯人妻少妇一区二区三区| 无码AV日韩一二三区| 999精品色在线观看| 色噜噜在线观看| 亚洲一区二区成人| 日本精品视频| 国产香蕉在线| 麻豆精品在线播放| 四虎永久免费网站| 国内毛片视频| 亚洲欧美另类中文字幕| 草逼视频国产| 欧美不卡二区| 91色老久久精品偷偷蜜臀| 91精品啪在线观看国产91九色| 天堂成人在线视频| 国产精品欧美亚洲韩国日本不卡| 九九九九热精品视频| 亚洲av日韩av制服丝袜| 暴力调教一区二区三区| 无码日韩人妻精品久久蜜桃| 国产第四页| 99re视频在线| 日韩高清成人| 久夜色精品国产噜噜| 毛片网站在线播放| 国产美女主播一级成人毛片| 欧美中文字幕无线码视频| 亚洲无码不卡网| 久久91精品牛牛| 欧美三级视频在线播放| 亚洲天堂网在线视频| 夜夜拍夜夜爽| 国产乱论视频| 国产小视频免费观看| 波多野结衣无码中文字幕在线观看一区二区| 国产日韩欧美视频| 一区二区三区毛片无码| 欧美一级夜夜爽| 一区二区理伦视频| 色偷偷一区| 国产精品久久精品| 成人久久18免费网站| 中文字幕精品一区二区三区视频| 97se亚洲| 欧美成人午夜在线全部免费| 国产精品污污在线观看网站| 亚洲天天更新| 91av成人日本不卡三区| 日韩人妻无码制服丝袜视频| 一级做a爰片久久免费| 精品欧美日韩国产日漫一区不卡| 91网站国产| 精品少妇人妻无码久久| 国产9191精品免费观看| 国产免费一级精品视频 | 亚洲国产午夜精华无码福利| 亚洲成人在线免费| 六月婷婷综合| 欧美一级高清免费a| 日韩中文欧美| 欧美精品在线看| 日本在线免费网站| 国产成人精品午夜视频'| 久久a毛片| 成人在线不卡视频| 五月婷婷综合在线视频|