08/04/30 22:20:08 0
>>273
conv3ではダメかもしれませんね。
まず、viewbinでROMのマッピングを把握してください。
MSBINフォーマットは、MSBINのヘッダ+複数のデータブロックで
構成されています。各データブロックにはブロックヘッダとして
アドレス・長さ・チェックサムが書き込まれています。
私は、このブロックの境界でcvrtbinしたファイルを分割して、
先頭128KBのブートローダ部、ULDR/XIP部、
IMGFS部、FATの先頭部と、4つのパートに分割して別々に処理しています。
実際にいじるのは、ULDR/XIP部と、IMGFS部だけなので、私は
ブートローダ部とFAT部は、アドレスを計算してBINファイルから
直接切り出しました。
できたファイルは、nbsplit -data 2048 -extra 8 ほにゃららで
.payloadと.extraに分離できます。extraを覗いてマーカーが抜けてる
部分は、実際には書き込みができないので適宜修正が必要です。
私は、XIP部は全て手作業でマーカーを埋め、IMGFS部は専用のツールで
マーカーを生成するようにしました。
で、各部をMSBINを再構成するために処理(パディングして、
チェックサム計算して、ヘッダ付け)をしたら、バイナリ結合してできあがりです。
チェックサムはitsmeさんの記述と異なり、8bit値の単純合計です。
掛け値なしに、これで全てです。というわけで、頑張ってください♪