如何建立嵌入式系統(tǒng)開發(fā)平臺

發(fā)布時間:2023-08-04
1.如何建立嵌入式系統(tǒng)開發(fā)平臺
2.數(shù)據(jù)隊列
3.串口驅動
4.modem接口模塊
5.i2c總線模塊
6.spi總線模塊
7.其它軟件模塊
8.1 如何建立嵌入式系統(tǒng)開發(fā)平臺
平臺的概念
平臺是一個意義很廣泛的詞,要準確的定義平臺不是件容易的事。在嵌入式系統(tǒng)中的開發(fā)平臺具有如下特點:
層次性
服務性
規(guī)范性
通用性
技術密度
平臺是一個意義很廣泛的詞,要準確的定義平臺不是件容易的事。在嵌入式系統(tǒng)中的開發(fā)平臺具有如下特點:
層次性
層次性首先表現(xiàn)在平臺本身具有層次,高層的平臺是以低層平臺為基礎搭建起來的。還表現(xiàn)在每個層次的平臺的內部還有層次性。越高層次的平臺越容易使用,對使用者的要求也就越低。
服務性
平臺是為應用服務的,沒有應用的平臺是無意義的,沒有存在的必要。對于元器件來說,線路板就是它的應用。而api是硬件平臺的應用,應用程序又是api的應用。
規(guī)范性
通用性
技術密度
平臺是一個意義很廣泛的詞,要準確的定義平臺不是件容易的事。在嵌入式系統(tǒng)中的開發(fā)平臺具有如下特點:
層次性
服務性
規(guī)范性
通用性
技術密度
平臺特別是商業(yè)平臺通常由相關領域的專家建立。這是因為往往需要適應不同的應用的要求,所以其需要的技術含量是很高的。
平臺的例子
使用平臺開發(fā)的優(yōu)勢
應用程序接口這個嵌入式軟件開發(fā)平臺的提出和應用是因為其能夠解決當前及今后的嵌入式開發(fā)過程中出現(xiàn)的一些矛盾。以下是使用嵌入式軟件開發(fā)平臺(api)開發(fā)的優(yōu)點:
縮短開發(fā)時間
降低對開發(fā)人員的要求
降低開發(fā)成本
增加穩(wěn)定性和可靠性
降低軟件對硬件變化的敏感性
不適合使用平臺開發(fā)的場合
雖然使用平臺開發(fā)有很多優(yōu)點,但其也不是萬能的。有一些場合并不適合使用平臺開發(fā),這些場合主要有以下幾種:
極大批量的產(chǎn)品
這種產(chǎn)品往往要求硬件成本和生產(chǎn)成本最低化。而使用平臺開發(fā)不可避免帶來資源占用的增加,反映到硬件上就是成本的增加。有時這種增加是不可接受的。這種情況不適合用平臺開發(fā)。
沒有合適的平臺但產(chǎn)品需要盡快上市時
開發(fā)平臺是需要時間的,甚至比當前的項目的時間更長。但如果后續(xù)有類似的產(chǎn)品,則還是建議開發(fā)者逐步建立起自己的開發(fā)平臺,這會對以后所有的項目帶來好處。
需要極度榨取硬件性能的場合
除了極大批量的產(chǎn)品需要極度榨取硬件性能外,估計只有科學研究和一些一件一件制造的高價值產(chǎn)品(如巨型機)需要這樣做了,在普通的企業(yè)中應該不容易見到。
建立開發(fā)平臺的方法
1.選擇操作系統(tǒng)
操作系統(tǒng)(os)是一個基礎的軟件平臺。因此,建立軟件開發(fā)平臺(自己的api)首先需要選擇一個合適的操作系統(tǒng)。操作系統(tǒng)的選擇與應用相關的,但對于嵌入式系統(tǒng)一般需要選擇嵌入式操作系統(tǒng)。
2.制定api規(guī)范及應用程序編寫規(guī)范
有了操作系統(tǒng),就可以制訂api規(guī)范和程序編寫規(guī)范了。這些規(guī)范一部分已經(jīng)被操作系統(tǒng)規(guī)定好了,另一部分需要自己制訂。建議這些規(guī)范盡量靠近與已存在的事實標準,以減少學習時間。
3.獲取成熟的軟件模塊并修改適合指定的規(guī)范
開發(fā)人員可以通過各種途徑獲取成熟的軟件模塊,還可以獲取一些商業(yè)和自由的軟件模塊。這些軟件模塊不一定適合自己的規(guī)范,這就需要對這些軟件模塊進行進一步的修改或包裝以適應自己的規(guī)范。
4.編寫自己的軟件模塊
通過外部途徑不一定能夠獲取所有必須的軟件模塊,此時就需要自己編寫軟件模塊了。
編寫自己的軟件模塊
因為開發(fā)平臺基于操作系統(tǒng),所以很可能多個任務和/或同時訪問同一個api函數(shù)。這就需要api函數(shù)必須是可重入的。這里主要介紹如何使這些函數(shù)可重入,和其它一些內容。
1.使用任務
2.禁止然后允許中斷
3.使用信號量
4.使用數(shù)據(jù)隊列
5.禁止然后允許任務調度
6.使用一個任務作為模塊服務器
7.復合方法
因為開發(fā)平臺基于操作系統(tǒng),所以很可能多個任務和/或同時訪問同一個api函數(shù)。這就需要api函數(shù)必須是可重入的。這里主要介紹如何使這些函數(shù)可重入,和其它一些內容。
1.使用任務
有一些設備需要cpu周期為其服務,典型的是掃描顯示和掃描鍵盤。可以給它們分配相應的任務,與用戶任務一起調度。這樣,就可以使用任何任務間通信的方法實現(xiàn)。
2.禁止然后允許中斷
有一些設備需要的訪問時間很短,如全局變量。它們可以通過禁止中斷——訪問設備——允許中斷的方式編寫軟件模塊。
3.使用信號量
一些設備需要的訪問時間比較長,使用方法2可能造成關中斷時間過長。此時可以使用信號量來編寫軟件模塊。具體過程為申請信號量——訪問設備——發(fā)送信號量。
4.使用數(shù)據(jù)隊列
有一些設備具有自己的中斷,典型的是串口輸出??梢岳孟㈥犃袑⒂脩羧蝿招枰姆胀ㄟ^消息隊列排隊、緩沖起來,利用中斷功能依次服務。
5.禁止然后允許任務調度
當中斷服務程序不可能訪問這個資源時,可以使用本方法避免實現(xiàn)函數(shù)重入。但是不推薦用戶使用此方法。
6.使用一個任務作為模塊服務器
當一個軟件模塊十分復雜,使用上述方法難以保證api函數(shù)可重入性時,或軟件模塊需要在單任務環(huán)境和多任務環(huán)境都能夠使用時,可以依照單任務的方式編寫,然后編寫一個任務作為服務器,由這個服務器直接操作這個軟件模塊,而其它的任務通過消息隊列等方式與之通訊,把需要的操作提交給服務器,而服務器通過消息郵箱等方式返回操作結果。
7.復合方法
有一些驅動程序比較復雜(例如通訊協(xié)議),可以結合兩種或兩種以上的方法實現(xiàn)。
編寫軟件模塊由一個要注意的地方是:必須把與硬件相關的部分和與硬件無關的部分分開。這可以通過把與硬件相關的部分放在驅動程序中實現(xiàn)。這樣,硬件變化時只需要重新編寫驅動程序即可。驅動程序也可以分層實現(xiàn)。也可以通過配置實現(xiàn),不過這有時不太容易實現(xiàn)。當然可以合并使用。
上一個:薄荷扦插繁殖注意事項
下一個:買筆記本電腦,處理器和顯卡誰更重要一點(筆記本電腦處理器與顯卡哪個重要)

滿天星怎么養(yǎng)
如何確定建設工程和施工合同工程造價?
倒掛金鐘的夏秋管理有哪些注意事項? 怎樣使炮仗竹開滿枝頭?
ipad 鍵盤如何使用(蘋果ipad鍵盤的使用說明)
電流互感器檢定項目及要求
牽?;ǖ酿B(yǎng)殖方法
DNS協(xié)議
如何用橘子籽種在花盆里長出個小森林
大王黛粉葉的介紹與養(yǎng)護技術
2021即將出的網(wǎng)游(2020年即將出的網(wǎng)絡游戲)
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos