iar保存某页不被擦除

iar保存某页不被擦除

cc2530最大页128页  每页2K  256KB的地址是从0x00000H ------0x3FFFFH   0x0000-0x0089 存放中断向量ISR  0x0090-0x3F7FF是Application Code  其中 0x3C800-0x3F7FF是NV空间 (页121-126)   0x3F800-3FFFF是Lock page

NV空间0x0401到0xFFF是ItemID,并不能映射到flash上,在页121-126随机存放,所以想保留只能把这几页全保留了

Nv条目(item),每一个item都有自己的ID:

0x0000                              保留

    0x0001~0x0020              操作系统抽象层(OSAL)

    0x0021~0x0040              网络层(NWK)

    0x0041~0x0060              应用程序支持子层(APS)

    0x0061~0x0080              安全(Security)

    0x0081~0x00A0             Zigbee设备对象(ZDO)

    0x00A1~0x0200             保留

    0x0201~0x0FFF              应用程序

    0x1000~0xFFFF              保留

参考  : NV操作的机制,是通过追加的方式来实现的,每次需要写数据的时候写到之前写过的最后面,然后把原先那个标志为废弃,等到废弃的Flash等于一个page的时候,再一次性擦除。  

之前写过应该是掉电前写的同一个item的内容,不是不同item的内容,否则六页只用一页就够了

 

如果生成可以烧录的hex,要选‘other’,但是不能打断点了

 

iar保存某页不被擦除