STARTWARE NANDFLASH读写 - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6812|回复: 11
打印 上一主题 下一主题

STARTWARE NANDFLASH读写

[复制链接]

7

主题

24

帖子

1141

积分

金牌会员

Rank: 6Rank: 6

积分
1141
跳转到指定楼层
楼主
发表于 2016-8-19 16:10:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想知道例程中nandflash最后读写到那个内存空间,掉电后这块内存空间能不能保存之前写入的数据,如果要实现掉电后仍保存数据并读取出来应该怎么做呢?
求大神指导,现在我实验的内存空间是不能掉电保存的,求大家帮帮我
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
沙发
发表于 2016-8-19 18:36:26 | 只看该作者
例程是需要从串口手动输入写入的地址的啊 肯定可以断电保存啊
回复 支持 反对

使用道具 举报

7

主题

24

帖子

1141

积分

金牌会员

Rank: 6Rank: 6

积分
1141
板凳
 楼主| 发表于 2016-8-24 09:38:07 | 只看该作者
希望缄默 发表于 2016-8-19 18:36
例程是需要从串口手动输入写入的地址的啊 肯定可以断电保存啊

如果要使用默认地址,断电后要怎么取出来数据呢?rxdata[]里面是空的啊
回复 支持 反对

使用道具 举报

7

主题

24

帖子

1141

积分

金牌会员

Rank: 6Rank: 6

积分
1141
地板
 楼主| 发表于 2016-8-25 09:41:52 | 只看该作者
我没有用串口输入块,页和页数,而使用了默认的地址读写






现在这里有个疑问,这是写入数据的内存地址吗?


所以我先定义了这个地址


运行时,memory browse运行时这个地址的数字变化


之后运行完了就变成这样了


最后断电重启以后就是这样




所以我现在疑问是写入的数据的地址是哪里?如果我找对了,那么为什么会产生上面三幅图的这种变化,断电以后数据为什么没有了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

NandFlash 没有地址线 不能通过 EMIF 内存映射地址读写  详情 回复 发表于 2016-8-25 13:45
回复 支持 反对

使用道具 举报

7

主题

24

帖子

1141

积分

金牌会员

Rank: 6Rank: 6

积分
1141
5#
 楼主| 发表于 2016-8-25 10:46:15 | 只看该作者
先执行nandwrite


eccData变为这样


执行nandread

此时没有问题,可以把数据读出来

断电后重启eccData变为这样


执行nandread后变为这样

读不出来之前存入的数据了
为什么啊





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

确认操作 首先要正确初始化 NandFlashRxData 即存储读回来数据数组 NAND_DEFAULT_BLK 读取块 NAND_DEFAULT_START_PAGE 读取页 retVal= NANDPageRead(&nandInfo, NAND_DEFAULT_BLK, NAND_DEFAULT_START_PAGE, &NandF  详情 回复 发表于 2016-8-25 13:48
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
6#
发表于 2016-8-25 13:45:18 | 只看该作者
ThirstyBoyEager 发表于 2016-8-25 09:41
我没有用串口输入块,页和页数,而使用了默认的地址读写

NandFlash 没有地址线 不能通过 EMIF 内存映射地址读写
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
7#
发表于 2016-8-25 13:48:00 | 只看该作者

确认操作 首先要正确初始化
NandFlashRxData 即存储读回来数据数组
NAND_DEFAULT_BLK 读取块
NAND_DEFAULT_START_PAGE 读取页
retVal= NANDPageRead(&nandInfo, NAND_DEFAULT_BLK, NAND_DEFAULT_START_PAGE, &NandFlashRxData[0],
       &NandFlashECCData[0]);
if(retVal != NAND_STATUS_PASSED)
{
  UARTPuts(&uart0cfg, "Failed.", -1);
}
else
{
  UARTPuts(&uart0cfg, "Passed.", -1);
}
回复 支持 反对

使用道具 举报

7

主题

24

帖子

1141

积分

金牌会员

Rank: 6Rank: 6

积分
1141
8#
 楼主| 发表于 2016-9-5 19:41:53 | 只看该作者

之前的问题解决了,现在出现了EDMA 传输错误,我现在很疑惑,如果我前面用麦克以edma方式来不停地传输数据,后面再将数据保存到nand里面会起冲突吗?这是不是因为这个原因呢?起了怎么解决呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

7

主题

24

帖子

1141

积分

金牌会员

Rank: 6Rank: 6

积分
1141
9#
 楼主| 发表于 2016-9-5 19:52:07 | 只看该作者

main函数里面部分


补充:
这是我前面麦克使用的EDMA程序,麦克收发数据是连续不间断的,会不会影响后面的存储进NAND的edma的使用所以报错,如果是要怎么解决呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

检查 EDMA3 通道是否冲突  详情 回复 发表于 2016-9-6 08:59
回复 支持 反对

使用道具 举报

15

主题

1357

帖子

4579

积分

创龙

Rank: 8Rank: 8

积分
4579
10#
发表于 2016-9-6 08:59:56 | 只看该作者

检查 EDMA3 通道是否冲突
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-5-14 11:07 , Processed in 0.041436 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表