大家好!
现在本人是针对CC2530的flash进行写操作,具体的是修改IEEE地址,遇到如下问题,敬请各位指教:
1)擦除和写操作只能在调试状态下运行成功,一旦烧写进板子之后用电源供电就无法实现,请教原因;
2)用TI的smartRF flash programmer进行程序的烧写,其中里的数据应该是哪个PAGE的内容,是第127个PAGE吗?具体的IEEE地址在什么位置?
拜托各位了,有什么想法和思路都可以提出来的,感激!
VV:
你好,
你读的这个是infomation page,这里面的东西是不允许用户去修改的,每一颗芯片出厂的时候是固化的。
你说的PAGE1-127,是指芯片中可以使用的Flash。
在CC2530里面有两个IEEE,Primary IEEE地址是无法修改的,这个值就是写在infomation page里面0x00C-0x014 8个字节
另外一个是Secondary IEEE,这个地址是可以修改的,可以在程序中通过Write/Read flash方式,或者用Flash Programmer来修改
这个Secondary IEEE位于Flash的127页的最后24~最后16个字节,就是用来存放IEEE地址的。
具体你可以看下程序比较清楚具体位置了
#define HAL_FLASH_IEEE_SIZE 8#define HAL_FLASH_IEEE_PAGE (HAL_NV_PAGE_END+1)#define HAL_FLASH_IEEE_OSET (HAL_FLASH_PAGE_SIZE – HAL_FLASH_LOCK_BITS – HAL_FLASH_IEEE_SIZE)#define HAL_INFOP_IEEE_OSET 0xC
huixia xu:
回复 VV:
你好,十分感谢你的回答。我需要改写的IEEE地址就是Secondary IEEE,之前帖子上所说的上电之后就无法修改也是针对这个地址的,正如您所说:这个地址是可以读写的,然而现在的问题就出在只能调试状态下进行改写,正常供电时是不可以对其进行改动的。
希望能尽快收到您的回复,谢谢!
VV:
回复 huixia xu:
你好,你的正常供电电压有没有问题,写Flash对电压要求会高一些。
gaoyang9992006:
回复 VV:
这个CC2530 secondary地址只能用flash programmer擦除,还是可以在程序里面也可以操作呢?之前看你说的好像是因为电压不足?是这样吗?