OpenEdv-开源电子网

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

阿波罗F429综合实验自检NAND错误

[复制链接]

0

主题

3

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2021-9-30
在线时间
7 小时
发表于 2021-11-26 11:22:32 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 szmujin 于 2021-11-26 11:29 编辑

阿波罗STM32F429IGT6核心板用MT29F4G08ABAEA综合实验自检NAND错误,是NAND芯片问题吗?
还是MT29F4G08ABAEA和MT29F4G08ABADA不能通用的问题?




NADA error

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

使用道具 举报

1

主题

385

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1023
金钱
1023
注册时间
2019-9-21
在线时间
269 小时
发表于 2021-11-26 18:10:42 | 显示全部楼层
烧录的是最新的综合例程吗?
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2021-9-30
在线时间
7 小时
 楼主| 发表于 2021-11-27 10:24:04 | 显示全部楼层
是最新例程 MT29F4G08ABADA这个能正常,MT29F4G08ABAEA这个就不行,不知道是不是这2个片子驱动不兼容,本人小白一个
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2021-11-27 23:16:42 | 显示全部楼层
szmujin 发表于 2021-11-27 10:24
是最新例程 MT29F4G08ABADA这个能正常,MT29F4G08ABAEA这个就不行,不知道是不是这2个片子驱动不兼容, ...

你自己换了芯片么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2021-11-29
在线时间
0 小时
发表于 2021-11-29 18:08:58 | 显示全部楼层
有经常使用stm32h743iit6和 stm32f429iit6这两个型号MCU的研发兄弟,如在开发测试需要和项目量产过程中需遇到采购相关的问题和困难,可留言与我联系,也许我能帮助您解决这类问题。如有需要,欢迎加微信(xuanran-1031)进一步沟通,谢谢!
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2021-9-30
在线时间
7 小时
 楼主| 发表于 2021-11-30 07:45:14 | 显示全部楼层
正点原子 发表于 2021-11-27 23:16
你自己换了芯片么?

是的,我自己画了块板子,用AEA的发现不能直接用官方例程,换ADA的正常,AEA要改代码的,正在研究中
回复

使用道具 举报

1

主题

50

帖子

0

精华

高级会员

Rank: 4

积分
805
金钱
805
注册时间
2012-7-19
在线时间
111 小时
发表于 2021-12-2 16:08:09 | 显示全部楼层
szmujin 发表于 2021-11-27 10:24
是最新例程 MT29F4G08ABADA这个能正常,MT29F4G08ABAEA这个就不行,不知道是不是这2个片子驱动不兼容, ...

之前我也遇到这样的问题,两个芯片的寄存器值不一样,需要改一下,就是初始化时读取芯片内部寄存器的时候。
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2021-9-30
在线时间
7 小时
 楼主| 发表于 2021-12-8 16:44:57 | 显示全部楼层
leoo 发表于 2021-12-2 16:08
之前我也遇到这样的问题,两个芯片的寄存器值不一样,需要改一下,就是初始化时读取芯片内部寄存器的时候 ...

大佬,改过的代码能分享下吗,感谢
回复

使用道具 举报

1

主题

50

帖子

0

精华

高级会员

Rank: 4

积分
805
金钱
805
注册时间
2012-7-19
在线时间
111 小时
发表于 2021-12-22 15:35:20 | 显示全部楼层
szmujin 发表于 2021-12-8 16:44
大佬,改过的代码能分享下吗,感谢

修改Nand初始化的代码,增加新的IC识别就可以
  1. //初始化NAND FLASH
  2. u8 NAND_Init(void)
  3. {
  4.     FMC_NAND_PCC_TimingTypeDef ComSpaceTiming,AttSpaceTiming;
  5.                                              
  6.     NAND_Handler.Instance=FMC_NAND_DEVICE;
  7.     NAND_Handler.Init.NandBank=FMC_NAND_BANK3;                          //NAND挂在BANK3上
  8.     NAND_Handler.Init.Waitfeature=FMC_NAND_PCC_WAIT_FEATURE_DISABLE;    //关闭等待特性
  9.     NAND_Handler.Init.MemoryDataWidth=FMC_NAND_PCC_MEM_BUS_WIDTH_8;     //8位数据宽度
  10.     NAND_Handler.Init.EccComputation=FMC_NAND_ECC_DISABLE;              //不使用ECC
  11.     NAND_Handler.Init.ECCPageSize=FMC_NAND_ECC_PAGE_SIZE_2048BYTE;      //ECC页大小为2k
  12.     NAND_Handler.Init.TCLRSetupTime=0;                                  //设置TCLR(tCLR=CLE到RE的延时)=(TCLR+TSET+2)*THCLK,THCLK=1/180M=5.5ns
  13.     NAND_Handler.Init.TARSetupTime=1;                                   //设置TAR(tAR=ALE到RE的延时)=(TAR+TSET+2)*THCLK,THCLK=1/180M=5.5n。   
  14.    
  15.     ComSpaceTiming.SetupTime=2;         //建立时间
  16.     ComSpaceTiming.WaitSetupTime=3;     //等待时间
  17.     ComSpaceTiming.HoldSetupTime=2;     //保持时间
  18.     ComSpaceTiming.HiZSetupTime=1;      //高阻态时间
  19.    
  20.     AttSpaceTiming.SetupTime=2;         //建立时间
  21.     AttSpaceTiming.WaitSetupTime=3;     //等待时间
  22.     AttSpaceTiming.HoldSetupTime=2;     //保持时间
  23.     AttSpaceTiming.HiZSetupTime=1;      //高阻态时间
  24.    
  25.     HAL_NAND_Init(&NAND_Handler,&ComSpaceTiming,&AttSpaceTiming);
  26.     NAND_Reset();                               //复位NAND
  27.     delay_ms(100);
  28.     nand_dev.id=NAND_ReadID();                //读取ID
  29.         printf("nand_dev.id=%x ,MT29F4G08ABADA=%x,MT29F16G08ABABA=%x\r\n",nand_dev.id,MT29F4G08ABADA,MT29F16G08ABABA);
  30.         NAND_ModeSet(4);                                //设置为MODE4,高速模式
  31.     if(nand_dev.id==MT29F16G08ABABA)    //NAND为MT29F16G08ABABA
  32.     {
  33.         nand_dev.page_totalsize=4320;          //nand一个page的总大小(包括spare区)     
  34.         nand_dev.page_mainsize=4096;           //nand一个page的有效数据区大小   
  35.         nand_dev.page_sparesize=224;        //nand一个page的spare区大小
  36.         nand_dev.block_pagenum=128;                //nand一个block所包含的page数目
  37.         nand_dev.plane_blocknum=2048;        //nand一个plane所包含的block数目
  38.         nand_dev.block_totalnum=4096;          //nand的总block数目  
  39.     }
  40.     else if(nand_dev.id==MT29F4G08ABADA)//NAND为MT29F4G08ABADA
  41.     {
  42.         nand_dev.page_totalsize=2112;        //nand一个page的总大小(包括spare区)
  43.         nand_dev.page_mainsize=2048;         //nand一个page的有效数据区大小
  44.         nand_dev.page_sparesize=64;                //nand一个page的spare区大小
  45.         nand_dev.block_pagenum=64;                //nand一个block所包含的page数目
  46.         nand_dev.plane_blocknum=2048;        //nand一个plane所包含的block数目
  47.         nand_dev.block_totalnum=4096;         //nand的总block数目
  48.     }
  49.         else if(nand_dev.id==MT29F4G08ABAEA)//NAND为MT29F4G08ABAEA
  50.     {
  51.         nand_dev.page_totalsize=2112;        //nand一个page的总大小(包括spare区)
  52.         nand_dev.page_mainsize=2048;         //nand一个page的有效数据区大小
  53.         nand_dev.page_sparesize=64;                //nand一个page的spare区大小
  54.         nand_dev.block_pagenum=64;                //nand一个block所包含的page数目
  55.         nand_dev.plane_blocknum=2048;        //nand一个plane所包含的block数目
  56.         nand_dev.block_totalnum=4096;         //nand的总block数目
  57.     }else return 1;        //错误,返回
  58.     return 0;
  59. }
复制代码
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 09:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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