我對嵌入式世界還很陌生,所以如果這看起來很明顯,請原諒我。
我正在開發基於 AT91SAM9260 的電路板。我有 256MB 快閃記憶體和 64MB RAM。目前設定閃爍兩個 uImage。第一個是 RAMDISK 僅恢復映像,第二個是主 uImage。第一個用於將 rootfs.ubifs 閃存到 /dev/mtd1 作為主 uImage。
我遇到的問題之一是從恢復映像刷新 rootfs 時記憶體不足。根據 rootfs 的大小,它會在刷新時耗盡記憶體。我正在使用 TFTP 將映像拉到裝置上並刷新它。因此,它必須與恢復的 uImage 一起駐留在記憶體中。
也許有更有效的方法嗎?雖然我們的目標是保持 rootfs 較小,但顯然,考慮到它要進入嵌入式設備,我們的一些客戶有不同的需求,並且不介意作業系統佔用更多的快閃記憶體。
答案1
您可以嘗試在刷新之前終止某些進程(如 samba、snmp ...等服務)(假設更新完成後執行重新啟動)以獲得更多可用記憶體。