dポイントプレゼントキャンペーン実施中!

アトメル社製のマイコンATtiny2313のプログラミングで、ATtiny2313の内蔵EEPROM領域を使いたくなったところ、マイコンへの書き込み時には、インテルHEXフォーマットのテキストファイルで書かなければならないことが分かり、インテルHEXファイルフォーマットのファイルを編集できるソフトを探してみたところ、


http://www.vector.co.jp/soft/winnt/util/se222578 …
xedit162
というソフトを見つけて、ダウンロードして開こうとするとエラーが起きて全く編集できません。

手書きでもかけるのですが、チェックサムがあっていないようで、

:1000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1

このように書いてみるとチェックサムがあっていないとプログラマツールに怒られてしまいます。

00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
これを16進電卓で足していったら”F1”となるのですが、怒られます。

このインテルHEXファイルで使えるエディタをご存じの方いらっしゃいましたらご教授宜しくお願い致します。

A 回答 (2件)

>手書きでもかけるのですが、チェックサムがあっていないようで、


>:1000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1

チェックサムは加算したあとに2の補数をとるので
合計した値の下位8ビットのF1Hに,もう1つ加工します。
F1H をビット反転して1足しますので,チェックサムは0FHとなります。

☆ちなみにチェックサムをチェックする側は全て加算すると00Hになるかチェックしています。F1H+0FH->00H

参考にさせてもらったサイトをのせておきます。

参考URL:http://www002.upp.so-net.ne.jp/janus/romfile.html
    • good
    • 0
この回答へのお礼

回答いただきありがとうございました。

一つ一つ確認してWindowsの関数電卓でやっていったら合点がいきました。

ちなみに質問で出した例
>:1000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1

チェックサムは”F1”と言っていましたが、それは”FF”部分を全て足した時の値で、頭の”10”を足すのを忘れていました。

なので、”0x101”となりそれを反転させると、後ろの2桁は”0xFE”となるので、それに0x01を足してやれば”0xFF”となりプログラマもエラーなくファイルを読み込んでくれるようになりました。

ありがとうございました。

お礼日時:2009/09/04 10:20
    • good
    • 0
この回答へのお礼

回答いただきありがとうございます。試してみたいと思います。

お礼日時:2009/09/04 10:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!