U-BOOT移植——支持Davinci的MMC
来源:互联网 发布:重庆知梦科技有限公司 编辑:程序博客网 时间:2024/05/21 00:54
下面是这两天看SD标准和365资料进行的小结,下一步对U-BOOT添加MMC支持。让悲剧的网卡见鬼去吧。
1. MMC/SD是两种不同的格式,SD比MMC要高级,可以兼容MMC,并且速度要快。软件区分SD还是MMC,靠CMD1和CMD41,前者只有SD卡支持,后者只有MMC支持,发出一条命令,谁成功返回,对应的就是什么卡。
2. Response是CPU发出CMD之后,SD/MMC通过CMD信号线串行返回的数据,包括卡状态等等信息。对于MMC/SD来说,Response共分为6种,具体见
http://www.sdcard.org/developers/tech/sdcard/pls/Simplified_Physical_Layer_Spec.pdf 的第4.9节。
3. 以上几种是response的格式,对应到365上面是另外的情况。365的SD控制器共有4个32位的寄存器来保存返回的值。共有三种存储方式(48bits with CRC ,48bits without CRC,136bits with CRC),在MMCCMD寄存器中可以设置。其中48bits with CRC对应的就是SD标准中的R1 ,R6,R7,48 bits without CRC对应的是R3,136bits with CRC对应的是R2。在MMCCMD中还可以设置一位叫BUSY,对应的就是R1b。在虽然有三种存储格式,但是返回数据的排列方式只有两种,具体见datasheet的54页。
4. 现在遗留着一个问题,如何区分两块SD卡,这个问题还是等待CU的解答吧~~
下面先对将要进行的移植进行一下构思。
1. 仿照ATMEL_MCI.C对相关函数进行重写。
2. 查看FAT命令的实现流程,看是否需要进行相应的配置。
3. 让移植支持所有Davinci系列,在dm365_configs里面对CONFIG进行设置,e.p:CONFIG_365_MMC,在MMC.h中,根据定义包含相应的头文件即可。
- U-BOOT移植——支持Davinci的MMC
- U-BOOT支持MMC
- DAVINCI DM365-DM368开发攻略——U-BOOT-2010.12及UBL的移植
- DAVINCI DM365-DM368开发攻略——U-BOOT-2010.12及UBL的移植
- DAVINCI DM365-DM368开发攻略——U-BOOT-2010.12及UBL的移植
- DAVINCI DM365-DM368开发攻略——U-BOOT-2010.12及UBL的移植
- DAVINCI DM365-DM368开发攻略——U-BOOT-2010.12及UBL的移植
- DAVINCI DM365-DM368开发攻略——U-BOOT-2010.12及UBL的移植
- DAVINCI DM365-DM368开发攻略——U-BOOT-2010.12及UBL的移植
- DAVINCI DM3730开发攻略——U-BOOT-2010.06的移植
- DAVINCI DM365-DM368开发攻略——U-BOOT-2010.12及UBL的移植
- DAVINCI DM365-DM368开发攻略——U-BOOT-2010.12及UBL的移植
- 基于iTop-4412的U-Boot 2017移植[2]:支持SD/MMC
- TI Davinci DM6441嵌入式Linux移植攻略——u-boot移植篇
- u-boot移植第四弹——2013.10u-boot增加dm9000的支持
- DAVINCI DM365-DM368开发攻略—U-boot-2010.12-rc2-psp03.01.01.39及UBL的移植 .
- Davinci DM6446开发攻略——u-boot-1.3.4移植(1)
- Davinci DM6446开发攻略——u-boot-1.3.4移植
- 常用正则表达式
- 调试 日记
- linux支持NTFS
- 10 Best Open Source ERP Systems
- 第一章:布尔检索模型
- U-BOOT移植——支持Davinci的MMC
- 堆与栈有什么区别?
- Shell脚本学习笔记(二)--变量
- IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败
- U-BOOT配置编译全过程
- mpl
- 我要excel合并专家
- 花样年华
- Linux Kernel and Android休眠与唤醒