各位大师:
大家好!第一次发帖,请多多包涵。
本人最近在做一个项目:利用CC2530F256芯片进行开发,其中要求功能之一为对射频芯片的IEEE地址进行软件修改,即对flash的write操作;看了许多帖子总结出如下几点:
1.IEEE地址在flash里的0x3FFE8–0x3FFEF处,对该区域内容进行修改;
2.不能在运行程序时写flash,应该将write代码复制到sram中:HalFlashRead(PAGE_OF_RAM_CODE, OSET_OF_RAM_CODE, ramCode, SIZE_OF_RAM_CODE);
其中,#define PAGE_OF_RAM_CODE 51 #define OSET_OF_RAM_CODE 0x6DD #define SIZE_OF_RAM_CODE 0x23
这是参考Z-STACK里的配置来的(问题的源头!!!!),但我又不知道代码是从哪个地址复制过来的,
链接文件使用的是默认的F256.xcl,
尝试了使用Z-STACK里的f8w2530.xcl,结果程序完全瘫痪;
3.调用HalFlashWrite(),该函数调用了触发write flash的核心代码(复制到sram里的代码)
HalFlashErase(0x7F); writeWord(0x7F, 0x7E8, nID ); —-写之前先擦除
结果,报错
所以,发个帖子请教各位高手,问题如下:
1)CC2530F256的内存配置是不是可以通用Z-Stack里面的CC2530内存配置,具体的RAM_CODE_FLASH和RAM_CODE_XDATA起止地址应该为多少,如何对.xcl文件进行相应修改?
2)对IEEE地址软件改动的流程是不是合理正确的?
拜托各位了,这个项目时间很紧,本人纯属开发届菜鸟,还请各位多多指教,给些建议和想法,多谢多谢!
ben wang:
回复 huixia xu:
牛,收藏,以后应该会用到