山寨机的时代,很多年轻的朋友可能比较陌生,手机上会安装一个SD卡,做存储扩展;目前的智能手机会在PCB板上焊接一个EMMC芯片,做大容量数据存储,安全性好了很多,手机丢了也不用担心照片或者资料泄露的问题;
1、EMMC特性
-符合JEDEC/MMC标准版本5.0
-高级12信号接口
-x1、x4和x8I/O,可由主机选择
-SDR/DDR模式,可达52MHz时钟速度
-HS200/HS400模式
-命令类:class 0 (basic); class 2 (blockread); class 4 (block write); class 5 (erase);class 6 (write protection); class 7 (lock card)
2、框图,MMC控制器和NAND存储;
3、MMC型号参数,对应选型表
4、引脚描述
标注底纹的部分引脚为有效引脚,其他引脚悬空;
看到以上的,引脚介绍是不是感觉和SD卡很相似;对了,包括控制命令类都和SD卡一样,就当成是一个SD卡操作就OK了;
5、功能框图
主要搞定以上寄存器即可。
6、硬件接线图参考:8线数据传输,速率快;
7、设备树
mmc0: mmc@f0000000 {
u-boot,dm-pre-reloc;
pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3
&pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>;//IO管脚定义,具体要参考硬件原理图
vmmc-supply = <&vcc_mmc0_reg>; //使用的控制器
vqmmc-supply = <&vcc_3v3_reg>;
status = “okay”;
slot@0 {
reg = <0>;
bus-width = <8>; //数据线位数,一定要正确
cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>; //
};
};
8、使用总结
EMMC芯片,使用过三星的芯片,还有一些国产的EMMC,都有一个共同的特点,就是型号更新特别快,过了几个月发现没有上一批次的芯片了,已经不生产了;在这里提醒各位,如果使用了EMMC做产品,最好多备货一些,或者选型对比参数上面找替换性更好的厂家及型号。
更多linux知识点推荐:
[linux 底层]u-boot图形化裁剪配置
[Linux 底层]U-boot ksz9031网络驱动调试
[Linux 底层]U-boot调试命令使用技巧
[Linux 底层]U-boot编译移植
[Linux 底层]U-boot烧录脚本介绍SecureCRT
[Linux 底层]bootstrap移植裁剪及编译
[Linux 底层] 平台软件分层介绍
[Linux 驱动] RS485测试程序编写
[Linux 驱动] CAN测试程序编写