OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6243|回复: 19

nand flash 移植

[复制链接]

260

主题

809

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1896
金钱
1896
注册时间
2012-10-28
在线时间
357 小时
发表于 2016-12-13 09:54:44 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 hpdell 于 2016-12-19 14:11 编辑

最近把历程的 nand flash 程序移植到 MT29F32G08CBACA 这个芯片上,出现如下问题,

如果单独使用如下函数进行测试是是正常的,

  FTL_Init() ;

  NAND_EraseBlock(4000);

    uint32_t RWDataSize = 8192 * 4;
  uint8_t  * nand_F_tx_buff =  (uint8_t  *)mymalloc(SRAMEX, RWDataSize );        
  uint8_t  * nand_F_rx_buff =  (uint8_t  *)mymalloc(SRAMEX, RWDataSize );        
  uint8_t i=0;
  for(cc=0; cc < RWDataSize; cc++)
  {
    nand_F_tx_buff[cc] = i * 2 ;
    nand_F_rx_buff[cc] = 0;
    i ++;
  }  

  NAND_WritePage( 4000, 6, &nand_F_tx_buff[0], 512);
  NAND_ReadPage(4000, 6, &nand_F_rx_buff[0], 512);   

  if( Buffercmp_8(&nand_F_tx_buff[0], &nand_F_rx_buff[0], 512) == 0)
    printf("NAND Data Read Write 8192 * 4 Test OK     ...  DD \r\n\r\n");
  else
    printf("NAND Data Read Write 8192 * 4 Test Error  ...  EE \r\n\r\n");   


  myfree(SRAMEX, nand_F_tx_buff);
  myfree(SRAMEX, nand_F_rx_buff);

上述测试是OK的

但是如果使用LUT功能建立分区表 就出错,格式化也是出错,也就是如下函数
u8 FTL_CreateLUT(u8 mode)

另外  hnand1.Init.ECCPageSize = FMC_NAND_ECC_PAGE_SIZE_1024BYTE;       //ECC页大小为1024字节 这个我配置是1024字节,根据资料介绍是1024字节,还有

还有#define NAND_ECC_SECTOR_SIZE                1024                        //执行ECC计算的单元大小,默认1024字节 我也改成了1024,

不知道其他的是否还需要修改啊 ???

mt29f32g08cbaca芯片的ecc资料介绍:
mt29f32g08-ecc.png

mt29f4g08abada芯片的ecc资料介绍:
mt29f4g08abada-ecc.png
还有这个地方的 i = nand_dev.page_mainsize + 0X10 + eccstart * 4;        //计算写入ECC的spare区地址   0X10是怎么得来的啊   ???????





最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-12-13 09:54:45 | 显示全部楼层
hpdell 发表于 2016-12-26 14:31
你好,目前我这个 nand flash 芯片是MLC的,不知道 stm是否支持啊,但是看stm资料貌似只支持 SLC 的nand  ...

不支持MLC啊。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

17

主题

142

帖子

0

精华

高级会员

Rank: 4

积分
897
金钱
897
注册时间
2016-2-16
在线时间
162 小时
发表于 2016-12-15 15:35:09 来自手机 | 显示全部楼层
楼主有stm32f407
回复

使用道具 举报

17

主题

142

帖子

0

精华

高级会员

Rank: 4

积分
897
金钱
897
注册时间
2016-2-16
在线时间
162 小时
发表于 2016-12-15 15:36:25 来自手机 | 显示全部楼层
楼主有stm32f407通过fsmc访问nand flash的例程嘛
回复

使用道具 举报

260

主题

809

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1896
金钱
1896
注册时间
2012-10-28
在线时间
357 小时
 楼主| 发表于 2016-12-16 09:19:24 | 显示全部楼层
本帖最后由 hpdell 于 2016-12-16 09:22 编辑
hbyue 发表于 2016-12-15 15:36
楼主有stm32f407通过fsmc访问nand flash的例程嘛

你好,正点原子就有啊,我也是使用它们的历程来改的啊, 但是目前移植到 这个 MT29f32g08的芯片上面也还没有成功哟,你有什么好的建议啊 ???
回复

使用道具 举报

260

主题

809

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1896
金钱
1896
注册时间
2012-10-28
在线时间
357 小时
 楼主| 发表于 2016-12-16 09:19:42 | 显示全部楼层

有429的哟
回复

使用道具 举报

17

主题

142

帖子

0

精华

高级会员

Rank: 4

积分
897
金钱
897
注册时间
2016-2-16
在线时间
162 小时
发表于 2016-12-17 14:21:41 | 显示全部楼层
本帖最后由 hbyue 于 2016-12-17 14:22 编辑

我是在STM32F103的fsmc nand.c,fsmc nand.H上更改的
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-12-17 16:40:22 | 显示全部楼层
是我们开发板?还是你自己设计的硬件?
回复

