eCos需要Synthetic虛擬目標板的理由

2021-06-20 13:19:19 字數 1354 閱讀 3872

mingdu.zheng gmail com

ecos提供了synth虛擬目標板(synthetic target),為什麼要使用虛擬目標板呢?

ecos是非常優秀的嵌入式作業系統,如果希望學習ecos但是又沒有開發板或其它的硬體平台, 那麼可以使用synth虛擬目標板,執行以synth為目標板的ecos僅需要一台安裝linux系統的pc機, 而不需要開發板或其它特別的硬體電路。如果平常使用的是windows系統, 那麼可以通過在windows系統下安裝linux虛擬機器的方式執行linux系統。 synth無疑為學習ecos提供了一條非常廉價和便捷的道路。

隨著社會分工地深入,即使是嵌入式系統開發也已經分化成硬體開發小組和軟體開發小組, 在開發周期比較緊張的專案中,需要軟體和硬體的並行開發。 使用synth虛擬目標板,即使是在硬體專案還未啟動前就可以啟動軟體專案, 軟體開發小組專注於軟體功能的實現而不必被惱人的硬體bug困擾, 只需在硬體組提交了完全可用的硬體平台後對ecos系統和應用進行驗證。 synth虛擬目標板的i/o輔助程序使用tcl指令碼語言實現,這使得擴充套件i/o輔助程序非常容易, 通過擴充套件i/o輔助程序可以使synth虛擬目標板的功能特性與最終硬體平台的功能特性非常接近, 從理論上講,ecos應用是與硬體不直接相關的,如果兩個平台的功能特性一致, 那麼從乙個平台移到另乙個平台,僅需要更換ecos庫然後重新編譯**。

將synth作為目標板的ecos應用是乙個普通的linux程式, 因此凡是可以應用在linux應用程式測試的工具都可以應用在ecos應用上, 嵌入式軟體的測試工具相對比較有限,特別是自動化測試工具, 使用synth虛擬目標板之後,linux上的測試工具也是ecos測試工具,這大大擴充了工具包內容。

synth的作用與android開發環境提供的手機模擬器相類似。

ecos通過硬體抽象層(hal)隔離硬體相關**和硬體無關**, 與硬體相關的**僅包含hal和驅動程式,除此之外的其它ecos元件或者ecos應用都是與硬體無關的, 這種機制不僅讓ecos的開發和移植變得簡單,而且可以使用軟體來**ecos的hal和裝置驅動。

ecos的synth虛擬目標板使用linux核心提供的系統呼叫和額外的i/o輔助程序**hal和裝置驅動, 選擇synth作為ecos的目標平台(target),可以將ecos編譯成為linux下的乙個普通程式, 然後可以在linux下執行該程式。

《***viii. ecos synthetic target》:官方參考手冊。

《ecos的linux synthetic target簡介》:官方參考手冊的部分翻譯。

《虛擬實驗室ecos開發環境的配置 (linux)》:使用基於qemu的模擬器執行ecos。

virtualbox:虛擬機器軟體。

xubuntu:易於使用又節省資源的linux發行版。

原文見:

ecos 學習資料

一.英文資料 1.ecos home page 2.ecos user guid docs latest user guide ecos user guide.html 3.redboot user guid docs latest redboot redboot guide.html 4.ecos...

eCos元件初始化

mingdu.zheng gmail com ecos元件初始化利用了c 靜態物件例項初始化的機制。c 物件在初始化時不像c語言中的靜態變數那樣只是在特定的記憶體單元寫入特定的數值,c 物件在初始化時將會呼叫該物件類的建構函式來初始化物件。如果c 物件是在函式內宣告,那麼函式執行到物件的宣告處呼叫類...

ecos 框架結構(MVC)

ecstore主要框架結構分為lib deschema model controller四部分 系統核心lib modifiers service utils 用法如下 md5 utils array md5 arr 通用lib 例如 業務邏輯庫檔名 dbtable.php 乙個資料庫的表對應乙個d...