admin管理员组

文章数量:1605637

I.MX6UL TF卡启动Linux的实现

[复制链接]

1 TF卡启动Linux的原理1.1 TF卡简介TF卡又称T-Flash卡。全名:【TransFLash】又名【Micro SD】,由摩托罗拉与SANDISK共同研发,在2004年推出。是一种超小型卡(11*15*1MM),约为SD卡的1/4,可以算目前最小的储存卡了。MicroSD 卡是一种极细小的快闪存储器卡,其格式源自SanDisk创造,原本这种记忆卡称为 T-Flash,及后改称为TransFlash;而重新命名为microSD的原因是因为被SD协会(SDA)采立。

其主要应用于移动电话,但因它的体积微小和储存容量的不断提升,现在已经使用于GPS设备、便携式音乐播放器和一些快闪存储器盘中。 它的体积为 1mm x 15mm x1mm ,差不多相等于手指甲的大小,是现时最细小的记忆卡。它也能通过SD转接卡来接驳于SD卡插槽中使用。1.2 高速卡和低速卡

TF卡又分为高速卡和低速卡,TF高速卡和低速卡的区分方法:主要靠TF卡上的速度等级标志来识别,TF卡符合的SD规范标准越高,速度分级等级越高,则读写速度越快。如图1-1, 注意看他右上角的圆圈里的 4  说明这是普速卡,一般传文件速度在每秒8MB以下,反应比较慢,传文件更慢,如图1-1,就是高速卡,注意看他的右边的圆圈的10,说明是高速卡一般速度在10MB 以上每秒。

图1-1.PNG (41.94 KB, 下载次数: 0)

2018-11-16 15:30 上传1.3 TF卡特性

卡容量:

1.标准容量卡(SDSC):最大容量为128MB~2GB(默认格式为FAT16)

2.高容量卡(SDHC):容量大小为4~32GB的卡(默认格式为FAT32)

3.扩展容量卡(SDXC):容量大小为64GB~2TB的卡(默认格式为exFAT)

TF卡一般作为外置扩展容量,那么不同用户用的卡肯定不一样,那为了区分不同的卡,SD3.0协议中在初始化和识别卡的过程中会判断用户插入的卡是SDSC/SDHC/SDXC中的哪一种卡,比如在R3中的第38Bit的CCS = 0b时,表示插入的卡为SDSC卡,而CCS = 1b时,表示插入的卡为SDHC或者SDXC卡。

四线总线速率模式,如图1-3所示:

IMX.PNG (123.67 KB, 下载次数: 0)

2018-11-16 15:32 上传

说明:

SDR的意思是Single Data Rate(单边数据采样,换句话说就是,要么上升沿采样,要么下降沿采样);

DDR的意思是Double Data Rate(双边数据采样,换句话说,双边沿采样)。2 tf卡及EMMC启动2.1 tf卡及EMMC启动原理

I.MX6UL根据BOOT_MODE0和BOOT_MODE1配置不同,分为如下四种启动方式.

捕获12.PNG (72.27 KB, 下载次数: 0)

2018-11-16 15:34 上传

Fuses启动模式 (BOOT_MODE[1:0] = 00b)

当BOOT_MODE[1:0]寄存器为00b是,选择为从Fuses模式下启动。该模式和内部启动模式很相似,只是有一点不同:在此模式下,GPIO启动(internal boot 内部启动)重载引脚会被忽略。

内部启动模式 (BOOT_MODE[1:0] =0b10)

BOOT_MODE[1:0]寄存器的值为0b10时,选择为内部启动模式。在此模式下,处理器继续执行内部的启动代码。启动代码执行硬件初始化,从选择的启动设备中加载程序镜像,使用HAB执行镜像有效性检查,然后跳到程序镜像地址处。如果在内部启动中出项任何错误,启动代码就会跳到串行下载器。

内部启动模式一般只用于产品的开发阶段,因为此模式要占用大量的GPIO资源,而这些GPIO是EIM中关键的数据和地址控制线。在Fuses启动模式下,一旦这些eFuses被烧录,均不能被重擦修改,显而易见的是后者不利于开发中的摸索尝试(一旦出现错误,我们甚至要考虑更换CPU)。在开发阶段,我们使用跳线来配置efuses,然后我们调试测试,直至其稳定后,在最终的产品中,使用和跳线配置相对的eFuses值来烧录fuse,最终可将这些GPIO上的跳线去除,而用于一般用途。

本文标签: LinuxTFMX6UL