使用道具 举报

17

主题

142

帖子

0

精华

高级会员

Rank: 4

积分
897
金钱
897
注册时间
2016-2-16
在线时间
162 小时
发表于 2016-12-17 19:14:05 | 显示全部楼层
正点原子 发表于 2016-12-17 16:40
是我们开发板?还是你自己设计的硬件?

自己开发的,通过FSMC总线访问NAND FLASH,不过电路都是大致相同。
回复

使用道具 举报

260

主题

809

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1896
金钱
1896
注册时间
2012-10-28
在线时间
357 小时
 楼主| 发表于 2016-12-17 19:26:45 | 显示全部楼层
正点原子 发表于 2016-12-17 16:40
是我们开发板?还是你自己设计的硬件?

我是吧你们的历程 程序移植到到我的工程上,

我现在的的芯片时 MT29F32G08, 不过这个芯片 的 spare 是 1024,不知道 除了上述我提到的地方外,还有哪些需要修改的啊 ??
回复

使用道具 举报

260

主题

809

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1896
金钱
1896
注册时间
2012-10-28
在线时间
357 小时
 楼主| 发表于 2016-12-19 20:40:20 | 显示全部楼层
看来这个帖子要石城大海了啊 ???????????????????

难道大家使用的 ECC 都是 512Byte的莫 ??????????????????
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-12-26 01:01:56 | 显示全部楼层
hpdell 发表于 2016-12-17 19:26
我是吧你们的历程 程序移植到到我的工程上,

我现在的的芯片时 MT29F32G08, 不过这个芯片 的 spare  ...

spare区不影响的
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

260

主题

809

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1896
金钱
1896
注册时间
2012-10-28
在线时间
357 小时
 楼主| 发表于 2016-12-26 14:31:46 | 显示全部楼层

你好,目前我这个 nand flash 芯片是MLC的,不知道 stm是否支持啊,但是看stm资料貌似只支持 SLC 的nand flash
我现在如果不使用 ecc 功能的话,读写完全没有问题,但是使用 ecc spare 功能就不行了
回复

使用道具 举报

260

主题

809

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1896
金钱
1896
注册时间
2012-10-28
在线时间
357 小时
 楼主| 发表于 2016-12-28 11:41:35 | 显示全部楼层

原来如此啊,看来还是得更换 SLC 系列的nand flash 芯片了
回复

使用道具 举报

17

主题

142

帖子

0

精华

高级会员

Rank: 4

积分
897
金钱
897
注册时间
2016-2-16
在线时间
162 小时
发表于 2017-1-2 08:56:53 来自手机 | 显示全部楼层
MLC的芯片CE,RB,WP外设各有2个,STM32F4没有那么多接口
回复

使用道具 举报

260

主题

809

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1896
金钱
1896
注册时间
2012-10-28
在线时间
357 小时
 楼主| 发表于 2017-1-3 09:51:50 | 显示全部楼层
hbyue 发表于 2017-1-2 08:56
MLC的芯片CE,RB,WP外设各有2个,STM32F4没有那么多接口

你好,这个 NAND Flash 的资料说明,型号是MT29F32G08CBACA

Part Number.png


Part Number-2.png

看上面的介绍说是什么 die 为双时,RB2 , CE2 需要使用,但是我目前使用的 die是为1啊,应该 这个 RB2, CE2不需要使用了吧 ???!!





回复

使用道具 举报

17

主题

142

帖子

0

精华

高级会员

Rank: 4

积分
897
金钱
897
注册时间
2016-2-16
在线时间
162 小时
发表于 2017-1-8 11:34:49 | 显示全部楼层
hpdell 发表于 2017-1-3 09:51
你好,这个 NAND Flash 的资料说明,型号是MT29F32G08CBACA

应该是的,看手册
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2017-11-10
在线时间
2 小时
发表于 2017-11-11 17:00:52 | 显示全部楼层
大神啊,帮帮我呗,我在f407的板子上通过fsmc扩展nandflash id读取错误。
回复

使用道具 举报

5

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2017-11-7
在线时间
10 小时
发表于 2017-11-13 14:42:08 | 显示全部楼层
hbyue 发表于 2016-12-17 14:21
我是在STM32F103的fsmc nand.c,fsmc nand.H上更改的

你好,我用的103,更改不成功啊,请问可以把你的发给我看看吗,811838514@qq.com
回复

使用道具 举报

0

主题

5

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2018-12-24
在线时间
3 小时
发表于 2018-12-27 11:11:57 | 显示全部楼层

Hi ,原子哥。对于你们 FTL的代码和教程,我有个疑惑,当FATFS 重复写同一个sector时,那这个sector对应nandflash page里面原先的数据如何处理?是直接进行覆盖吗?需不需要对比下原有数据和重复写入的数据,然后进行合并后写入数据?

我在调试时发现FATFS会重复写一个sector。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 11:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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