OpenEdv-开源电子网

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

阿波罗F429核心板改nand flash 原子原来是MT29F4G08ABADA改成MT29F4G08ABAEA固件 nand.h.c做些许修改

[复制链接]

164

主题

1230

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1477
金钱
1477
注册时间
2014-5-21
在线时间
342 小时
发表于 2018-12-14 14:49:26 | 显示全部楼层 |阅读模式
本帖最后由 cornrn 于 2018-12-14 14:50 编辑

阿波罗F429核心板改nand flash 原子原来是MT29F4G08ABADA改成MT29F4G08ABAEA固件 nand.h.c做些许修改。MT29F4G08时候没太关心尾缀,没晓得区别挺大。买了个MT29F4G08ABAEA焊接上去发现不行,自己看datasheet发现真不一样

4.JPG 3.JPG
修改固件如下:


1.JPG 2.JPG


//NAND FLASH型号和对应的ID号
#define MT29F4G08ABADA                        0XDC909556        //MT29F4G08ABADA
#define MT29F4G08ABAEA                        0XDC90A654        //MT29F4G08ABAEA
#define MT29F16G08ABABA                        0X48002689        //MT29F16G08ABABA


    if(nand_dev.id==MT29F16G08ABABA)    //NAND为MT29F16G08ABABA
    {
        nand_dev.page_totalsize=4320;          //nand一个page的总大小(包括spare区)     
        nand_dev.page_mainsize=4096;           //nand一个page的有效数据区大小   
        nand_dev.page_sparesize=224;        //nand一个page的spare区大小
        nand_dev.block_pagenum=128;                //nand一个block所包含的page数目
        nand_dev.plane_blocknum=2048;        //nand一个plane所包含的block数目
        nand_dev.block_totalnum=4096;          //nand的总block数目  
    }
    else if(nand_dev.id==MT29F4G08ABADA)//NAND为MT29F4G08ABADA
    {
        nand_dev.page_totalsize=2112;        //nand一个page的总大小(包括spare区)
        nand_dev.page_mainsize=2048;         //nand一个page的有效数据区大小
        nand_dev.page_sparesize=64;                //nand一个page的spare区大小
        nand_dev.block_pagenum=64;                //nand一个block所包含的page数目
        nand_dev.plane_blocknum=2048;        //nand一个plane所包含的block数目
        nand_dev.block_totalnum=4096;         //nand的总block数目
    }
                else if(nand_dev.id==MT29F4G08ABAEA)//NAND为MT29F4G08ABAEA
    {
        nand_dev.page_totalsize=4320;        //nand一个page的总大小(包括spare区)
        nand_dev.page_mainsize=4096;         //nand一个page的有效数据区大小
        nand_dev.page_sparesize=224;                //nand一个page的spare区大小
        nand_dev.block_pagenum=64;                //nand一个block所包含的page数目
        nand_dev.plane_blocknum=1024;        //nand一个plane所包含的block数目
        nand_dev.block_totalnum=2048;         //nand的总block数目
    }else return 1;        //错误,返回
    return 0;



m60a_automotive_4Gb_ecc_nand.pdf

1.63 MB, 下载次数: 57

m70m_4gb_nand.pdf

1.2 MB, 下载次数: 58

彼高丽者,边夷贱类,不足待以仁义,不可责以常礼。古来以鱼鳖畜之,宜从阔略。若必欲绝其种类,恐兽穷则搏。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

91

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1091
金钱
1091
注册时间
2017-11-7
在线时间
311 小时
发表于 2018-12-14 19:32:17 | 显示全部楼层
回复 支持 反对

使用道具 举报

164

主题

1230

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1477
金钱
1477
注册时间
2014-5-21
在线时间
342 小时
 楼主| 发表于 2019-2-15 15:40:02 | 显示全部楼层
发工程文件。

实验62 综合测试实验 修改支持EA.rar

7.36 MB, 下载次数: 340

彼高丽者,边夷贱类,不足待以仁义,不可责以常礼。古来以鱼鳖畜之,宜从阔略。若必欲绝其种类,恐兽穷则搏。
回复 支持 反对

使用道具 举报

4

主题

91

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1091
金钱
1091
注册时间
2017-11-7
在线时间
311 小时
发表于 2019-2-21 19:43:05 | 显示全部楼层
本帖最后由 hycrgqb 于 2019-2-21 23:03 编辑

u8 NAND_EraseBlock(u32 BlockNum)
{
        if(nand_dev.id==MT29F16G08ABABA)BlockNum<<=7;          //将块地址转换为页地址
    else if(nand_dev.id==MT29F4G08ABADA)BlockNum<<=6;
    *(vu8*)(NAND_ADDRESS|NAND_CMD)=NAND_ERASE0;
    //发送块地址
    *(vu8*)(NAND_ADDRESS|NAND_ADDR)=(u8)BlockNum;
    *(vu8*)(NAND_ADDRESS|NAND_ADDR)=(u8)(BlockNum>>8);
    *(vu8*)(NAND_ADDRESS|NAND_ADDR)=(u8)(BlockNum>>16);
    *(vu8*)(NAND_ADDRESS|NAND_CMD)=NAND_ERASE1;
        if(NAND_WaitForReady()!=NSTA_READY)return NSTA_ERROR;//失败
    return 0;        //成功   
这个函数没改,格式化NAND会出错,改为:
        if(nand_dev.id==MT29F16G08ABABA)BlockNum<<=7;          //将块地址转换为页地址
    else if(nand_dev.id==MT29F4G08ABADA)BlockNum<<=6;
else if(nand_dev.id==MT29F4G08ABAEA)BlockNum<<=6;
回复 支持 反对

使用道具 举报

164

主题

1230

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1477
金钱
1477
注册时间
2014-5-21
在线时间
342 小时
 楼主| 发表于 2019-2-23 15:42:11 | 显示全部楼层
hycrgqb 发表于 2019-2-21 19:43
u8 NAND_EraseBlock(u32 BlockNum)
{
        if(nand_dev.id==MT29F16G08ABABA)BlockNum16);

嗯,是的。工程文件里面是对的
彼高丽者,边夷贱类,不足待以仁义,不可责以常礼。古来以鱼鳖畜之,宜从阔略。若必欲绝其种类,恐兽穷则搏。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2019-2-27
在线时间
4 小时
发表于 2019-2-27 08:48:51 | 显示全部楼层
不错了,厉害
回复 支持 反对

使用道具 举报

0

主题

109

帖子

0

精华

初级会员

Rank: 2

积分
164
金钱
164
注册时间
2019-1-29
在线时间
4 小时
发表于 2019-2-27 14:43:26 | 显示全部楼层
谢谢分享,学习一下!
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2019-7-30
在线时间
8 小时
发表于 2019-9-2 17:23:33 | 显示全部楼层
谢谢分享handshake, 正在做类似项目。
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2019-7-30
在线时间
8 小时
发表于 2019-9-3 10:17:40 | 显示全部楼层
想知道NAND通讯方式在哪里配置的?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-16 06:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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