完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
各位大师:
大家好!第一次发帖,请多多包涵。 本人最近在做一个项目:利用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地址软件改动的流程是不是合理正确的? 拜托各位了,这个项目时间很紧,本人纯属开发届菜鸟,还请各位多多指教,给些建议和想法,多谢多谢! |
|
相关推荐
2 个讨论
|
|
这个问题已经解决了,解答如下:
1.CC2530的flash是在CPU方式写的时候要将代码复制到SRAM中,这个过程也是十分的繁琐,所以一般不建议采用CPU写方式; 2.采用DMA方式,可以在运行时改写flash(网上有些帖子有误),按照CC2530的用户手册上的步骤写flash—— (1)先设置将要使用的信道(0-4)地址DMAxCFGH:DMAxCFGL,这也是我上述问题的关键点,一定是先配置好信道地址。详见datasheet里8.3节; (2)然后指定所使用的信道,对DMA Configuration Data Structure进行配置,并且“arm and active”; (3)写操作 3.具体的代码,可以参照Z-STACK里的writeflash(),但是它之前已经对DMA的初始化了,自己写的话还是需要要增加步骤(1)的; 希望对有需要的人以帮助,谢谢捧场! |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
348 浏览 1 评论
543 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
787 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
658 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1140 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
77浏览 29评论
260浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
261浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
209浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
67浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 21:59 , Processed in 1.037005 second(s), Total 52, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号