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内容
相关文章推荐
- 总结:request.setAttribute()、session.setAttribute()和request.getParameter()的联系与区别
- 1006.换个格式输出整数
- 七大排序算法之插入排序
- 【总结】你所不知道的Java序列化
- 宏定义中的"#"和"##"符号
- Openstack在Centos上安装--(二)Mysql和RabbitMQ的安装与配置
- latex输入希腊字母
- leetcode 312 : Burst Balloons
- 【数据结构实验】哈夫曼编/译码
- Android之px、dp、sp之间相互转换
- JUnit简单安装使用步骤总结
- 1005.继续(3n+1)猜想
- IOS 项目协作开发遇到apple push notification 提示开发者权限enrolled需求提示
- 相似性度量总结
- uml类图关系总结
- 【总结】java命令解析以及编译器,虚拟机如何定位类
- centos7中crontab的变更
- URL Session(Cache)
- 笔记十三(绘制二)
- 安装系统出现Winload.exe错误0xc000000e解决方法