启明云端分享|sigmastar SSD201 \ SSD202D内存大小问题及flash分区问题解答
提示:作為Espressif(樂鑫科技)大中華區合作伙伴及sigmastar(廈門星宸)VAD合作伙伴,我們不僅用心整理了你在開發過程中可能會遇到的問題以及快速上手的簡明教程供開發小伙伴參考。同時也用心整理了樂鑫及星宸科技的新產品、新方案的主要特點及應用!希望你能第一時間了解并快速用上好的方案和產品!
sigmastar SSD201 \ SSD202D 內存大小問題
以IDO-SOM2D01 也就是SSD201核心板為例:
使用./Release_to_customer.sh -f nand -p ssd201編譯并燒錄鏡像后,進入Linux系統,使用free -m 命令發現內存小于64M(SSD201的內存大小為64M):
了解到內存大小分配給了MMA、Linux系統和一部分reserved(這部分一般不用去修改),即:
DDR total memory = linux memory(cat /proc/meminfo的MemTotal) + mma(mma_heap_name0 + MMU_MMA) + kernel reserved
在Uboot中,可以看到MMA的大小默認設置為0x1a00000=26M:
因此通過減少MMA的大小來增加Linux系統可用內存,我們先在uboot下修改MMA大小,驗證上面的公式:
可以看到MMA減小了16M后,Linux可用內存對應增加了16M。同時,可以了解到kernel reserved的大小為64M-44M-10M=10M。這一部分應該等于0x4000000(64M)- 0x3600000。根據以上信息,我得出以下結論:
通過修改MMA所分配內存的大小,可以調整Linux系統的可用內存。MMA的內存大小可通過project/configs/nvr/i2m/8.2.1/spinand.glibc.011a.64(如果是202則是.128)來修改:
為了把MMA設置默認為16M,我修改了project/configs/nvr/i2m/8.2.1/spinand.glibc.011a.64
修改完后,重新編譯并更新固件,MMA默認為0xa00000=16M了。
各位老鐵們,看明白了吧!接下來小明繼續為大家分享flash分區問題
sigmastar SSD201 \ SSD202D flash分區問題
咱們以7寸采屏開發板為例吧,開發板上的核心板是用的256M的flash:
使用df -h命令查看分區大小情況,發現rootfs的大小只有5.7M:
并且可以看出,這個分區應該是針對128M Flash的,并且在project/image/configs/i2m/spinand.ubifs.p2.partition.config中可以看到具體的分區情況:
不難發現,雖然分區表給rootfs中分配的了8M,但用df -h 看到只有5.7M,這是因為一部分用于分區了,就好像我們買了一個16G的U盤,在電腦上只看到14.4G可用。
由于板子的Flash大小為256M(可用約240M),我按照下表來分配,這里我只修改rootfs和customer的大小,其他保持不變:
Flash 128M 配置如下:
修改完后,重新編譯并更新系統,可以看到rootfs分區變大了:
好了,小明今天就分享到這里,如果老鐵們還遇到有其他問題,可以留言給我們,我們看到會第一時間回復的!喜歡小明,記得關注我們哈!
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的启明云端分享|sigmastar SSD201 \ SSD202D内存大小问题及flash分区问题解答的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 启明云端分享|SSD20X 如何使用SD
- 下一篇: 启明云端分享|sigmastar ssd