私はどのようにelfファイルが正しいメモリアドレスをロードして正常に実行されましたか?
BINファイルはビットのみ含まれているか、あなたはそれをメモリにロードする際にデータのバイトとあなたはメモリのアドレスを与える必要があることbinとエルフの基本的な違いを知っているように、
ながらエルフの場合シンボルルックアップとリロケータブルテーブルを持っているので、プログラムするときにアドレスを与える必要はありません。
attached imageを参照してください。私はLPCexpressoを使ってデバイスのelfファイルをプログラムしています。ベースアドレスを指定しないと、デフォルトで0x00000000になります。今私は最初にプログラムbootloader.elf
を、その後main.elf
をプログラムします。どちらの場合も、私はベースアドレスを与えていません。
ここで私はアドレスを与えていない場合、elf
ファイルが正しい場所をプログラムする方法を決めて、別のイメージをプログラムすると1つのイメージをプログラムした後に最初のものを上書きしないのですか? (どちらの場合もアドレスを指定せず、デフォルトでは0x00000000)