2014年7月17日木曜日

elf2ha

avr-gccで生成された.elfファイルをHA2bootで書き込める.haファイルに変換するためのツールです。
.haフォーマットは先頭16byteのヘッダーとプログラムの先頭からの連続領域のイメージからなる単純なフォーマットです。
ヘッダーの中身はBigEndianで
struct HeaderSt {
  longword Magic; // 'HAUP'の文字列
  word SetId; // moduleの種類を表す16bitの値
  word Version; // プログラムのバージョンを表す16bitの値
  word Addr; // 先頭アドレスだがリセットベクタがあるので必然的に0x0000
  word Size; // プログラムの先頭からのサイズ
  word Reserve;
  word CRC; // プログラムの先頭から終わりまでのCRC
};
です。

HA1Controlプログラムのconfigファイルでこの.haファイルを指定しておくと起動時に各moduleのバージョンチェックをして必要なら更新作業をします。
sudo make installすると/usr/local/binにelf2haが作られます。
HA2moduleのイメージを作るのに必要になります。

ソースコードはここにあります。

0 件のコメント:

コメントを投稿