1

私が理解しているように、コード命令のアドレスは仮想アドレスですが、さまざまなデバイス (RAM、パラレル NOR フラッシュなど) にアクセスするには、これらの仮想アドレスを物理アドレスに変換する必要があり、このタスクは MMU によって行われます。問題は、この変換プロセスがシステム リセット (電源投入時、MMU にはまだエントリがないと思います) でどのように動作し、最初の命令をパラレル NOR フラッシュからフェッチして実行を開始できるかということです。どなたかこのプロセスを説明してください (ARM、PowerPC などのどの CPU アーキテクチャでも、この動作はアーキテクチャ間で一般的なものだと思います)。任意の推奨事項をいただければ幸いです。ありがとうございます!

4

1 に答える 1

4

電源投入時には、実質的に MMU は無効になります。それくらいが一般的です。

NOR フラッシュにアクセスするには、(少なくとも) 一部のアドレス空間のデフォルト マッピングがあります。最初の命令は通常、0xFFFF0000 (ARM) または 0xFFFFFFFC (Power PC) とその周辺からフェッチされます。しかし、これに影響を与える可能性のあるピンストラップ オプションがあります。プロセッサの起動は、実際には一般的ではありません。

ブート コードを格納するためのオプション (NAND フラッシュ、SPI ROM、MMC) は他にもたくさんあります。一般的な概念については、Hallinanにブートに関する章が含まれています。詳細については、特定の CPU のテクニカル マニュアルを参照する必要があります。たとえば、OMAP4 TRMは ARM の例です。次に、ブート プロセスを説明するセクションを見つけてください。

于 2012-11-14T04:16:53.397 に答える