?? 00000002.htm
字號:
<?xml version="1.0" encoding="gb2312"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"/><title>[范文][嵌入式系統]嵌入式系統綜述之三 ( sunno </title></head><body><center><h1>BBS 水木清華站∶精華區</h1></center><a name="top"></a>發信人: DDG (導彈驅逐艦~霧的季節), 信區: Embedded <br />標 題: [范文][嵌入式系統]嵌入式系統綜述之三 (轉載) <br />發信站: BBS 水木清華站 (Fri Apr 14 21:48:19 2000) <br /> <br />【 以下文字轉載自 New_board 討論區 】 <br />【 原文由 zhwf 所發表 】 <br />嵌入式系統綜述之三
<br />嵌入式系統開發工具及RTOS平臺
<br />
<br />北京諾浩數字基因研究所
<br />中國單片機公共實驗室(BOL)
<br />
<br />呂京建 肖海橋
<br />(<a href="http://www.bol-system.com)
">http://www.bol-system.com)
</a> <br />
<br />嵌入式處理器是一個復雜的高技術系統,要在短時間內掌握并開發出所有功能是很不
<br />容易的,而市場競爭則要求產品能夠快速上市,這一矛盾要求嵌入式處理器能夠有容
<br />易掌握和使用的開發工具平臺。提高用戶和程序員的時間投入回報率(ROT1)。
<br />
<br />從事嵌入式開發的往往是非計算機專業人士,面對成百上千種處理器,選擇是一個
<br />問題,學習掌握處理器結構及其應用更需要時間,因此以開發工具和技術咨詢為基礎
<br />的整體解決方案是迫切需要的。好的開發工具除能夠開發出處理器的全部功能以外,
<br />還應當是用戶友好的。目前嵌入式系統的開發工具平臺主要包括下面幾類。
<br />
<br />1. 實時在線仿真系統ICE(In-Circuit Emulator)
<br />
<br />直到計算機輔助設計非常發達的今天,實時在線仿真系統(ICE)仍是進行嵌入式應用
<br />系統調試最有效的開發工具。ICE首先可以通過實際執行,對應用程序進行原理性檢
<br />驗,排除以人的思維難以發現的設計邏輯錯誤。ICE的另一個主要功能是在應用系統
<br />中仿真微控制器的實時執行,發現和排除由于硬件干擾等引起的異常執行行為。此外,
<br />高級的ICE帶有完善的跟蹤功能,可以將應用系統的實際狀態變化、微控制器對狀態
<br />變化的反應、以及應用系統對控制的響應等以一種錄像的方式連續記錄下來,以供分
<br />析,在分析中優化控制過程。很多機電系統難以建立一個精確有效的數學模型,或是
<br />建立模型需要大量人力,這時采用ICE的跟蹤功能對系統進行記錄和分析是一個快而
<br />有效的方法。
<br />
<br />嵌入式應用的特點是和現實世界中的硬件系統有關,存在各種異變和事先未知的變化,
<br />這就給微控制器的指令執行帶來了各種不確定性,這種不確定性只有通過ICE的實時
<br />在線仿真才能發現,特別是在分析可靠性時要在同樣條件下多次仿真,以發現偶然
<br />出現的錯誤。
<br />
<br />ICE不僅是軟件硬件排錯工具,同時也是提高和優化系統性能指標的工具。高檔ICE
<br />工具(如美國NOHAU公司的產品)是可根據用戶投資裁剪功能的系統,亦可根據需要選
<br />擇配置各種檔次的實時邏輯跟蹤器(Trace)、實時映象存儲器(Shadow RAM)及程序效
<br />率實時分析功能(PPA)。(有關詳情請查閱<a href="http://www.nohau.com)。">http://www.nohau.com)。</a>
<br />
<br />2. 高級語言編譯器(Compiler Tools)
<br />
<br />C語言作為一種通用的高級語言,大幅度提高了嵌入式系統工程師的工作效率,使之
<br />能夠充分發揮出嵌入式處理器日益提高的性能,縮短產品進入市場時間。另外C語言
<br />便于移植和修改,使產品的升級和繼承更迅速。更重要的是采用C語言編寫的程序易
<br />于在不同的開發者之間進行交流,從而促進了嵌入式系統開發的產業化。
<br />
<br />區別于一般計算機中的C語言編譯器,嵌入式系統中的C語言編譯器要專門進行優化,
<br />以提高編譯效率。優秀的嵌入式系統C編譯器代碼長度和執行時間僅比以匯編語言編
<br />寫的同樣功能程序長5~20%。編譯質量的不同,是區別嵌入式C編譯器工具的重要指標。
<br />而C編譯器與匯編語言工具相比殘余的5~20%效率差別,完全可以由現代微控制器的
<br />高速度、大存儲器空間以及產品提前進入市場的優勢來彌補。
<br />
<br />新型的微控制器指令及SOC速度不斷提高,存儲器空間也相應加大,已經達到甚至超
<br />過了目前的通用計算機中的微處理器,為嵌入式系統工程師采用過去一直不敢問津
<br />的C++語言創造了條件。C++語言強大的類、繼承等功能更便于實現復雜的程序功能。
<br />但是C++語言為了支持復雜的語法,在代碼生成效率方面不免有所下降。為此,1995
<br />年初在日本成立的Embedded C++技術委員會經過幾年的研究,針對嵌入式應用制訂
<br />了減小代碼尺寸的EC++標準。EC++保留了C++的主要優點,提供對C++的向上兼容性,
<br />并滿足嵌入式系統設計的一些特殊要求。在嵌入式高級語言編譯器方面處于領先地位
<br />的Tasking公司,是EC++技術委員會成員之一,也是最先推出EC++產品的公司。(更多
<br />的信息,可查詢<a href="http://www.tasking.com)。">http://www.tasking.com)。</a>
<br />
<br />C/C++/EC++引入嵌入式系統,使得嵌入式開發和個人計算機、小型機等之間在開發上
<br />的差別正在逐漸消除,軟件工程中的很多經驗、方法乃至庫函數可以移植到嵌入式
<br />系統。在嵌入式開發中采用高級語言,還使得硬件開發和軟件開發可以分工,從事
<br />嵌入式軟件開發不再必須精通系統硬件和相應用匯編語言指令集。
<br />
<br />另一種高級語言,JAVA的發展則具有戲劇性。JAVA本來是為設備獨立的嵌入式系統
<br />設計的、為了提高程序繼承性的語言,但是目前基于JAVA的嵌入式開發工具代碼生成
<br />長度要比嵌入式C編譯工具差10倍以上。因此EC++很可能將成為未來的主流工具。
<br />
<br />3. 源程序模擬器(Simulator)
<br />
<br />源程序模擬器是在廣泛使用的、人機接口完備的工作平臺上,如小型機和PC,通過軟
<br />件手段模擬執行為某種嵌入式處理器內核編寫的源程序測試工具。簡單的模擬器可以
<br />通過指令解釋方式逐條執行源程序,分配虛擬存儲空間和外設,供程序員檢查;高級
<br />的模擬器可以利用計算機的外部接口模擬出處理器的I/O電氣信號。不同檔次和功能
<br />模擬器工具價格差距巨大。
<br />
<br />模擬器軟件獨立于處理器硬件,一般與編譯器集成在同一個環境中,是一種有效的源
<br />程序檢驗和測試工具。但值得注意的是,模擬器畢竟是以一種處理器模擬另一種處理
<br />器的運行,在指令執行時間、中斷響應、定時器等方面很可能與實際處理器有相當的
<br />差別。另外它無法和ICE一樣,仿真嵌入式系統在應用系統中的實際執行情況。(更多
<br />的資料,可查詢以下網址:www.chiptools.com, www.keil.com, www.tasking.com)。
<br />
<br />4. 實時多任務操作系統
<br />(Real Time multi-tasking Operation System, RTOS)
<br />
<br />實時多任務操作系統(RTOS)是嵌入式應用軟件的基礎和開發平臺。目前在中國大多數
<br />嵌入式軟件開發還是基于處理器直接編寫,沒有采用商品化的RTOS,不能將系統軟件
<br />和應用軟件分開處理。RTOS是一段嵌入在目標代碼中的軟件,用戶的其它應用程序都
<br />建立在RTOS之上。不但如此,RTOS還是一個可靠性和可信性很高的實時內核,將CPU
<br />時間、中斷、I/O、定時器等資源都包裝起來,留給用戶一個標準的API,并根據各個
<br />任務的優先級,合理地在不同任務之間分配CPU時間。
<br />
<br />RTOS是針對不同處理器優化設計的高效率實時多任務內核,優秀商品化的RTOS可以面
<br />對幾十個系列的嵌入式處理器MPU、MCU、DSP、SOC等提供類同的API接口,這是RTOS
<br />基于設備獨立的應用程序開發基礎。因此基于RTOS上的C語言程序具有極大的可移植性。 <br />
<br />據專家測算,優秀RTOS上跨處理器平臺的程序移植只需要修改1~5%的內容。在RTOS基
<br />礎上可以編寫出各種硬件驅動程序、專家庫函數、行業庫函數、產品庫函數,和通用
<br />性的應用程序一起,可以作為產品銷售,促進行業內的知識產權交流,因此RTOS又是
<br />一個軟件開發平臺。
<br />
<br />5. RTOS是嵌入式系統的軟件開發平臺
<br />
<br />RTOS最關鍵的部分是實時多任務內核,它的基本功能包括任務管理、定時器管理、存
<br />儲器管理、資源管理、事件管理、系統管理、消息管理、隊列管理、旗語管理等,
<br />
<br />這些管理功能是通過內核服務函數形式交給用戶調用的,也就是RTOS的API。
<br />
<br />RTOS的引入,解決了嵌入式軟件開發標準化的難題。隨著嵌入式系統中軟件比重不斷
<br />上升、應用程序越來越大,對開發人員、應用程序接口、程序檔案的組織管理成為一
<br />個大的課題。引入RTOS相當于引入了一種新的管理模式,對于開發單位和開發人員都
<br />是一個提高。
<br />
<br />基于RTOS開發出的程序,具有較高的可移植性,實現90%以上設備獨立,一些成熟的
<br />通用程序可以作為專家庫函數產品推向社會。嵌入式軟件的函數化、產品化能夠促
<br />進行業交流以及社會分工專業化,減少重復勞動,提高知識創新的效率。
<br />
<br />嵌入式工業的基礎是以應用為中心的芯片設計和面向應用的軟件開發。實時多任務
<br />操作系統(RTOS)進入嵌入式工業的意義不亞于歷史上機械工業采用三視圖的貢獻,
<br />對嵌入式軟件的標準化和加速知識創新是一個里程碑。
<br />
<br />目前,商品化的RTOS可支持從8BIT的8051到32BIT的PowerPC及DSP等幾十個系列的
<br />嵌入式處理器。提供高質量源代碼RTOS的著名公司主要集中在美國。(更多的資料
<br />可查詢下列網址:http: // www.cmx.com, www.rtxc.com)。 <br /> <br />-- <br />※ 來源:·BBS 水木清華站 smth.org·[FROM: 203.207.217.66] <br /><a href="00000001.htm">上一篇</a><a href="javascript:history.go(-1)">返回上一頁</a><a href="index.htm">回到目錄</a><a href="#top">回到頁首</a><a href="00000003.htm">下一篇</a></h1></center><center><h1>BBS 水木清華站∶精華區</h1></center></body></html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -