主题中讨论的其他器件: UNIFLASH
您好!
我正在将 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);
}
请提供指导。