嵌入式開發五大關注點

系統時序
-
詢問任何開發人員系統中斷或其他系統功能的最小,最大和平均執行時間,並且百分之九十的時間答案是空白的。在瞭解嵌入式系統的實時效能時,許多開發人員只是交叉指責並希望獲得最佳效果。微控制器已經變得非常快速和強大,但它們絕不是通用計算裝置,其中時間可以完全被忽略。開發人員需要了解他們的系統如何響應,例如,如果多箇中斷同時觸發,或者如果使用者一次性地混淆所有按鈕。
-
幸運的是,現代微控制器提供了許多工具,使開發人員能夠了解他們的系統時序和響應。例如,ARM微控制器具有跟蹤功能,允許開發人員定期對PC計數器進行取樣,並重建系統時序和執行路徑。利用這些工具可以讓開發人員深入瞭解他們的系統,併為他們提供關於他們的系統如何執行的真實資料,而不是希望和祈禱系統按開發人員認為的方式執行程式碼。
執行順序
-
理解指令執行順序對於開發人員來說與瞭解系統時序一樣重要。瞭解系統分支或跳轉的位置以及執行各種功能或中斷的時間和順序至關重要。系統變得如此複雜,以至於我們可以認為我們瞭解正在發生的事情,我們需要提取跟蹤資料並直觀地看到程式碼執行。這通常會揭示出與我們預期完全不同的故事。
-
開發人員需要調查並熟悉他們的微控制器跟蹤工具。這些現代工具提供了幾年前無法實現的視覺上引人入勝且富有洞察力的圖表。在編程式碼之前可以設定跟蹤和錯誤捕獲工具。
程式碼大小
-
大多數開發人員,如果被問及GPIO或SPI驅動程式將在他們的系統上佔用多少程式碼空間,甚至沒有地方去尋找答案!他們所知道的是,他們最後使用的應用程式有GPIO和SPI,最終的應用程式使用了大約47 kB的快閃記憶體空間。
-
程式碼大小可能會根據所使用的編譯器甚至使用的優化級別和標誌而大不相同。如今在大多數情況下,監控程式碼大小變得不那麼重要了,因為快閃記憶體相當便宜且供應商已經制造根據程式碼大小,在同一個微控制器系列中的不同部件之間切換非常容易。但是,跟蹤驅動程式等專案的詳細資訊仍然非常有用,以便於將來的專案規劃和零件選擇。
RAM使用
- RAM不是程式碼儲存器,而是嵌入式軟體開發的關鍵因素。微控制器提供超過100kB的快閃記憶體空間並且同時僅提供16kB RAM的情況並不少見。這意味著RAM空間仍然非常寶貴。在混合中投入RTOS,情況可能很快變得更糟。在基於RTOS的系統中,開發人員為磁碟堆疊空間分配不同數量的RAM並不罕見,因為很難估計恰當的大小。因此,當開發人員建立和實現他們的軟體時,他們需要監視他們的RAM空間。
能源消耗
- 電池供電的裝置無疑具有能耗作為系統設計的關鍵要求。但是,有權訪問電網的系統通常會忽略能源,因為它不是關鍵要求。然而,鑑於能源成本上升和自然資源的限制,開發商仍應繼續監控其設計的電力需求,以瞭解其能源足跡以及如何最大限度地減少其使用的能源。通過這種監控,電池供電的裝置顯然可以在更換電池或為裝置充電之間獲得更長的使用壽命。
文章轉自微信公眾號[嵌入式ARM]