- 單片機原理與嵌入式系統(tǒng)設計
- 張齊 朱寧西 畢盛編著
- 2613字
- 2018-12-27 05:43:27
3.2 單片機嵌入式系統(tǒng)開發(fā)的軟硬件環(huán)境
3.2.1 單片機嵌入式系統(tǒng)開發(fā)的軟硬件環(huán)境構成
當用戶目標系統(tǒng)設計完成后,還需要應用軟件支持,用戶目標系統(tǒng)才能成為一個滿足用戶要求的單片機嵌入式系統(tǒng)。但該用戶目標系統(tǒng)不具備自開發(fā)能力,需要借助于單片機仿真器(也稱單片機開發(fā)系統(tǒng))完成該項工作。一個典型的單片機嵌入式系統(tǒng)開發(fā)環(huán)境組成如圖3.2所示,單片機嵌入式系統(tǒng)開發(fā)環(huán)境硬件由PC、單片機仿真器、用戶目標系統(tǒng)、編程器和數(shù)條連接電纜組成。軟件由PC上的單片機集成開發(fā)環(huán)境軟件和編程器軟件構成,前者為單片機仿真器隨機軟件,后者為編程器隨機軟件。

圖3.2 單片機系統(tǒng)開發(fā)環(huán)境組成
單片機仿真器也稱單片機開發(fā)系統(tǒng)。單片機仿真器的工作步驟是:取下用戶目標系統(tǒng)的單片機芯片(目標系統(tǒng)CPU),把仿真器上的CPU仿真頭插入用戶目標系統(tǒng)CPU相應的位置,這樣就將仿真器中的CPU和ROM出借給了目標系統(tǒng);PC通過仿真器和目標系統(tǒng)建立起一種透明的聯(lián)系,程序員可以觀察到程序的運行(實際上程序在仿真器中運行)和CPU內部的全部資源情況,也就是說,在開發(fā)環(huán)境中用戶目標系統(tǒng)中的程序存儲器是閑置的。我們調試的是仿真器中的程序,仿真器中的程序運行完全受仿真器的監(jiān)控程序控制。仿真器的監(jiān)控程序相當于PC的操作系統(tǒng),該監(jiān)控程序與PC上運行的集成開發(fā)環(huán)境相配合,使得我們可以修改和調試程序,并能觀察程序的運行情況。
待程序調試完成后,將編程器通過通信電纜線連接到PC,將調試好的程序通過編程器寫入單片機芯片(即寫入單片機內部的程序存儲器)或目標系統(tǒng)上的程序存儲器,從用戶目標系統(tǒng)上拔掉仿真頭CPU,即完成了單片機的仿真調試,然后換上寫入程序的單片機芯片(目標系統(tǒng)CPU),得到單片機嵌入式系統(tǒng)的運行態(tài)如圖3.3所示,也稱為脫機運行。由于仿真器的功能差別很大,脫機運行有時和仿真運行并不完全一致,還需要返回仿真過程調試。上述過程有時可能要重復多次。
開發(fā)環(huán)境要求的各種配置如下。
① PC,目前市售的計算機配置都滿足要求。
② 操作系統(tǒng)應使用Windows 95/98/ME/NT/2000/XP或更高版本。
③ 單片機仿真器及相應的配件,包括通信電纜、仿真電纜、電源等。
④ 在PC上運行的單片機仿真器集成開發(fā)環(huán)境軟件。
⑤ 匯編或編譯軟件,將匯編語言或高級語言源程序翻譯為浮動的目標代碼。
⑥ 連接定位器軟件,把多個浮動的目標代碼在單片機程序空間做定位控制。
⑦ 編程器,一種把單片機運行文件寫入EPROM/E2PROM/Flash E2PROM/CPU的工具。
單片機仿真器在開發(fā)環(huán)境中出借CPU和程序存儲器到用戶目標系統(tǒng),調試完成后通過編程器把程序固化到程序存儲器,插入目標系統(tǒng),同時插入目標系統(tǒng)CPU,即可得到單片機嵌入式系統(tǒng)的運行態(tài)。
編程器的功能是把調試好的目標代碼寫入單片機的片內(外)程序存儲器里面,把寫好后的芯片插到用戶目標板上進行脫機(脫離仿真器)運行,如未達到用戶要求,則要重新返回仿真階段查找軟件或硬件的原因。這個過程可能要重復多遍。

