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

2019-07-20 03:37发布

本帖最后由 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;



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。