ubootがどのメモリRAMアドレス範囲を使用しているのか、どうすればわかりますか?

ubootがどのメモリRAMアドレス範囲を使用しているのか、どうすればわかりますか?

私はubootにいて、ubootが使用しているRAMアドレス範囲を知る方法を知りたいです。

ubootを実行するにはメモリが必要なため、一部のRAMを使用できます。これらのRAMアドレスを変更しないようにしたいと思います。

ubootがロードされたメモリ領域をどのように知ることができますか?

ベストアンサー1

DULG デバッグ UBootページには次のようなものがあります(「再配置」と呼ぶのはフラッシュからRAMに自分自身をコピーすることです)。

U-Bootを再配置した後にデバッグするには、U-Bootが再配置されたアドレスを知る必要があります。 PRAMなどの特殊機能を使用しない場合、このアドレスは通常CONFIG_SYS_MONITOR_LENです。この例では、RAMが16MBでCONFIG_SYS_MONITOR_LEN = 192KBの場合、アドレスは0x1000000 - 0x30000 = 0xFD0000になります。

テキストをよく読むと、プロセッサやマザーボードによって異なることがわかりますので、U-Bootソースコードを確認する必要があるかもしれません。

~についてエキスパートプラグ:

RAM側では、u-Bootは最初の8MBを予約します。残りは無料です。一部の開発者はフラッシュメモリをプログラムするためにカーネルとファイルシステムを0×800000にロードします。もう1つの共通点は100MBの境界(またはオフセット0×640000)です。

U-Bootコマンドのバージョンに応じて、空きRAMのどこかに文字列を置き、残りのRAMでその文字列を見つけて、メモリ内のU-Bootのおおよその位置を表示できます。

おすすめ記事