fst creator / boot.bin updater
http://pastie.org/892752
tested and working on ubuntu amd64 9.10. the fst.bin created is not identical to the original one, but it works fine with these modules. if the fst.bin changes size, that new size needs to be written in the boot.bin.
Found in your code:
CODEu32 be32( unsigned int i )
{
ÂÂÂÂreturn ( i > 24 ) | ( ( i > 8 ) &0xFF00 );
}
This is *not* a
big endian function. It is a
swap endian function.
try something like this ...
CODEu32 be32 ( u32 data )
{
ÂÂÂÂu32 result;
ÂÂÂÂu8 * d = (u8*)&result;
ÂÂÂÂ*d++ = data >> 24;
ÂÂÂÂ*d++ = data >> 16;
ÂÂÂÂ*d++ = data >>ÂÂ8;
ÂÂÂÂ*d++ = data;
ÂÂÂÂreturn result;
}