This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我正在将 MX25R8035FM2IH0闪存用于带有 ZR SW OTA 客户端的 cc2652P 模块。 我使用的是 SDK 5.10。 我正在执行以下步骤。
1.使用闪存编程器2/uniflash 擦除器件。
对从 CCS 编译的 bim_offchip_hex 文件进行编程。
之后 LED 将亮起。
4.对从 CCS 编译的 ZR SW OTA 客户端十六进制文件进行编程。
5.代码开始工作。
6.然后我只需重置器件、代码就会停止工作、只有 Bim 工作。
如果我调试了更多内容,我发现以下问题。
静态 bool extFlashReadInfo (空)
{
内转台;
const uint8_t wbuf[]={BLS_CODE_MDID、0xFF、0xFF、0x00};
extFlashSelect();
RET = bspSpiWrite (wbuf、sizeof (wbuf));.................................................................................................. //此处代码失败。
IF (RET)
{
extFlashDeselect ();.................................. //它在这里
返回(false);
}
RET = bspSpiRead (infoBuf、sizeof (infoBuf));.................................. //用0值填充 infobuf。
extFlashDeselect ();
返回(RET = 0);
}
静态 bextool FlashVerifyPart (空)
{
if (!extFlashReadInfo())(如果!extFlashReadInfo())
{
返回(false);
}
pFlashInfo = flashInfo;
while (pFlashInfo->deviceSize >0)
{
if (infoBuf[0]=pFlashInfo->manfId & infoBuf[1]=pFlashInfo->DevID) .////////////////////////////// 在此失败,infobuf 的 beacuse 只包含0。
{
中断;
}
pFlashInfo++;
}
return (pFlashInfo->devicesize >0);
//返回(0);
}
请指导我解决此问题。 另请说明以下突出显示的部件。
int bspSpiWrite (const uint8_t * buf、size_t len)
{
while (len >0)
{
uint32_t ul;
SSIDataPut (BLS_SPI_base、* buf);
ROM_SSIDataGet (BLS_SPI_base、&ul);
len-;
buf++;
}
返回(0);
}
请提供指导。
我已经执行了该文档中提到的所有步骤。 也可以使用 CCS 调试按照以下顺序进行操作。 但在复位后、主程序不会启动。
要使用 OTA 客户端功能、必须将 BIM 加载到器件中。 建议在加载任何应用之前、在器件上执行存储器擦除操作、以避免之前的配置或 NV 使用会影响器件。
.hex
文件) *_oad.bin
、不覆盖 BIM) 另请提供指南、请说明 地址 *_oad.bin will flash? is that 0xA8?
您好、Ryan、
我完成了所有这些操作,但 OTA 在这里失败 (((zclota_permit == false)||
(* otaClient_ImageUpgradeStatus!= ota_status_normal)
我正在获取 zclota_permit =false。 该标志 不会在任何地方设置为 true。 请指导问题的位置。
您能否从 应用程序中删除 zclota_permit 条件或使用 zclota_PermitOta (true)来确定这是如何更改行为的?
此致、
Ryan