嵌入式系統開發工具及RTOS平臺
從事嵌入式開發的往往是非計算機專業人士,面對成百上千種處理器,選擇是一個問題,學習掌握處理器結構及其應用更需要時間,因此以開發工具和技術諮詢為基礎的整體解決方案是迫切需要的。好的開發工具除能夠開發出處理器的全部功能以外,還應當是使用者友好的。目前嵌入式系統的開發工具平臺主要包括下面幾類。
1.實時線上模擬系統ICE(In-Circuit Emulator)
直到計算機輔助設計非常發達的今天,實時線上模擬系統(ICE)仍是進行嵌入式應用系統除錯最有效的開發工具。ICE首先可以通過實際執行,對應用程式進行原理性檢驗,排除以人的思維難以發現的設計邏輯錯誤。ICE的另一個主要功能是在應用系統中模擬微控制器的實時執行,發現和排除由於硬體干擾等引起的異常執行行為。此外,高階的ICE帶有完善的跟蹤功能,可以將應用系統的實際狀態變化、微控制器對狀態變化的反應、以及應用系統對控制的響應等以一種錄影的方式連續記錄下來,以供分析,在分析中優化控制過程。很多機電系統難以建立一個精確有效的數學模型,或是建立模型需要大量人力,這時採用ICE的跟蹤功能對系統進行記錄和分析是一個快而有效的方法。
嵌入式應用的特點是和現實世界中的硬體系統有關,存在各種異變和事先未知的變化,這就給微控制器的指令執行帶來了各種不確定性,這種不確定性只有通過ICE的實時線上模擬才能發現,特別是在分析可靠性時要在同樣條件下多次模擬,以發現偶然出現的錯誤。
ICE 不僅是軟體硬體排錯工具,同時也是提高和優化系統性能指標的工具。高檔ICE工具(如美國NOHAU公司的產品)是可根據使用者投資裁剪功能的系統,亦可根據需要選擇配置各種檔次的實時邏輯跟蹤器(Trace)、實時映象儲存器(Shadow RAM)及程式效率實時分析功能(PPA)。(有關詳情請查閱http://www.nohau.com)。
2. 高階語言編譯器(Compiler Tools)
C 語言作為一種通用的高階語言,大幅度提高了嵌入式系統工程師的工作效率,使之能夠充分發揮出嵌入式處理器日益提高的效能,縮短產品進入市場時間。另外C語言便於移植和修改,使產品的升級和繼承更迅速。更重要的是採用C語言編寫的程式易於在不同的開發者之間進行交流,從而促進了嵌入式系統開發的產業化。
區別於一般計算機中的C語言編譯器,嵌入式系統中的C語言編譯器要專門進行優化,以提高編譯效率。優秀的嵌入式系統C編譯器程式碼長度和執行時間僅比以組合語言編寫的同樣功能程式長5~20%。編譯質量的不同,是區別嵌入式C編譯器工具的重要指標。而C編譯器與組合語言工具相比殘餘的5~20%效率差別,完全可以由現代微控制器的高速度、大儲存器空間以及產品提前進入市場的優勢來彌補。
新型的微控制器指令及SOC速度不斷提高,儲存器空間也相應加大,已經達到甚至超過了目前的通用計算機中的微處理器,為嵌入式系統工程師採用過去一直不敢問津的C++語言創造了條件。C++語言強大的類、繼承等功能更便於實現複雜的程式功能。但是C++語言為了支援複雜的語法,在程式碼生成效率方面不免有所下降。為此,1995年初在日本成立的 Embedded C++技術委員會經過幾年的研究,針對嵌入式應用制訂了減小程式碼尺寸的EC++標準。EC++保留了C++的主要優點,提供對C++的向上相容性,並滿足嵌入式系統設計的一些特殊要求。在嵌入式高階語言編譯器方面處於領先地位的Tasking公司,是EC++技術委員會成員之一,也是最先推出EC++產品的公司。(更多的資訊,可查詢http://www.tasking.com)。
C/C ++/EC++引入嵌入式系統,使得嵌入式開發和個人計算機、小型機等之間在開發上的差別正在逐漸消除,軟體工程中的很多經驗、方法乃至庫函式可以移植到嵌入式系統。在嵌入式開發中採用高階語言,還使得硬體開發和軟體開發可以分工,從事嵌入式軟體開發不再必須精通系統硬體和相應用匯編語言指令集。
另一種高階語言,JAVA的發展則具有戲劇性。JAVA本來是為裝置獨立的嵌入式系統設計的、為了提高程式繼承性的語言,但是目前基於JAVA的嵌入式開發工具程式碼生成長度要比嵌入式C編譯工具差10倍以上。因此EC++很可能將成為未來的主流工具。
3. 源程式模擬器(Simulator)
源程式模擬器是在廣泛使用的、人機介面完備的工作平臺上,如小型機和PC,通過軟體手段模擬執行為某種嵌入式處理器核心編寫的源程式測試工具。簡單的模擬器可以通過指令解釋方式逐條執行源程式,分配虛擬儲存空間和外設,供程式設計師檢查;高階的模擬器可以利用計算機的外部介面模擬出處理器的I/O電氣訊號。不同檔次和功能模擬器工具價格差距巨大。
模擬器軟體獨立於處理器硬體,一般與編譯器整合在同一個環境中,是一種有效的源程式檢驗和測試工具。但值得注意的是,模擬器畢竟是以一種處理器模擬另一種處理器的執行,在指令執行時間、中斷響應、定時器等方面很可能與實際處理器有相當的差別。另外它無法和ICE一樣,模擬嵌入式系統在應用系統中的實際執行情況。(更多的資料,可查詢以下網址:www.chiptools.com, www.keil.com, www.tasking.com)。
4. 實時多工作業系統
(Real Time multi-tasking Operation System, RTOS)
實時多工作業系統(RTOS)是嵌入式應用軟體的基礎和開發平臺。目前在中國大多數嵌入式軟體開發還是基於處理器直接編寫,沒有采用商品化的RTOS,不能將系統軟體和應用軟體分開處理。RTOS是一段嵌入在目的碼中的軟體,使用者的其它應用程式都建立在RTOS之上。不但如此,RTOS還是一個可靠性和可信性很高的實時核心,將CPU時間、中斷、I/O、定時器等資源都包裝起來,留給使用者一個標準的API,並根據各個任務的優先順序,合理地在不同任務之間分配CPU時間。
RTOS是針對不同處理器優化設計的高效率實時多工核心,優秀商品化的RTOS可以面對幾十個系列的嵌入式處理器MPU、MCU、DSP、SOC等提供類同的API介面,這是RTOS基於裝置獨立的應用程式開發基礎。因此基於RTOS上的C語言程式具有極大的可移植性。專家測算,優秀RTOS上跨處理器平臺的程式移植只需要修改1~5%的內容。在RTOS基礎上可以編寫出各種硬體驅動程式、專家庫函式、行業庫函式、產品庫函式,和通用性的應用程式一起,可以作為產品銷售,促進行業內的智慧財產權交流,因此RTOS又是一個軟體開發平臺。
5. RTOS是嵌入式系統的軟體開發平臺
RTOS 最關鍵的部分是實時多工核心,它的基本功能包括任務管理、定時器管理、儲存器管理、資源管理、事件管理、系統管理、訊息管理、佇列管理、旗語管理等, 這些管理功能是通過核心服務函式形式交給使用者呼叫的,也就是RTOS的API。RTOS的引入,解決了嵌入式軟體開發標準化的難題。隨著嵌入式系統中軟體比重不斷上升、應用程式越來越大,對開發人員、應用程式介面、程式檔案的組織管理成為一個大的課題。引入RTOS相當於引入了一種新的管理模式,對於開發單位和開發人員都是一個提高。
基於RTOS開發出的程式,具有較高的可移植性,實現90%以上裝置獨立,一些成熟的通用程式可以作為專家庫函式產品推向社會。嵌入式軟體的函式化、產品化能夠促進行業交流以及社會分工專業化,減少重複勞動,提高知識創新的效率。
嵌入式工業的基礎是以應用為中心的晶片設計和麵嚮應用的軟體開發。實時多工作業系統(RTOS)進入嵌入式工業的意義不亞於歷史上機械工業採用三檢視的貢獻,對嵌入式軟體的標準化和加速知識創新是一個里程碑。
目前,商品化的RTOS可支援從8BIT的8051到32BIT的PowerPC及DSP等幾十個系列的 嵌入式處理器。提供高質量原始碼RTOS的著名公司主要集中在美國。(更多的資料可查詢下列網址:http: // www.cmx.com, www.rtxc.com)。
相關推薦
嵌入式系統開發工具及RTOS平臺
嵌入式處理器是一個複雜的高技術系統,要在短時間內掌握並開發出所有功能是很不容易的,而市場競爭則要求產品能夠快速上市,這一矛盾要求嵌入式處理器能夠有容易掌握和使用的開發工具平臺。提高使用者和程式設計師的時間投入回報率(ROT1)。 從事嵌入式開發的往往是非計算機專業人士,
嵌入式系統開發中,如何選擇適合的MCU平臺?
如今,嵌入式系統開發往往基於平臺模式。MCU平臺包括MCU及其相關器件(外延器件、配套器件等),
ARM嵌入式常用開發工具介紹及插畫開發流程(更新)
這裡接著前邊的開發環境的配置說,其實用於開發的話,基本的開發環境已經架構好了,不過由於嵌入式開發環境的特殊性(交叉編譯),我們還會用到一些其他的外圍工具,這裡做簡要的說明。並重新介紹一下整個開發環境中,各個工具的使用,及一個簡單應用的開發流程。 SecureCR
JAVAEE開發工具及環境配置過程
www system 環境 aries 文件 clip ppi env app 軟件152 盧仁順 一、準備開發環境 1. 安裝Tomcat 這裏使用Apache Tomcat作為Web容器,下載網址: http://tomcat.apache.org/download-7
2018年數字資產即將爆發數字資產交易系統開發區塊鏈交易平臺技術
數字資產開發 區塊鏈系統開發2018年數字資產即將爆發數字資產交易系統開發區塊鏈交易平臺技術2018年數字資產即將爆發數字資產交易區塊鏈交易平臺技術,有人說2017年是區塊鏈元年,那麽2018年就是區塊鏈爆發之年。所謂爆發,一則體現輿論話題不停,二則體現應用遍地開花,2017雖已過,不過這遍地開花的勢頭卻是
信盈達分享,如何學好嵌入式系統開發
嵌入式一、嵌入式系統的概念著重理解”嵌入”的概念主要從三個方面上來理解。1、從硬件上,將基於CPU的處圍器件,整合到CPU芯片內部,比如早期基於X86體系結構下的計算機,CPU只是有運算器和累加器的功能,一切芯片要造外部橋路來擴展實現,象串口之類的都是靠外部16C550/2的串口控制器芯片實現,而目前的這種串
河南雲之夢一家專門做礦機系統開發 虛擬幣交易平臺系統的公司
時間 app 方向 mac 用戶 穩定 點對點 去中心化 虛擬幣交易平臺開發 什麽是挖礦呢? 1.挖礦只是一個比喻說法,數字資產的挖礦其實就是指進行大量的計算工作。 2.用戶可以購買專業運算設備(礦機),然後誰的運算能力高,誰就能獲得更多的數字資產。 3.這些計算被用來構建
嵌入式系統開發是自學好,還是選擇培訓好?
很多同學在選擇嵌入式方向的時候,對於如何學習拿不定注意,嵌入式系統開發是自學好,還是培訓好?在這裡從自學和培訓兩個方面與大家一起分析一下,該如何選擇: 1、嵌入式系統開發是自學好 自學很鍛鍊人,在自學的過程中,你要有很好的悟性,以及很強的自制力。 悟性是學好程式設計的關鍵,舉一反三,要有明確的學習計
嵌入式系統開發實用教程
主 編: 張同光 ISBN號: 978-7-302-32917-6 9787302329176 出版日期: 2013-09-01 出版社: 
中國虛擬幣場外交易平臺系統開發虛擬幣交易平臺開發
中國虛擬幣場外交易平臺系統開發虛擬幣交易平臺開發156-3841-3841加密貨幣在2017年吸引了投資者的注意力,去年12月比特幣飆升至約2萬美元的歷史新高。但今年情況卻不同,因為華爾街的許多人都認為這只是一時的狂熱。週二比特幣跌至4225美元以下的另一個因素是政府機構的審查——他們一再警告說,大多數不受監
ControlBase — 通用的電控系統開發工具
概述 ControlBase 是恆潤科技具有自主智慧財產權的產品級控制原型,關注新能源車輛整車控制、車輛動力域及傳動域控制器的開發。ControlBase 提供基於MATLAB/Simulink 平臺的模組化的基礎軟體,以實現控制器MBD(Model-BasedDesign)的開發方式。Co
linux嵌入式系統開發,嵌入式開發培訓多少錢?
嵌入式系統是一種專用的計算機系統,作為裝置或裝置的一部分。國內普遍認同的嵌入式系統定義為:以應用為中心,以計算機技術為基礎,軟硬體可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。舉些例子,手機、電子時鐘、智慧報警裝置、自動監控器、
嵌入式開發教程哪家好?linux嵌入式系統開發
嵌入式入門你知多少?對於一些初入門的初學者而言,對嵌入式入門的一些知識有助於後期的學習,從嵌入式技術的應用前景以及到ARM認知到開發板等等。嵌入式企業用人需求在增長。 如今的嵌入式開發大熱是ARM+Linux,還有就是Android系統平臺,但對於ARM的發展的
Asp.net core實戰2: 開發工具及常用指令
如果你願意,完全可以使用notepad進行開發,不過也有可用的IDE推薦 1.visual Studio 這款視覺化的微軟神器當然是支援net core的啦! 2. visual studio code 這款跨平臺開發工具, 可以說是神器了.支援mac,linus,w
微信小程式 開發工具及開發環境配置
2.安裝過程 對於Windows使用者直接雙擊下一步的方式安裝即可,此處注意我們使用的版本是官方最新的版本(不需要破解),可以不用AppID,也就是說沒有資格的開發者也可以測試。 2.1 環境
RDIFramework.NET — 基於.NET的快速資訊化系統開發框架- 5.4平臺日誌、異常管理、生成自動升級配置檔案模組
RDIFramework.NET — 基於.NET的快速資訊化系統開發框架 5.4 平臺日誌、異常管理、生成自動升級配置檔案模組 5.4 框架日誌管理 框架日誌管理對於框架的安全審查有著重要的地位,使用者的登入登出情況,模組的訪問情況,服務呼叫情況,功能操作情況等都應該記錄下來,也方便管理人員查
RDIFramework.NET ━ .NET快速資訊化系統開發框架-4.3 平臺主介面
RDIFramework.NET ━ .NET快速資訊化系統開發框架 4.3 平臺主介面 4.3 框架主介面 使用者登入成功後,便進入到RDIFramework.NET(.NET快速資訊化系統開發整合框架)主介面。RDIFramework.NET目前提供三種主介面展示風格,分別為:SideBar型
RDIFramework.NET ━ .NET快速資訊化系統開發框架-4.1 平臺登入模組
RDIFramework.NET ━ .NET快速資訊化系統開發框架 4.1 平臺登入模組 第4章 框架功能模組說明 4.1 框架登入模組 系統登入不管在什麼系統中都是不可或缺的功能模組,只有正常登入的使用者才能使用框架提供的所有功能。登入模組設計得是否合理,安全,對整個框架的使用顯
RDIFramework.NET ━ .NET快速資訊化系統開發框架-4.2 平臺自動升級模組
RDIFramework.NET ━ .NET快速資訊化系統開發框架 4.2 平臺自動升級模組 4.2 平臺自動升級模組 在軟體的生命週期中,軟體維護是一個重要的階段,維護過程中涉及程式檔案的升級更新。當部署的使用者端數量較多時,升級程式的工作量大,目前通過網路(包括網際網路、區域網)自動檢測並更
嵌入式系統開發方向的面試題總結
面試題總結: 1 Linux常用命令 2 Linux設定環境變數,舉例說明 3 單例模式,及其執行緒安全 4 開啟一個網站的時候,發生了什麼 5 10MB大小的資料排序,有10MB的記憶體,如何排序 6 稱重的方法(從100個硬幣中找出最輕的那個假幣) 7 用兩種方法(