18

これは、u-boot に関する基本的な質問です。

u-boot コード自体が再配置されるのはなぜですか?

u-boot が NOR フラッシュまたはブート ROM 空間から実行されている場合は理にかなっていますが、すでに SDRAM から実行されている場合、なぜもう一度再配置する必要があるのでしょうか?

4

3 に答える 3

3

U-Boot は、1) U-Boot 自体、2) uImage (圧縮されたカーネル)、および 3) 圧縮されていないカーネルを格納するメモリ内に 3 つの領域を予約する必要があります。これら 3 つの領域は、競合を防ぐために慎重に U-Boot に配置する必要があります。

ただし、u-boot を DRAM メモリに移動する前段階のブートローダー (BL2 または BL1) は、これら 3 つの領域での u-boot のプレーニングを認識しません。そのため、U-Boot を DRAM メモリの下位アドレスにロードしてそこにジャンプすることしかできません。次に、u-boot がいくつかの基本的な初期化を実行し、現在の PC が計画された場所にないことを検出した後、u-boot は、計画された場所に u-boot を移動してそこにジャンプする relocate 関数を呼び出します。

于 2014-04-17T14:37:04.747 に答える