Hello,
LS1088aプラットフォームでDDR4サイズの問題が発生しています。ボードには4GBのDDR4があります。起動時に、ボードに4GBのDDR4があることが確認されます。しかし、freeコマンドでカーネルを確認すると、RAMが2GBであることを示しています。U-Boot 構成から "mcmemsize" 変数を削除しました。 u-bootとカーネルでDDRサイズが一致しない理由がわかりますか?
添付の写真で違いがわかります。
はい、そうなるでしょう。
返信ありがとうございます。
「mcmemsize」を削除すると、ネットワークのパフォーマンスが低下しますか?
紛失したDDRは2つの部分に分けることができます。
1) NXP専用ソフトウェア、ファームウェアコンポーネントで使用されるDDR
2) カーネルのさまざまなセグメントで使用される DDR。
最初の部分では、
1) u-boot は使用されるまでメモリを使用しますが、カーネルが起動すると、u-boot はメモリからスワップアウトされます。
2) TF-Aは66MBを使用
3) MC は 512M から 2G までの任意の場所で使用できます (u-boot コマンドの引数 'mcmemsize' に依存します)。パラメーター mcmemsize は、管理複合システムによって使用されるシステム DDR の量を定義します。この変数が定義されていない場合、コンパイル時の値 0x70000000 または 1.75GB がデフォルトになります。通常、デフォルトは許容されるため、ユーザーはこの変数を設定する必要はありません。
TF-A+MCは約1.8G
カーネル予約=(18620Kカーネルコード、2476K rwdata、8844K rodata、5888K init、993K bss、406712K予約済み、327680K cma予約済み) = 771213K = 0.7G
/proc/meminfo の MemTotal は kB 14232028で、失われたメモリは約 16-13.6=2.4G(TF-A+MC+カーネル) です予約済み)
root@TinyLinux:~# cat /proc/meminfo
MemTotal: 14232028 kB
MemFree: 13596760 kB
Mem利用可能: 13478276 kB