intel hexファイルのマージ
PIC32MXのプログラムを開発中、2つのintel hexファイル(bootloaderとfirmware本体)を1度に書き込みたいと思ったのだが、pic32progではできない。objcopyあたりでmergeできるか調べるが,無理そう。hexファイルのmergeならpythonで自分で書いても簡単そうなので書き始めるが、念のため python + intel hexで検索したら、ライブラリ、その名もintelhexがあった。ドキュメントによるとmerge機能まである。サンプルを見ながらプログラムを書き、あっさり動作。凄いね。世の中は。
import sys from intelhex import IntelHex usage = "%s hex_infile1 hex_infile2 hex_outfile" % sys.argv[0] if len(sys.argv) != 4: print(usage) sys.exit(1) infile1, infile2,outfile = sys.argv[1:] ih1 = IntelHex(infile1) ih2 = IntelHex(infile2) ih1.merge(ih2, overlap='ignore') ih1.write_hex_file(outfile)
ドキュメントによると、ライブラリにhexmerge.pyというユーティリティが付属し、ライブラリと一緒にインストールされるとあったが、わたしの環境では見付らない。これが使えれば、プログラムを書く必要すら無い。
最近のコメント