NAND flash读取ID函数为什么连续读五次读取*(vu8*)NAND_ADDRESS中的值

2019-07-20 04:32发布

        请教一下大神,在调试原子阿波罗429开发板的nandflash时候,为什么连续五次读取同一个地址的值,地址中存放的数据一直在变吗?

    //ID一共有5个字节
    deviceid[0]=*(vu8*)NAND_ADDRESS;      
    deviceid[1]=*(vu8*)NAND_ADDRESS;  
    deviceid[2]=*(vu8*)NAND_ADDRESS;
    deviceid[3]=*(vu8*)NAND_ADDRESS;
    deviceid[4]=*(vu8*)NAND_ADDRESS;  

    //镁光的NAND FLASH的ID一共5个字节,但是为了方便我们只取4个字节组成一个32位的ID值
    //根据NAND FLASH的数据手册,只要是镁光的NAND FLASH,那么一个字节ID的第一个字节都是0X2C
    //所以我们就可以抛弃这个0X2C,只取后面四字节的ID值。
    id=((u32)deviceid[1])<<24|((u32)deviceid[2])<<16|((u32)deviceid[3])<<8|deviceid[4];
    return id;




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