亲爱的对话的支持,
我试图找出如何配置产品头使用智能片段/ mkimage。
在UM-B-012第26页,它说,“应用程序特定的“配置偏移”是从off4初始化的。如果没有提供off4,则“配置偏移”字段应设置为0xFFFFFFFF。这里提到的“配置偏移”是什么?我在任何地方都找不到有关这方面的信息。如果我只关心BD地址,为创建产品标头指定的值是什么?
例如,在下面命令中指定bd_address生成bin文件,配置偏移应该使用什么值?
./mkimage.exe multi spi fw_3. exeimg 0 x8000 fw_2。img 0x13000 0x1F000 out_file.bin cfg 0x??????? . cfg80: EA: CA: 01:02:03
让我困惑的是,当阅读mkimage.c源代码时,
/*产品头文件*/
struct product_header {
uint8_t签名[2];
uint8_t版本[2];
uint8_t offset1 [4];
uint8_t offset2 [4];
uint8_t bd_address [6];<-------从偏移量12开始,而不是32
uint8_t垫[2];
uint8_t cfg_offset [4];
};
而在AN-B-01手册的第10页,它说bd_address从偏移量32(12-31)开始是保留的。
哪一个是正确的?
谢谢,
uta_lc
设备:
您可以在utilities目录下查看“Mkimage”项目的源代码。
对于这种格式,您是正确的。前女友。格式为"cfg off4,112233445566"。
在调用" store32(p_hdr.cfg_offset, cfg_off) "时将设置off的值。
memcpy(p_hdr。bd_address bd_addr, sizeof (p_hdr.bd_address));“
而且我认为An-B-01提到的地址分配和SDK代码不一致。
对于默认的辅助引导加载程序代码,它不检查地址部分。
您可以遵循SDK代码。并检查辅助引导加载程序代码以了解其用法。
您可以根据自己的设计修改代码。