私が知っているように、ビンとエルフの基本的な違いは
Binファイルにはビットまたはバイトのデータのみが含まれており、メモリにロードするときにメモリのアドレスを指定する必要があります.
一方、elf の場合は、シンボル ルックアップと再配置可能なテーブルがあるため、プログラム時にアドレスを指定する必要はありません。
添付の画像を参照してください。LPCexpresso を使用して、elf ファイルをデバイスにプログラムしています。ベースアドレスを指定しない場合、デフォルトで 0x00000000 が使用されます。今、私は最初にプログラムbootloader.elf
し、次にmain.elf
. どちらの場合も、ベース アドレスを指定していません。
ここで私の質問は、アドレスを指定していない場合、elf
ファイルが正しい場所をプログラムする方法を決定する方法と、1 つのイメージをプログラムした後、別のイメージをプログラムする場合、最初のイメージを上書きしませんか? (どちらの場合もアドレスを指定しておらず、デフォルトで 0x00000000 であるため)