您的位置:首页 > 其它

mini2440移植fatFS 0.1时,识别带有MBR的SD卡文件系统,产生错误原因

2015-12-05 20:18 302 查看

首先我们知道S3C2440访问32bit变量时,必须4字节对齐。如果SD卡存在MBR,在读取MBR完成后,第一个分区的扇区地址在0x1c6处,不是4字节对齐的,

而宏LD_DWORD(ptr) 定义为#defineLD_DWORD(ptr)(*(DWORD*)(BYTE*)(ptr))。当物理0扇区内容如图1时,而使用LD_DWORD(0x1c6)得到的内容

为0xc0f02000,不是正确的0x0002000。因此需要重新定义LD_DWORD(ptr)。产生错无的原因认为是地址对齐的关系,可是为什么会出现0xc0f00200确没有

明白。

图1 物理扇区0内容
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: