ダミーのIntel HEXデータを作る(その1)

『カノジョは嘘を愛しすぎてる』(2013) 佐藤健 大原櫻子

イケメンばかりできっと中身がないのだろうと高を括っていましたが、実に良かったです。「でも、今から泣くでしょ?」「しまったとおもった」とかセリフがいちいちよかったり、音楽プロデューサーが亀田誠治とすごかったり。ストーリーも面白かったです。しかし不完全燃焼な終わり方でしたので、漫画の全部を映画にするのは難しいだろうなあと思いました。映画は映画で納得しましたが、二人の将来が気になるので、漫画も読んでみようと思いました。
嘘をつくAKIを、彼女は彼の曲を聞くことでお見通しなのですが、ソフトウェアのいろいろなファイルも、本当か嘘かフォーマットでわかってしまいます。今回はIntel HEXファイルの中身は嘘ですが、外見だけはHEXファイルに見えるファイルを作ります。
まずはIntel HEXの構造です。
hex-001

では、外見はIntel HEXに見えるダミーデータを作りたいと思います。1Byteのデータを0番地に書き込むためのデータにします。
データ本体。
hex-002
HEXファイルには必ずEOFの行が存在します。データ本体とEOF行で、合計2行で作れます。
hex-003

以下のようなファイルになりました。

~$ cat dummy1byte.hex 
:0100000000FF
:00000001FF
~$ 

作成したファイルの確認にsrec_infoコマンドを使うため、srecordをインストールします。

# apt-get install srecord
  (省略)

ファイルを指定してsrec_infoを実行してみましょう。

~$ srec_info dummy1byte.hex -intel
Format: Intel Hexadecimal (MCS-86)
Data:   0000 - 0000
~$ 

作成したファイルは、合ってそうです。

次は、間違ったチェックサムに変更したHEXデータを作成してみます。

~$ sed '1s/FF/FE/' dummy1byte.hex > dummyng.hex
~$ cat dummy
dummy1byte.hex  dummyng.hex     
root@raspberrypi:~# cat dummyng.hex 
:0100000000FE
:00000001FF
~$ 

srec_infoで確認してみます。

~$ srec_info dummyng.hex -intel
Format: Intel Hexadecimal (MCS-86)
srec_info: dummyng.hex: 1: checksum mismatch (FF != 00)
~$ 

チェックサムのミスマッチを表示してくれました。私はこれらの偽ファイルをテストに使ってます。

コメント

  1. […] ← ダミーのIntel HEXデータを作る(その1) […]

タイトルとURLをコピーしました