PDA

Bekijk de volledige versie : Firmware file structure



igor_n
05-09-2005, 09:59
All fields are big endian.


enum CODE_TYPE{
TYPE_BOOT = 1,
CRAMFS,
CONFIG
};

struct FileHeader{
u16 num; // enum CODE_TYPE
u32 pkg_offset; // offset in file
u32 flash_offset; // offset in flash
u32 size;
char mustBeZero[18];
};

struct Superblock{
u32 crc16; // Sic! 16-bit CRC in 32-bit field.
u32 magic; // BE 73 15 04
u32 must_be_3; // unknown.
u32 min_max_config_size; // 0x20000
u32 zero0;
u32 zero1;
u32 min_flash; // 0x400000
u32 min_ram; // 0x1000000
char name[16]; // "SL-500" or "SL-1000"
char zero2[0x2A0-0x30];
u16 ver[6];
char zero3[0x30A-0x2AC];
FileHeader file_hdrs[3];
u8 data[1]; // flash data
};