可以按 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 形式) 到指定位置上?