#define SIZE_FILE_NAME (32) struct partition_info_s { u08 file_name[SIZE_FILE_NAME]; // file name of source (basename only) u08 md5sum[36]; u32 file_offset; // offset in output file u64 file_size; // file size of the partition u32 partition_start_addr; // partition's start address in NAND, there will be an offset added in U-Boot script ($isp_nand_addr_1st_part), less than 4GB is expected. u64 partition_size; // reserved size for this partition, less than 4GB is expected. u32 flags; u32 emmc_partition_start; // Unit: block u32 reserved[7]; // let size of this structure == SIZE_PARTITION_INFO_S } __attribute__((packed)); |
#define SIZE_PARTITION_INFO_S (128) #define SIZE_INIT_SCRIPT (2048) #define NUM_OF_PARTITION (111) struct file_header_s { u08 signature[32]; u08 init_script[SIZE_INIT_SCRIPT]; u32 flags; u08 reserved[SIZE_PARTITION_INFO_S - 36]; struct partition_info_s partition_info[NUM_OF_PARTITION]; } __attribute__((packed)); // sizeof(this structure) == 16384 |