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.

CC2530的flash不能随意加锁和解锁么

Other Parts Discussed in Thread: CC2530

请问下大神:cc2530的flash不能随意的加锁和解锁么?

现象:设备随意的断电上电操作有可能会造成NV区数据丢失:

一批设备全部开启NV_RESTORE和NV_INIT,且已加入协调器组建的网络;某一时刻同时断电所有设备,然后过段时间在同时上电所有设备,会有一些设备无法通讯;抓包发现其网络PANID变化,导致不在同一网络。必须手动去清除,重新加网。

显然这样的操作是不可能的,因为我们的设备是在网络上销售。

预解决方法:怀疑是由于上电的时候,电源对设备的冲击导致设备flash被篡改(当然这仅仅是个猜测,因为还有DC-5V(干扰较小)供电的设备,其PANID也变化);

所以打算上电时加锁flash,稳定运行后解锁;

但是,我使用这个函数直接操作16位的lock bit,发现加锁和解锁根本不能配套起来使用。

uint8 unlock[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255};

uint8 lock[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x80};

HalFlashWrite(0xFFFF-3, unlock, 16);

HalFlashWrite(0xFFFF-3, lock, 16);

请问下该问题如何解决?

该问题加急~~~~~~~~~~~~~~~~~