圖3.3 單片機嵌入式系統(tǒng)的運行態(tài)
3.2.2 單片機嵌入式系統(tǒng)開發(fā)工具選擇原則
在單片機嵌入式系統(tǒng)研制中,仿真器是一個重要的輔助開發(fā)工具,因此,有必要選擇一個好的仿真調試工具,滿足做產品開發(fā)的用戶對目標機仿真調試的要求,并且使用方便可靠。
選擇仿真器要求如下:
全地址空間的仿真;
不占用任何用戶目標系統(tǒng)的資源;
必須實現(xiàn)硬斷點,并且具有靈活的斷點管理功能;
硬件實現(xiàn)單步執(zhí)行功能;
可跟蹤用戶程序執(zhí)行;
可觀察用戶程序執(zhí)行過程中的變量和表達式;
可中止用戶程序的運行或用戶程序復位;
系統(tǒng)硬件電路的診斷與檢查;
支持匯編和高級語言源程序級調試。
3.2.3 使用JTAG界面單片機仿真開發(fā)環(huán)境
JTAG(Joint Test Action Group,聯(lián)合測試行動小組)是一種國際標準測試協(xié)議(IEEE 1149.1兼容),主要用于芯片內部測試。現(xiàn)在多數(shù)的高級器件都支持JTAG協(xié)議,如DSP、FPGA器件等。標準的JTAG接口有4線:TMS、TCK、TDI、TDO,分別為模式選擇、時鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。JTAG最初是用來對芯片進行測試的,基本原理是在器件內部定義一個TAP(Test Access Port,測試訪問口),通過專用的JTAG測試工具對內部節(jié)點進行測試。JTAG測試允許多個器件通過JTAG接口串聯(lián)在一起,形成一個JTAG鏈,能實現(xiàn)對各個器件的分別測試。現(xiàn)在,JTAG接口還常用于實現(xiàn)ISP(In-System Programmable,在系統(tǒng)編程),對單片機內部的Flash E2PROM等器件進行編程。
JTAG編程方式是在線編程,這種方式不需要編程器。傳統(tǒng)生產流程中的先對芯片進行預編程、現(xiàn)裝配的方式,因此而改變。簡化的流程為先固定器件到電路板上,再用JTAG編程,從而大大加快了工程進度。
新一代的單片機芯片內部不僅集成了大容量的Flash E2PROM,芯片還具有 JTAG接口,可接JTAG ICE仿真器,PC提供高級語言開發(fā)環(huán)境(Windows),支持C語言及匯編語言,不僅可以下載程序,還可以在系統(tǒng)調試程序,具有調試目標系統(tǒng)的所有功能,開發(fā)不同的單片機系統(tǒng)只需更換目標板。JTAG仿真開發(fā)環(huán)境如圖3.4所示。
在JTAG單片機仿真開發(fā)環(huán)境中,JTAG適配器提供了計算機通信口到單片機JTAG接口的透明轉換,并且不出借CPU和程序存儲器給應用系統(tǒng),使得仿真更加貼近實際目標系統(tǒng)。單片機內部已集成了基于JTAG的協(xié)議調試和下載程序。
3.2.4 單片機的在線編程
通常進行單片機開發(fā)時,編程器是必不可少的。仿真、調試完的程序,需要借助編程器燒到單片機內部或外接的程序存儲器中。普通的編程器價格從幾百元到幾千元不等,對于一般的單片機愛好者來說,這是一筆不小的開支。另外,在開發(fā)過程中,程序每改動一次就要拔下電路板上的芯片編程后再插上,也比較麻煩。

圖3.4 JTAG單片機仿真開發(fā)環(huán)境
隨著單片機技術的發(fā)展,出現(xiàn)了可以在線編程的單片機。這種在線編程目前有兩種實現(xiàn)方法:在系統(tǒng)編程(ISP)和在應用編程(IAP)。ISP一般通過單片機專用的串行編程接口對單片機內部的Flash存儲器進行編程,而IAP技術是從結構上將Flash存儲器映射為兩個存儲體,當運行一個存儲體上的用戶程序時,可對另一個存儲體重新編程,之后將控制從一個存儲體轉向另一個。ISP的實現(xiàn)一般需要很少的外部電路輔助,而IAP的實現(xiàn)更加靈活,通常可利用單片機的串行口接到計算機的RS-232口,通過專門設計的固件程序對內部存儲器編程。例如,Atmel公司的單片機AT89S8252提供了一個SPI串行接口,對內部程序存儲器編程(ISP),而SST公司的單片機SST89C54內部包含了兩塊獨立的存儲區(qū),通過預先編程在其中一塊存儲區(qū)中的程序就可以通過串行口與計算機相連,使用PC上專用的用戶界面程序直接下載程序代碼到單片機的另一塊存儲區(qū)中。
ISP和IAP為單片機的實驗和開發(fā)帶來了很大的方便和靈活性,也為廣大單片機愛好者帶來了福音。利用ISP和IAP,不需要編程器就可以進行單片機的實驗和開發(fā),單片機芯片可以直接焊接到電路板上,調試結束即為成品,甚至可以遠程在線升級或改變單片機中的程序。
- 玩轉智能機器人程小奔
- 輕輕松松自動化測試
- Google Cloud Platform Cookbook
- Verilog HDL數(shù)字系統(tǒng)設計入門與應用實例
- 蕩胸生層云:C語言開發(fā)修行實錄
- 空間機器人遙操作系統(tǒng)及控制
- JMAG電機電磁仿真分析與實例解析
- Visual C# 2008開發(fā)技術詳解
- Windows內核原理與實現(xiàn)
- Windows 7寶典
- 工業(yè)機器人操作與編程
- Splunk Operational Intelligence Cookbook
- Learn CloudFormation
- Hands-On SAS for Data Analysis
- 人工智能:智能人機交互