在嵌入式開發(fā)中,借助基于MCU的設計,你可以消除額外的RAM和閃存芯片,并使用板載外設而不是板外邏輯,所有這些都將隨著當今功能強大的芯片而變得更加簡單。當然,與成熟的微處理器相比,MCU本身也提供了額外的成本下降。所有這些降低意味著制造成本更低的產(chǎn)品,為大眾市場容量和更高的利潤率打開大門。
最大的問題是:你如何知道你的應用是否可以縮小到微控制器的比例?換句話說,當考慮在MCU上構建嵌入式UI app時,哪些因素是最重要的?
5個最重要的MCU考慮因素:
1.硬件材料清單
微控制器的神奇之處在于,它們取代了電子板上的其他邏輯。但是,你需要有消除的東西。如果你已經(jīng)有了許多其他分立元件,特別是RAM和Flash,那么你需要考慮微控制器的轉換。
2.RAM大小
微控制器有內置的RAM,但不是一噸,所以如果你的應用程序的RAM使用率很高,它可能不是擠壓到微控制器上的理想選擇。在嵌入式開發(fā)中,高端MCU的板載RAM通常約為1MB,但你需要仔細查看micro的數(shù)據(jù)表以確定。你還希望通過有選擇地節(jié)省內存中的數(shù)據(jù)結構所能節(jié)省的資源來縮小默認堆棧,并檢查結構,以確保它們不會因編譯器和處理器對齊要求而超過所需的大小。像數(shù)據(jù)庫這樣需要RAM的庫通常有配置設置和模式來專門減少RAM的使用。即使你的程序的RAM高水位線比板載RAM大小高出10%到15%,你也可以在不移除功能的情況下縮小足夠的尺寸。
3.Flash尺寸
與RAM類似,利用MCU的板載閃存對于消除額外閃存芯片的成本至關重要。MCU上的閃存大小差異很大,但通常在512K到4MB之間。由于有編譯器的幫助,壓縮代碼有時比壓縮數(shù)據(jù)容易一些;打開所有編譯器大小優(yōu)化,包括那些消除死代碼和折疊冗余子例程的優(yōu)化。如果你有許多靜態(tài)數(shù)據(jù)結構,即使需要添加解壓縮邏輯,也可能需要壓縮它們。如果你的代碼使用了大量基于文本的文件,如XML或JSON,那么使用構建時的“minify”工具來刪除所有注釋和空白也可以幫助你獲得一些空間。
4.語音識別(VR)
在嵌入式開發(fā)中,語音識別引擎可以使用大量的RAM和Flash,使得很難將它們安裝到MCU上。如果你的應用程序依賴于VR,那么在執(zhí)行MCU端口時,你需要仔細考慮如何最好地管理這一點。有一些占地面積較小的VR引擎可以安裝在微控制器的板載RAM和閃存中,但是選擇這些引擎可能需要犧牲識別精度或自然語言能力。對于具有連續(xù)互聯(lián)網(wǎng)連接的物聯(lián)網(wǎng)設備,另一種策略是使用非車載VR引擎。音頻處理前端可以很容易地放在微控制器上,而使用后端的資源則駐留在云中。
5.嵌入式UI復雜性
應用程序中單個嵌入式UI屏幕的數(shù)量可以讓你大致了解其存儲需求,但是,你需要考慮以下所有因素:
l 唯一GUI屏幕和屏幕模板的數(shù)量
l PNG、JPG和GIF圖像的數(shù)量
l 國際化語言的數(shù)量
l 使用的字體數(shù)以及它們是TrueType還是位圖
l 是否需要亞洲語言支持
l 需要圖形的動畫或過渡的數(shù)量
l 顯示器尺寸:寬度和高度(像素),顏色深度(位)
如果你正在設計一個新的應用程序,那么你將沒有很多具體的細節(jié)可以開始。然而,使用此檢查表,你應該能夠大致確定你的應用程序是否適合移植到MCU。如果你的猜測總和低于16MB,盡管你可能需要大幅精簡你的應用程序,但你可能可以做到。
在內存和資源緊張的情況下突破邊界。
Storyboard Lite具有嵌入式開發(fā)人員和設計師熟悉的協(xié)作工作流和易用性,可以幫助團隊構建為其硬件平臺量身定制的應用程序,特別是針對每千字節(jié)都很重要的資源受限目標。