可以按 img 的规范(见下面的结构体),做一个image的头,64个字节,这里面定义好其它资源文件的烧写地址,长度。然后计算CRC,把资源文件打成一个满足规范的img文件,然后用命令合成新的fls文件
cat w800.fls resource.img > new_w800.fls
烧写这个新的文件,即可把你的资源数据刷写到需要的地址空间上去.
img 文件头的格式:
typedef struct {
unsigned int magic_no;
unsigned short img_type;
unsigned short zip_type;
unsigned int run_img_addr;
unsigned int run_img_len;
unsigned int img_header_addr;
unsigned int upgrade_img_addr;
unsigned int run_org_checksum;
unsigned int upd_no;
unsigned char ver[WM_TOOL_IMAGE_VERSION_LEN];
unsigned int reserved0;
unsigned int reserved1;
unsigned int next_boot;
unsigned int hd_checksum;
}
只需要填写 magic_no, run_img_addr, run_img_len, hd_checksum 这几个字段即可。其它填0
问 W80x的fls固件如果添加其他资源文件(bin形式)到指定位置上?