S5PV210的SD卡启动详解2
2016-04-13 20:30
232 查看
《朱老师物联网大讲堂》学习笔记
学习地址:www.zhulaoshi.org
支持SD卡/NandFlash启动,使用的是SteppingStone技术,
在我们的开发板上支持该技术的是内部的iROM,
扇区,块。
不能只读取或写部分扇区,
一般一个扇区是512个字节,
后来扇区可以做的更大,比如1024字节,2048字节,4096字节,
但是很多包括操作系统在内软件都默认是512字节,
所以采用的是兼容512字节的操作方法。
一个扇区可以看成是一个块(有的块好像有好几个扇区),把这类设备称为块设备。
磁盘和flash以块为单位来读写,就决定了我们启动device copy function只能以整块为单位来读取sd卡。
#define CopySDMMCtoMem(z,a,b,c,e)(((bool(*)(int, unsigned int, unsigned short, unsigned int*, bool))(*((unsigned int *)0xD0037F98)))(z,a,b,c,e))
这种是宏定义的方式调用,
还有一种调用方式是用函数指针的方式,
学习地址:www.zhulaoshi.org
支持SD卡/NandFlash启动,使用的是SteppingStone技术,
在我们的开发板上支持该技术的是内部的iROM,
扇区,块。
不能只读取或写部分扇区,
一般一个扇区是512个字节,
后来扇区可以做的更大,比如1024字节,2048字节,4096字节,
但是很多包括操作系统在内软件都默认是512字节,
所以采用的是兼容512字节的操作方法。
一个扇区可以看成是一个块(有的块好像有好几个扇区),把这类设备称为块设备。
磁盘和flash以块为单位来读写,就决定了我们启动device copy function只能以整块为单位来读取sd卡。
#define CopySDMMCtoMem(z,a,b,c,e)(((bool(*)(int, unsigned int, unsigned short, unsigned int*, bool))(*((unsigned int *)0xD0037F98)))(z,a,b,c,e))
这种是宏定义的方式调用,
还有一种调用方式是用函数指针的方式,
相关文章推荐
- 我的 ARM+Linux 学习路线
- 开发学习记录之看门狗驱动
- 时钟+温度+遥控设置,综合时钟例子
- Linux下运行openwebos- -(转)
- Linux下运行openwebos- -(转)
- BusyBox 简化嵌入式 Linux 系统
- EGL 学习
- 嵌入式开发设计方法变化的背景
- 嵌入式人才的发展方向
- 汇编调用c函数为什么要设置栈
- 三角函数的实现
- 嵌入式桌面操作系统使用与制作攻略
- 嵌入式系统烧写uboot/bootloader/kernel的一般方法
- 甲骨文收购Sleepycat 丰富嵌入式产品线
- 嵌入式Linux操作系统学习规划
- 基于嵌入式多芯片模组的微机保护平台
- 嵌入式系统中常用文件系统的制作总结
- 嵌入式C语言基础教程一
- 汇总Dotfuscator自定义规则中的元素选择
- 3. 类型限定符