TI中文支持网
TI专业的中文技术问题搜集分享网站

CC1310 Flash 某一扇区突然不能写入

CC1310芯片在压力冲击测试后正常,flash读写都正常,但是过了一段时间,0x18000扇区不能擦除和写入,查看ccfg,该扇区并未被保护。由于0x18000扇区设计时是作为数据区域的,故将数据区域移到其他空白flash地方(0x1C000),程序能正常运行。不知为何会突然出现该扇区无法擦除和写入,烦请大神解答一下。

Viki Shi:

可否多测试几片看看?CC1310的flash不应该这么容易损坏

jinghua chen1:

回复 Viki Shi:

由于该问题出现在成品产品中,其密封的,还未拆除,故不知道其真正损坏的原因,而且该现象在目前使用的100多个产品中只出现1列,故想问问有什么可能性会导致该问题的发生?

Viki Shi:

回复 jinghua chen1:

目前只能猜测是压力测试或者其他操作导致的flash损坏

jinghua chen1:

回复 Viki Shi:

拆开后单步调试,调用擦除程序,返回的错误代码为0x04,表示操作失败。

调用的擦除程序如下:

INT32U FlashSectorErase(INT32U ui32SectorAddress){INT32U ui32ErrorReturn; FlashSectorErasePointer_t FuncPointer;

// // Check the arguments. // ASSERT(ui32SectorAddress <= (FLASHMEM_BASE + FlashSizeGet() – FlashSectorSizeGet())); ASSERT((ui32SectorAddress & (FlashSectorSizeGet() – 1)) == 00);

// // Call ROM function // FuncPointer = (INT32U (*)(INT32U)) (ROM_API_FLASH_TABLE[5]); ui32ErrorReturn = FuncPointer(ui32SectorAddress);

// // Enable standby in flash bank since ROM function migth have disabled it // HWREGBITW(FLASH_BASE + FLASH_O_CFG, FLASH_CFG_DIS_STANDBY_BITN ) = 0;

// // Return status of operation. // return (ui32ErrorReturn);}

这是否意味着flash的这块扇区已经损坏?

da qin zheng sheng:

使用整片擦除,看看这个页面数据是啥?正常应该是0xff

Butterfly:

回复 jinghua chen1:

用SmartRF Flash Programmer2 的Forced Mass Erase能恢复吗?

jinghua chen1:

回复 Butterfly:

使用forced mass erase后,该芯片只能在仿真器连接,不能够再进行下载动作了,显示

>Initiate access to target: XDS-12345678A.

>Failed to read target memory.

>Error while reading memory range. Address 0x40091090.

>Debug interface is locked. Aborting action. Only forced mass erase is possible.

不过再此foced mass erase以后也没有用

赞(0)
未经允许不得转载:TI中文支持网 » CC1310 Flash 某一扇区突然不能写入
分享到: 更多 (0)