微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 2541 掉电保存,使用内部flash读写问题

2541 掉电保存,使用内部flash读写问题

时间:10-02 整理:3721RD 点击:

hi all @Ti的工程师们

    各位大侠,目前有一个项目,是把2541当做普通的单片机使用,没有使用协议栈,想利用内部flash实现一个掉电保存的功能,只要存储3个字节就可以

查了一些资料 代码如下

static uint8 buf[4]={1,1,1,1};
 static uint8 flbuf[4]={0x00,0x00,0x00,0x00};
 HalFlashErase(0x40);    //擦除page--第64页
 while(FCTL & 0X80);  //等待擦除完毕
 HalFlashWrite(0x8000,buf,1); //写数据到指定的内存
 HalFlashRead(0x40,0x0000,flbuf,4); //读指定内存的内容。

读出来后flbuf的4个数都0xff,断电重启以后也是这个情况,应该是没有写成功吗?

是不是使用 HalFlashWrite前,还需要进行其它什么初始化 还是有其它限制?

我是在自建的工程里面把协议栈 和hal_flash.c 移植过去的

大家帮我看看问题出在哪里?谢谢!

 

CC254X系列Flash的读写请参考此帖: http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/69222.aspx?pi2132219853=2

首先谢谢你!

我看到连接里有两个写flash

第十二节中是使用外挂的flash

第19节中是介绍了 osal_snv_read和写函数osal_snv_write的使用

这两个都不是我想要的,osal_snv_read 、write 是要在使用协议栈的基础下才可以用的吧?我试着移植这部分代码,里面涉及的好复杂,代码都看的好晕,没有成功

后面查了资料,有人之前使用过  HalFlashWrite 和read  但是我却不成功,不知道问题在哪?

这个是资料链接

http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/17778.aspx

可以考虑用DMA操作模式!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top