PowerPC CPU を搭載したBroadcom
スイッチ ボードがあります。MPC8548E
を使用して、まさにこの CPU 用のツールチェーンを作成しましたcrosstool-ng
。CFE>
コマンドでこのボードのブートローダーを使用してコンパイルされたバイナリをロードしようとするとload -elf 10.13.51.131:main
、次の出力が得られます。
CFE> load -elf 10.13.51.131:main
Loader:elf Filesys:tftp Dev:eth0 File:10.13.51.131:main Options:(null)
Loading: Warning: negative seek on tftp file attempted
Failed.
Could not load 10.13.51.131:main: Invalid ELF file
*** command status = -16
なぜそれは言うInvalid ELF file
でしょうか?readelf -h
次の情報が表示されます。
$ readelf -h main
ELF Header:
Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, big endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: PowerPC
Version: 0x1
Entry point address: 0x100002c8
Start of program headers: 52 (bytes into file)
Start of section headers: 3972 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 7
Size of section headers: 40 (bytes)
Number of section headers: 28
Section header string table index: 25
ELF ファイルをロードするにはどうすればよいですか。まだ何も実行したくありません。最初に ELF を受け入れる必要があります。VxWorks でコンパイルして (おそらく) すぐに実行できる別の ELF がありますが、それを使用しても同じエラーが発生します。
これはBroadcom
、スイッチのリファレンス ボードですBCM956440
。