EMMC裸驱动 初始化过程和块读写接口

本文详细介绍了EMMC裸驱动的初始化步骤,包括复位、设置数据传输模式、配置时钟、检测有效卡等,并讲解了块读写接口的实现,包括检查卡状态、设置块大小和数量、数据传输等环节。
摘要由CSDN通过智能技术生成

先介绍下应用背景,主机通过host control IP间接控制emmc,所以这里所有对emmc的的配置实际上都是通过配置SDHC来间接配置emmc的。如下图所示

  • 初始化过程

1、复位Host Controller IP,保证设备状态可控。

可通过配置CTRL寄存器实现

清除第0位, CTRL &= (~0x00000001);

在设置第0位,CTRL |= 0x00000001;//此操作一般在2个时钟周期完成,

2、复位FIFO

CTRL |= 0x00000002;//将在系统时钟的2个周期后复位

3、设置数据传输为1bit mode

CTYPE = 0x0;

4、对有效的store card上电

emmc下面可以挂30个store card,可通过寄存器HCON得5-1bit获取card numbers

为方便写代码,一般将所有card都上电

PWREN = 0x3fffffff;

此操作的要求的时间根据设备的不同时间不同,一般SDIO card会要求较长时间,例如等待50000个运行周期

5、关闭Raw中断

RINTSTS=0xffffffff;

6,关闭全局中断

INTMSK = 0x7b8;            //为关闭全局

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值