lmosem-exynos4412:裸机之eMMC

这个主要是参考的Exynos4412 所用外存 —— eMMC这篇笔记。

?
?

问题引出:

Exynos4412所用外存不是原来的Nand Flash 与 Nor Flash,而是eMMC。eMMC是什么呢?和Nand Flash有什么区别呢?

?
?

eMMC是什么?

开发板学习中,听到这类英文缩写的模块时,如果不去了解就会感觉很复杂的样子,尤其是这种大小写混用的情形。

eMMC的全称是Embeded
MultiMedia
Card,也就是嵌入式多媒体存储卡的意思,相当于PC机的硬盘,只不过它是用于嵌入式Embeded的。

在不用eMMC的开发板上,比如2440、6410的开发板上,我们用的还是NAND Flash芯片来存储数据(NAND Flash和NOR Flash具体作用和区别还不是太清楚,大概就是这么个意思),NAND Flash作为一个硬件模块,必然会涉及驱动程序,我从mini2440开发板上截了个图:

?
?

?
?

左边原理图,右边是示意图。可以看到NAND FLASH硬件模块涉及到许多管脚线,比如:

?
?

?
?

其实从这么多的控制类管脚也可以看出,NAND FLASH电路模块是比较原始的,因为需要人为地完成许多控制命令的配置,事实也确实如此。大概要手工操作的管理有:

  1. ECC出错机制 Error Correcting Code
  2. 区块管理 Block Management
  3. 平均抹写存储区块技术 WearLeveling
  4. 低功耗管理掉电保护
  5. 错误探测和纠正
  6. 等等

    ?
    ?

我们发现这些功能其实都属于硬件本身的维护性质的管理,并不是核心功能,NAND FLASH的核心功能是当然是存储数据,也就是读数据和写数据。

以下是我自己想的,因为还没写过完整的NAND FLASH驱动:在NAND FLASH时代写驱动的人为了完成读写功能,还要完成许多额外的配置才行,而这些配置又严重依赖硬件,比如不同厂家的接口技术、不同工艺制程、各种兼容问题(具体的是什么我也不知道)。

这种情形就很不利于行业发展了,所以就出了一个标准,听到标准我们往往觉得太死板了,其实不然,没有标准你才会抓狂。标准的本质其实就是一种封装一种接口,把具体实现和应用分开了。

那么,如何对一个硬件模块制定标准呢?比如NAND FLASH,方法就是外加一个控制芯片,其实这不奇怪,比如我们的I2C不就有个控制器吗,UART也有个控制器,如果没有这些控制器,否则我们还得自己去控制时序。

?
?

好的,来看看eMMC的原理图(虽然有很多引脚,不过用到的不多)和示意图:

?
?

eMMC的设计概念,就是为了简化手机内存储器的使用,将NAND Flash芯片和控制芯片设计成1颗MCP芯片,手机客户只需要采购eMMC芯片,不需要处理其它繁琐的NAND Flash兼容性和管理问题。eMMC最大的优点,就是生产厂商可节省许多管理NAND Flash芯片的时间,不必关心NAND Flash芯片的制程技术演变和产品更新换代,也不必考虑到底是采用哪家的NAND Flash闪存芯片,如此,eMMC可以加速产品上市的时间,保证产品的稳定性和一致性。

eMMC说白了,其实就是在原有内置存储器的基础上,又额外加了一个控制芯片,最后再以统一的方式封装,并预留一个标准接口,以便手机客户拿来直接使用。这有点类似于联发科的MTK,或者是高通的Snapdragon解决方案,手机终端厂商买的不只是一颗CPU,而是一整套方案。如此一来,操作简化了不少,还避免了不同厂牌硬件之间的兼容性问题。

闪存Flash的制程和技术变化很快,特别是TLC技术和制程下降到20nm阶段后,对Flash的管理是个巨大挑战,使用eMMC产品,主芯片厂商和客户就无需关注Flash内部的制成和产品变化,只要通过eMMC的标准接口来管理闪存就可以了。这样可以大大的降低产品开发的难度和加快产品上市时间。

?
?

eMMC的结构与规格

MMC是一个行业标准接口,而内部实现则由具体的厂家自己实现。

eMMC ( Embedded Multi Media Card) 采用统一的MMC标准接口, 把高密度NAND Flash以及MMC Controlle封装在一颗BGA芯片中。

?
?

总而言之,言而总是,eMMC的优点有:

  1. 开发商不需处理其它繁复的NAND Flash兼容性和管理问题;
  2. 从而缩短新产品的上市周期和研发成本,加速产品退成出现的速度;
  3. eMMC单颗芯片为主板内部节省更多的空间;
  4. 标准的制定,无论对于芯片制造者还是使用者都是有积极意义的;
  5. 而所有这些又推动了技术的发展和进步。
时间: 2024-10-07 05:06:39

lmosem-exynos4412:裸机之eMMC的相关文章

exynos 4412 eMMC配置及使用方法

