1. gzyueqian
      13352868059

      嵌入式開發(fā):如何選擇合適的閃存容量

      更新時間: 2024-07-26 10:37:43來源: 粵嵌教育瀏覽量:1595

      為嵌入式應用選擇合適的閃存容量極具挑戰(zhàn)性。需要確保有足夠的內(nèi)存來保護未來的功能、固件更新等。然而,與此同時,即使內(nèi)存是廉價的,你也不想過度使用它。

       

      的產(chǎn)品可能會被大量生產(chǎn),這意味著節(jié)省的每一分錢都會對公司的財務成功產(chǎn)生重大影響。在某些情況下,這可能是在公司穩(wěn)定而成功的職業(yè)生涯,或者是充滿壓力、動蕩不安的職業(yè)生涯之間的差異。

       

      讓我們來看看為嵌入式應用選擇合適閃存容量的幾種最佳實踐。

       

      區(qū)分內(nèi)存類型

      在選擇內(nèi)存大小之前,區(qū)分可能選擇的不同類型的內(nèi)存非常重要。雖然有不同類型的閃存和RAM,但我們將著眼于一個非常簡單的類型:內(nèi)部與外部存儲器。

       

      內(nèi)部閃存是微控制器的板載存儲器。當你去你最喜歡的供應商那里查找微控制器時,你會發(fā)現(xiàn)它們有不同的尺寸和不同的內(nèi)存。內(nèi)部存儲器用于存儲數(shù)據(jù),例如

      應用代碼

      引導裝載者

      配置數(shù)據(jù)

      客戶數(shù)據(jù)

      信任根

       

      外部存儲器是與微控制器無關的存儲器。可以從微控制器中單獨選擇該存儲器。它通常通過QSPISDHC等連接到微控制器。外部存儲器通常用于

      應用程序映像存儲(在固件更新過程中)

      客戶數(shù)據(jù)

      文件系統(tǒng)

       

      我們將專門探討選擇微控制器片上閃存的最佳實踐。

       

      從內(nèi)存映射草案開始

      當你第一次開始一個新項目時,你基本上不知道你將需要多少內(nèi)存。的申請將包括

      業(yè)務邏輯(應用程序)

      配置

      (中間件)

      低級驅(qū)動程序

       

      很難知道需要多少閃存空間,尤其是因為可能需要額外的空間來存儲備用固件映像和產(chǎn)品發(fā)布后添加的未來功能。但是,可以獲得一個初步的估計,這將有助于確定需要的基準或最小閃存量。

       

      幾乎每個微控制器供應商都提供某種類型的配置工具。這些工具旨在幫助快速啟動并運行微控制器!可以快速配置RTOS,設置USB或文件系統(tǒng),等等。我說的快,是指一個小時左右。

       

      可以使用微控制器配置工具來構(gòu)建一個快速應用程序,大致獲得的最低閃存使用量。如果你看一下你的,你也會有一個總的記憶圖。告訴你每個庫有多大的映射文件。

       

      最低限度有什么好處?可能會想,但是最小值將幫助限制應該查看的內(nèi)存大小。它讓你知道什么是可接受的下限。

       

      有了最小內(nèi)存映射和默認內(nèi)存映射,就可以在內(nèi)存映射的基礎上估計所需的額外內(nèi)存。我將包括應用程序、應用程序圖像空間等等。

       

      從引腳兼容的存儲器開始

      一旦有了內(nèi)存使用的下限,就需要確定它的上限。這是真正的工作需要做的地方。一般的經(jīng)驗法則是開始開發(fā)的應用程序,使用選擇的微控制器系列中最大的內(nèi)存。

       

      不過,你必須小心一點,不要把自己封閉起來。雖然開發(fā)人員可能會使用最大的內(nèi)存部件來開始,但硬件團隊在某些時候需要限制硬件設計。最好的方法是識別具有引腳兼容器件的微控制器。

       

      例如,可能會選擇供應商AB系列微控制器,它提供50種不同的引腳兼容器件,閃存從32 kB1 MB不等。如果引腳兼容,硬件團隊可以設計硬件,而軟件團隊則處理應用程序并量化他們真正需要多少內(nèi)存。

       

      量化你的額外空間

      在某種程度上,選擇閃存大小的最大挑戰(zhàn)不是的應用。它決定了你要為將來的特性、錯誤修復和固件更新留出多少額外的空間。

       

      我的一般經(jīng)驗是確保應用程序至少有20%的空閑閃存空間。不幸的是,這20%只是一個任意的數(shù)字。我不知道有任何研究著眼于嵌入式應用,并確定在產(chǎn)品的生命周期中使用了多少額外的內(nèi)存。

       

      這再次意味著必須檢查的產(chǎn)品路線圖,以確定可能需要多少額外的內(nèi)存。通常,初始發(fā)布包含最多的功能。這是最小可行產(chǎn)品(MVP ),但這個最小值將使用最大量的閃存。

       

      最好是根據(jù)當前應用程序的大小以及將添加到產(chǎn)品中的附加功能的預期數(shù)量和類型來估計需要多少額外空間。如果你為客戶添加了很少有價值的特性,那么20%可能就足夠了。然而,如果你計劃推出并添加機器學習,那就是完全不同的場景了。可能需要確保有一到十倍的可用內(nèi)存。

       

      固件更新也會顯著影響選擇的閃存大小。一種潛在的設計模式是在微控制器內(nèi)部存儲兩個圖像。這意味著,如果的整個應用程序適合128 kB的閃存,將需要額外的128 kB的閃存來存儲任何新的圖像!

       

      對于微控制器來說,內(nèi)部閃存通常比外部閃存貴得多。因此,我們通常使用外部閃存來存儲圖像,這些圖像可以在更新期間傳輸?shù)絻?nèi)部存儲器。

       

      正如所看到的,決定需要多少額外空間很大程度上取決于在部署系統(tǒng)后將如何處理它。可能會發(fā)現(xiàn)10%就足夠了,或者需要100%或更多的額外空間。

       

      采取下一步行動

      在本帖中,我們探討了為嵌入式系統(tǒng)選擇合適閃存容量的幾種最佳實踐。這些最佳實踐包括在開發(fā)周期的早期生成內(nèi)存映射,以及在應用程序完成后留出20%的空閑空間。

       

      根據(jù)的最終目的和目標,什么適合的應用程序的具體細節(jié)會有所不同。真的沒有放之四海而皆準的方法或指導可以應用。然而,本帖中討論的最佳實踐可以幫助獲得一些想法,并幫助為嵌入式系統(tǒng)選擇合適大小的閃存。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 日韩精品区一区二免费 | 久久免费看少妇A级精品视频 | 在线亚洲欧美动漫一区二区 | 久久综合五月丁香久久激情 | 日韩欧美永久免费aⅴ在线 午夜少妇特级福利 | 中文字幕欧美中日韩精品 |