80002880 <init_bsc>: 80002880: 2d d1 mov.l 80002938 <WTCSR_A+0x2>,r1 ! 0xa5070ffc 80002882: 2d d0 mov.l 80002938 <WTCSR_A+0x2>,r0 ! 0xa5070ffc 80002884: 01 21 mov.w r0,@r1 80002886: 2a d1 mov.l 80002930 <WTCNT_A>,r1 ! 0xffc00008 80002888: 2a d0 mov.l 80002934 <WTCNT_D>,r0 ! 0xc5a00 8000288a: 01 21 mov.w r0,@r1 8000288c: 2b d1 mov.l 8000293c <FRQCR_A>,r1 ! 0xffc00000 8000288e: 2c d0 mov.l 80002940 <FRQCR_D>,r0 ! 0xe1c 80002890: 01 21 mov.w r0,@r1 80002892: 2c d1 mov.l 80002944 <BCR1_A>,r1 ! 0xff800000 80002894: 2c d0 mov.l 80002948 <BCR1_D>,r0 ! 0x200008 80002896: 02 21 mov.l r0,@r1 80002898: 2c d1 mov.l 8000294c <BCR2_A>,r1 ! 0xff800004 8000289a: 2d d0 mov.l 80002950 <BCR2_D>,r0 ! 0x2dfc 8000289c: 01 21 mov.w r0,@r1
$objcopy -O (output format) (input file name) (output file name) (ex) $sh4-linux-objcopy -O binary sh-stub.srec sh-stub.bin
S-recordファイルのアドレスを変更する 以下の例の場合は指定した0x10000000が加算される。 $ objcopy -I srec -O srec --adjust-vma=0x10000000 infile outfile S-recordファイルの変換 objcopy -I srec -O srec infile outfile 実行バイナリからS-recordファイルに変換する objcopy -S -O srec binaryfile srec_file 実行ファイルをrawイメージバイナリに変換する objcopy -S -O binary infile outfile ファイルを新セクションとしてバイナリに追加する objcopy -R .commant -R .stab -R .stabstr --add-section=image=imagefile infile outfile -R で不必要なセクションを削除しないと望みの動作にはならない でしょう。 rawイメージバイナリをS-recordに変換する objcopy -I binary -O srec infile outfile S-recorからrawイメージバイナリに変換する objcopy -I srec -O binary infile outfile
object format | description | format option |
---|---|---|
elf | elf形式のデバッグ情報付きのフォーマット。最近のLinuxとかのバイナリの形式はこれ。 普通このファイルから以下のファイル形式にする。 | - |
Morolora S-record | *.srec,*.mot,*.sreとかのテキスト。 | srec |
Intel HEX | *.hex とかのテキスト。 | hex |
binary | rawイメージバイナリファイル | binary |