/** ****************************************************************************** * @author ? ?Maoxiao Hu * @version ? V1.0.0 * @date ? ? ? Feb-2015 ****************************************************************************** * < COPYRIGHT 2015 IS

Exynos4412 IIC总线驱动开发(一)—— IIC 基础概念及驱动架构分析

关于Exynos4412 IIC 裸机开发请看 :Exynos4412 裸机开发 -- IIC总线 ,下面回顾下 IIC 基础概念 一.IIC 基础概念 IIC(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备.IIC总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信.例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇.可随时监

基於tiny4412的Linux內核移植 --- 实例学习中断背后的知识(1)

作者:彭东林 邮箱:[email protected] QQ:405728433 平台 tiny4412 ADK Linux-4.9 概述 前面几篇博文列举了在有设备树的时候,gpio中断的用法示例.下面我们尝试分析一下Linux内核是如何做到的,如果哪写的有问题,欢迎大家批评指正,谢谢. 还是以GPIO中断为例分析,对于tiny4412,gpio中断可以分为两种,外部中断和普通的GPIO中断 外部中断:按键中断分别使用了外部中断XEINT26.XEINT27.XEINT28以及XEINT29,

嵌入式Linux裸机开发(十)——SD卡启动

嵌入式Linux裸机开发(十)--SD卡启动 存储设备分类: 磁存储设备:软盘.硬盘.光盘.CD.磁带 Flash:NandFlash.NorFlash 缺点:时序复杂,无坏块处理机制,接口不统一 NandFlash:MLC(可靠性差,容量大).SLC(可靠性高.容量小) 扩展卡式Flash:SD卡.MMC卡.MicroSD(TF卡) 内部为NnadFlash存储颗粒,外部封装了接口,接口标准统一.通用. 缺点:频繁使用导致卡槽接触不可靠 iNand.MoviNand.eSSD: 内部为Nand

迅为顶级四核开发板 Exynos4412开发板,仅售560元

业内公认最强四核 藐视一切挑战 ●四核CPU  ●四核GPU  ●双通道内存  ●HKMG技术  ●超级性能  ●至佳稳定  ●供货周期长 Exynos 4412处理器成功应用于三星GALAXY S3,联想K860,魅族MX2等热门产品当中,并取得巨大成功.出色的功耗控制以及超强的性能一直为业内称道,超过5000万片的出货量,足以证明其稳定性与可用性.已成为三星官方重点推广的处理器之一,并承诺长期供货. 超强的性能 iTOP-4412精英版搭载三星Exynos四核处理器,配备1GB内存,4GB固

lmosem-exynos4412:iTOP-4412裸机开发环境

实验手册上说了安装DNW驱动,这个软件我没有细查,不过根据它的功能,它用的是USB上传文件到开发板,所以比那种用串口上传文件要方便很多. USB转串口支持驱动之前已经安装了,现在为了支持USB传输文件当然也要安装驱动,安装时有些文档里面没有说清楚,这里说下. 启动DNW,先在Configure里面设置一下,然后再点击Serial Port/connect,接着再打开开发板开关,输入dnw,会自动提示缺少驱动: 驱动文件先按照安装步骤先签名一下,然后再更新驱动: 安装完驱动,先回车输入dnw 40

嵌入式Linux裸机开发(十二)——iNand简介

嵌入式Linux裸机开发(十二)--iNand简介 一.iNand简介 iNand是SanDisk公司研发的存储芯片,可以看成SD卡或MMC卡芯片化. iNand是SanDisk公司符合eMMC协议的芯片系列名称,内部采用MLC存储颗粒.iNand接口电路设计复杂,功能完善,提供eMMC接口协议,与SoC的eMMC控制器配对通信. 相对MLC NandFlash,iNAND有以下优点: 1.提高性能 A.减少SOC的工作量,节约SOC资源. 如果使用MLC做存储,SOC要参与FLASH的坏块管理

S5PV210-arm裸机-异常中的中断实现过程

210中的异常中的中断实现过程: 首先异常分为很多种,异常中包含了中断异常,有一个东西叫做异常向量表,在异常向量表中有很多相应异常的的地址.异常向量表中的所有异常中断的地址是不会变化的.地址都是固定的,但这些地址都是一个基于基地址的一个地址.不同的CPU中,基地址是不同的. 在210中,CPU内部给了一个发生异常时的异常向量的基地址,查阅官方资料知道,这个基地址为0XD0037400,所以我们需要自己把异常向量表中的地址加在210给的发生异常时的异常向量的基地址上.比如:reset(复位异常)在

[接口]mmc/eMMC/SD-card

转自:http://blog.csdn.net/yazhouren/article/details/46643321 MMC(multiMedia card)是一种通信协议,支持两种模式SPI和MMC eMMC是一种支持MMC协议的芯片 MMC/e ?MMC communication is based on  an advanced 10-signal bus. The communication protocol isdefined as a part of this standard an