Ticket #26384

checksumコマンドの対応

Eröffnet am: 2011-09-25 18:32 Letztes Update: 2011-09-29 12:35

Auswertung:
Verantwortlicher:
Status:
Offen [Owner assigned]
Komponente:
(Keine)
Meilenstein:
(Keine)
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Gefixt
Datei:
Keine

Details

現状のMakefileにはchecksumコマンドによるチェックサムの更新がない。

Code Red社のページにはチェックサムの更新が必要である旨が書かれている。

チェックサムがあっていない場合、正しくブートしない。

OBJFILEに対してchecksumコマンドでチェックサムの更新を行なった方が良いかもしれない。

http://support.code-red-tech.com/CodeRedWiki/OutputFormats

Ticket-Verlauf (3/6 Historien)

2011-09-25 18:32 Aktualisiert von: shintamainjp
  • New Ticket "checksumコマンドの対応" created
2011-09-25 23:59 Aktualisiert von: suikan
  • Details Updated
  • Verantwortlicher Update from (Keine) to shintamainjp
Kommentar

多くのROMライターが、このチェックサムを自動生成して書き込んでいる。たとえば、

  • LPCXpresso IDE
  • LPC21ISP

上記リンクには以下の一文もある

When downloading code via the debugger, this checksum word will be filled in automatically as the image is downloaded

要調査であることは事実。

2011-09-26 07:09 Aktualisiert von: None
Kommentar

Code Redの主張をまとめる。

  • バイナリ・ファイルを生成した時に、供給されたチェック・サム・ユーティリティを用いて、ビルド後のポスト・プロセスでチェック・サムを確認しなければならない。
  • checksumコマンドは-pでターゲットチップを与え、-dでバイナリ・ファイル(.bin)を与える。
  • hexファイルの場合、hexに対して直接チェック・サム・ユーティリティを実行するのではなく、.binに対してチェック・サム・ユーティリティを実行し、その.binを.hexに変換する。
    • hexを直接指定した場合、破損したhexを出力する。
2011-09-26 22:21 Aktualisiert von: shintamainjp
  • Lösung Update from Keine to Gefixt
Kommentar

以下の対応を行った。

  • asp/target/lpcxpresso1768_gcc/Makefile.target に以下の変更を行った。
    --- Makefile.target	(リビジョン 518)
    +++ Makefile.target	(作業コピー)
    @@ -46,8 +46,18 @@
     #
     #  Intel Hexファイルの生成
     #
    +#  checksumプログラムは、NXP LPCシリーズが持つバイナリ
    +#  チェックサム検証機能に対応させるためのプログラムである。
    +#
    +#  Code Red社が供給しているchecksumプログラムは、
    +#  binファイルにのみ有効に機能する。
    +#  hexファイルの場合、一度binファイルを生成し、
    +#  checksumプログラムを実行してからその結果を変換する。
    +#
     $(OBJNAME).hex: $(OBJFILE)
    -	$(OBJCOPY) -O ihex -S $(OBJFILE) $(OBJNAME).hex
    +	$(OBJCOPY) -O binary $(OBJFILE) $(OBJNAME).bin
    +	checksum -p $(CHIP) -d -v $(OBJNAME).bin
    +	$(OBJCOPY) -I binary -O ihex $(OBJNAME).bin $(OBJNAME).hex
    
  • asp/sample/Makefileのbinファイル生成にも以下の行を追加したが、これは不適切かもしれない。(sampleは非依存部分でなければならないはずだ。)
    --- sample/Makefile	(リビジョン 518)
    +++ sample/Makefile	(作業コピー)
    @@ -330,6 +330,7 @@
     #
     $(OBJNAME).bin: $(OBJFILE)
     	$(OBJCOPY) -O binary -S $(OBJFILE) $(OBJNAME).bin
    +	checksum -p $(CHIP) -d -v $(OBJNAME).bin
    
  • CHANGES.LPCへの追記。
2011-09-27 06:16 Aktualisiert von: suikan
Kommentar

asp/target/lpcxpresso1768_gcc/Makefile.target への変更は、これで良さそうに思える。

sample1のMakefileの変更には反対。

2011-09-29 12:35 Aktualisiert von: shintamainjp
Kommentar
  • sample1のMakefileに関しては元に戻し、別の対応方法を考える。
    • ダミーターゲットを作り、ポストビルドできる何らかの方法など。

Dateianhangliste

Keine Anhänge

Bearbeiten

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Anmelden