你好,
我刚刚在DA14850中选择了Bootloader,它来自EEPROM的靴子很好。但是,当我重新启动Bootloder后,iTA设备在以下代码中获得错误
if((image1_encryption &&!aes_encrypted_image_supported)
||CRC_IMAGE1!= CRC32(0,(UINT8_T *)SYSRAM_BASE_ADDRESS,CODESIZE1))
返回-1;
我错过了什么 ?如何调试此问题?
谢谢
莫希特
设备:
嗨Mohit3112,
我想错误是LoadActiveImage()函数中的辅助引导程序代码。您可以检查两个条件中哪一个返回true,检查您从Flash / EEPROM上传的图像是否支持加密,如果图像的CRC有效,则使用当前计算的CRC有效。
谢谢mt_dialog.
好的,所以调试这个问题我制作了像这样的全局变量探测器
int32_t探测__attribute __((部分(“保留_mem_area0”),zerou_init));
我试过了
探针= image1_encryption;
然后
探针= CRC32(0,(UINT8_T *)SYSRAM_BASE_ADDRESS,CODESIZE1);
返回0所以如果这是真的那么为什么return -1甚至正在执行
我已经附上了调试的形象请看看,我认为编译器正在优化代码并引起问题
谢谢
莫希特
经过更多调试后,我发现在OTA我的产品标题签名PProductHeader->签名[1]从0x52转换为0x10,为什么会发生这种情况?
有什么建议么 ??
我正在使用SDK 3.0.10.1
谢谢
莫希特
嗨Mohit3112,
使用OTA更新软件后,您的意思是产品标题将签名更改为0x10?您如何制作图像,您是否遵循AN-B-010.PDF?也许你错过了一些东西。Suota不会更改Product_Header_Signature2,您可以转储SPI并检查课后事务后是否发生更改。如果您的产品标题已更改,则辅助引导程序将加载任何图像。
谢谢mt_dialog.
我使用以下步骤
1.我制作了fw_1.img,fw_2.img - mkimage.exe单个fw_1.bin fw_version_1.h fw_1.img
2. RAN命令 - mkimage.exe多EEPROM FW_1.IMG 0x8000 FW_2.img 0x13000 0x1f000 multi_part.bin
3.在EEPROM的偏移0中加载多_part.bin - With Option make_eeprom_bootable =否(按下刻录按钮后它会像弹出窗口)
4.在OTP中刻录efferic_bootloader.hex
5.燃烧OTP标题
应用标志1 ----是的
应用标志2 ----是的
重新映射标志--- OTP在0时
DMA长度---- 0x1FC0
JTAG使能标志---启用
从SmartSnippets刻录图像文件后,我检查了十六进制转储,它不正确,是的,它确实在OTA之后更改产品标题签名。我附上了Smartsnippets截图的形象。
谢谢
莫希特
嗨Mohit,
我说的时候,当我说的话语没有改变产品标题签名是,在MultiPart映像使得它保持在那里并且仅仅改变了产品标题时,Suota应用程序中没有代码。图片。同样在您上传的图像中,我看到了产品标题的数据,那些数据有哪些数据,也许你重写了你的EEPROM和你向外发送的数据产品标题。我通过EEPROM测试了SUOTA,并且虽然JTAG,标题仍然不变,但Bootloader运行不变。
谢谢mt_dialog.