嵌入式系統特征

       嵌入式軟件開發人員在創建他們的系統時需要監控五個重要特征。現代系統擁有豐富的資源,監控這些特征有時看似價值不高或沒有必要,但目前為止在現場遇到的最大問題總是與這五個關鍵特征密切相關。

       無論一個嵌入式系統多簡單或多復雜,有5個關鍵特征是需要開發人員特別留意的。有一些特征顯而易見,如RAM和ROM的使用情況;還有一些特征很容易被開發人員忽視,如系統時序和執行順序,成為開發設計的隱患。

       特征1—系統時序

       如果向開發人員詢問系統中斷或其它系統函數的最小、最大和平均執行時間,90%的反應是翻白眼。說到嵌入式系統的實時性能,許多開發人員只能在心里禱告獲得最好的結果。如今的微控制器已經變得非常快速和強大,但它們只是一般的計算器件,其時序并不能被完全忽略。開發人員需要了解多個中斷同時發生或者用戶在同一時刻“按下”所有按鈕(這是我喜歡的一種測試方法,幾乎百分之百不能一次通過)時,系統將如何響應。

       幸運的是,現代微控制器有多種工具幫助開發人員理解嵌入式系統的時序和響應。舉例來說,ARM微控制器有跟蹤功能,使開發人員可以定期采樣PC計數器,并重構系統時序和執行路徑。利用這些工具,開發人員能看到反映系統內部工作的實際數據,而不再只是默默祈禱系統按自己想要的方式執行代碼。

        特征2—執行順序

        對開發人員來說,了解指令執行順序與了解系統時序一樣重要。知道系統在何處分支或跳轉、各個函數或中斷何時并以何種順序執行非常重要。如今的系統變得非常復雜,雖然我們自認為明白正在發生什么,但仍然需要提取跟蹤數據,明明白白看到代碼的執行。結果顯示的內容常常與我們所預期的完全不同。

       我強烈推薦開發人員研究并熟悉這些微控制器跟蹤工具。這些現代工具可以提供幾年前完全無法想象的直觀洞察圖。我曾經用這些工具提供的洞察功能找出了許多設計缺陷,因此在編寫代碼之前設置好了跟蹤與缺陷捕獲工具。

        特征3—代碼大小

       人們理所當然地認為每個開發人員都會監視代碼大小,但我認為實際上他們沒有這樣做。若是問一個GPIO或SPI驅動程序在他們的系統中占多少空間,大多數開發人員甚至都不知道去哪兒找答案!他們唯一知道的是自己編寫的應用程序有GPIO和SPI,最終的應用程序使用了(比如)約47kB的閃存空間。眾所周知,我們通常都不會跟蹤系統中的代碼細節。

        現在在我們的保護系統中,代碼大小會根據所用的編譯器甚至優化等級和標志而有很大的變化。另外,多數情況下,監視代碼大小已經變得不那么重要了,這是因為閃存相當便宜,供應商已經能夠做到根據代碼大小便利地在同一微控制器系列的不同器件之間切換。但為了便于未來的項目規劃和器件選擇,跟蹤驅動程序等項目的細節仍然特別有用。

        特征4—RAM的使用

        與代碼存儲器不同,RAM正成為嵌入式軟件開發的關鍵因素。提供超過100kB的閃存空間同時卻只提供16kB的RAM,對于微控制器已經很常見。這意味著RAM空間仍然非常珍貴。如果再考慮實時操作系統(RTOS),情況會變得更糟。在基于RTOS的系統中,開發人員通常將大量的RAM分配給線程堆棧空間,因為很難準確估計合適的大小。因此開發人員在編寫并實現他們的軟件時,需要監控RAM空間都作了何用。

       特征5—能耗

       對于電池供電的設備,能耗無疑是系統設計的一個關鍵要求。而對于接入電網的系統,因為能耗不是關鍵要求,因此常被忽略。鑒于能量成本不斷上升、自然資源逐漸減少,開發人員仍應繼續監控設計的功耗需求,以便了解它們的能耗情況并最大程度地降低能耗。借助這種監視,由電池供電的設備顯然會通過替換電池或給電池充電而獲得更長的工作時間。那些直接連接到電網的設備也能節省電力成本而使消費者和最終用戶受益。的確,每一臺單獨的設備所節約的能源可能微乎其微,但如果數百萬臺設備合在一起,我們就知道有多少能量不會被浪費了。

        總結

        本文討論了嵌入式軟件開發人員在創建他們的系統時需要監控的五個重要特征。現代系統擁有豐富的資源,監控這些特征有時看似價值不高或沒有必要,但目前為止我在現場遇到的最大問題總是與這五個關鍵特征密切相關。

粽子糖果 發表于10-20 14:45 瀏覽1290次
分享到:

已有0條評論

暫時還沒有回復喲,快來搶沙發吧

添加一條新評論

只有登錄用戶才能評論,請先登錄注冊哦!

話題作者

粽子糖果
粽子糖果(總統)
金幣:41497個|學分:51706個
立即注冊
暢學電子網,帶你進入電子開發學習世界
專業電子工程技術學習交流社區,加入暢學一起充電加油吧!

x

暢學電子網訂閱號

北京赛车pk10统计