TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2530: 使用DMA写FLASH的问题

Part Number:CC2530

你好,

我需要向cc2530的flash的特定地址写一个8位的数据,但是在调用HalFlashWrite(uint16 addr, uint8 *buf, uint16 cnt)函数时,我发现addr是16位的,看过手册之后我发现addr被拆开赋给了FADDRH和FADDRL,这两个寄存器加起来也是16位,但是FLASH的大小是256KB,地址范围应该是0x00000~0X3FFFF,这至少需要18位的数据才能表示啊,请问要怎么实现对FLASH特定地址的写操作呢

Alex Zhang:

https://blog.csdn.net/crystal736/article/details/8730111

希望这个可以帮助到您

,

Alex Zhang:

值得注意的是 len:写入长度,注意是字节数/4。比如写入单条日志是12字节,len就是3。

,

?? ?:

非常感谢您的回复,在手册中描述到FADDRH:FADDRL是取18位地址的16MSB,这和文章中描述的一致,但是根据手册,只对flash进行写操作的话好像并不需要先将flash的对应bank映射到xdata,文章中的似乎描述的有误,将入口参数中的18位地址取高16位后我的问题得到了解决

,

Alex Zhang:

好的,很高兴可以解决您的问题,谢谢。

有问题论坛随时交流

赞(0)
未经允许不得转载:TI中文支持网 » CC2530: 使用DMA写FLASH的问题
分享到: 更多 (0)