我现在正在使用CC2530,遇到一个问题,采用SmartRF Flash Programmer烧写程序时候出现以下情况:
1、选择Erase,program and verify烧写.hex程序的时候,提示:CC2530-ID0050:Flash image is larger than chip's flash.
2、选择Read flash into hex,读取的.hex文件只有91KB大小(如果是工作正常的情况,读取的.hex文件应该在720KB的样子);
3、选择Read IEEE Primary 的时候读取的数据正常为:0x00 12 4B 00 02 04 33 95;
4、选择Read IEEE Secondary 的时候读取的数据正常为:0xFF FF FF FF FF FF FF FF,然后选择Write IEEE Secondary 烧写我指定的数据,再选择Read IEEE Secondary 的时候读取的数据还是:0xFF FF FF FF FF FF FF FF;
5、换用IAR 7.5.1调试程序,下载程序的时候出现校验错误,全是FF,不是要烧写的字节;
以上这个现象是出现在我新作的4层PCB板上,我以前用的是2层PCB板,同样的程序,同样的操作不会出现任何问题。
出现以上现象之后,我开始怀疑是芯片的问题,然后我就把一块4层板上的CC2530与一块测试正常的2层PCB板上的CC2530进行了互换,以前正常的2层PCB板上的CC2530换到4层板上,同样出现以上列的5个问题,而不正常的4层PCB板上CC2530在2层PCB板上就不出现以上列的5个问题。非常奇怪。
2层PCB板和4层PCB板的电路原理图都是一样的,只是为了获得更好的性能,把以前的2层PCB改为了4层PCB,因为我们最终定型的产品基本用的都是4层板。我对4层板上的CC2530用到的所有管脚做了仔细测试,连接都是正常的,供电也是正常的,晶振也是正常工作的。
zigbee部分的电路原理图采用的TI的标准原理图,基本没做什么改动,我的原理图见附件。
目前可以确定的几个问题是 IEEE Secondary 的页面在存储器的第127页也就是差不多256K的位置,所以肯定写不成功,为什么我的CC2530在这个板上就只能激活32K呢?很奇怪呀。
求高手解答!