eMMC 简介 Host Interface Flash Controller Flash Memory eMMC 分区管理 Boot Area Partitions eMMC 分区应用实例 eMMC 总线协议 eMMC 总线接口 eMMC 总线模型 eMMC 简介 eMMC 是 embedded MultiMediaCard 的简称。 Host 向 eMMC 发起读 RPMB 的请求,同时生成一个 16 bytes 的随机数,发送给 eMMC。 eMMC 总线模型 eMMC 总线中一个 Host可以有多个 eMMC Devices。 速率模式 随着 eMMC 协议的版本迭代,eMMC 总线的速率越来越高。
eMMC 和 Nand 是嵌入式系统中比较常见的两种存储介质。 区别 它们有什么异同呢?通过下面这张图可以做一个简单的概括: ? 如果找一块 Nand 或者 eMMC 的电路板,还是比较容易区分它们的: ? ? 支持 eMMC 5.x 协议的 eMMC 顺序读速度可以达到 400MB 以上。 ? 而单纯的 Nand,读写速度就慢了很多,只有几十 MB 甚至几 MB。 如何选型 ? ? 所以,如果你的产品需要考虑温度、容量,这就是两个很重要的选型依据,当然,价格上eMMC 一般会比 Nand 贵。 如果你的产品比较在意启动速度,数据读写速度,那一般你都需要选择性能更好的 eMMC。 如果是买开发板的话,我肯定选 eMMC —— 性能好,软件通用啊!
热卖云产品新年特惠,2核2G轻量应用服务器9元/月起,更多上云必备产品助力您轻松上云
萤火工场 CEK8902 S905D3,通过USB将固件烧录进eMMC。 目前板子还处于测试阶段,文中提供的方法、固件或软件,只在测试板中进行过测试。
\参考资料\EMMC编程\JESD84-B50-1eMMCStandard.pdf 1.1 EMMC介绍 1.1.1 EMMC简介 eMMC (Embedded Multi Media Card)是 DATA[0…7]:eMMC的双向数据总线,用于主机和设备之间的数据通信。DATA线是时分复用的,要么数据从主机传输到eMMC设备,要么从eMMC设备传输到主机。 总线协议 eMMC总线可以挂载一个主设备和多个eMMC设备。 当主机需要和某一个eMMC设备通讯时,会先根据RCA选中该eMMC设备,只有被选中的 eMMC设备才会应答主机的命令。 eMMC的通信是由单个或多个块组成的。 .png)] 1.3 EMMC编程 1.3.1 eMMC引脚配置 前两节介绍了eMMC的协议和IMX6ULL USDHC相关寄存器,接下来开始讲解EMMC驱动设计。
嵌入式开发环境 主控芯片: Amlogic A113X Linux Kernel : 4.9 eMMc : 金士顿 4GB ? A113X主控芯片 金士顿的4GB eMMC 海力士256M DDR 博通WIFI模组 AP6212 支持eMMC 现有项目存储需要由Nand Flash换成eMMC eMMC介绍 eMMC (Embedded Multi Media Card) 为MMC协会所订立的,eMMC 相当于 NandFlash+主控IC ,对外的接口协议与SD、TF卡一样,主要是针对手机或平板电脑等产品的内嵌式存储器标准规格。 eMMC的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间。 :183 emmc key lba_start:0x12020,lba_end:0x12220 [ 2.573731@1] emmc key: emmc_key_init:205 ok. [
1.设置好uboot环境变量,为了使系统从emmc起来。uboot环境变量在生产时一般不用改,所以直接在编译前直接改好就行了。 page=Build+From+Source+-+Bootloader先编译好EMMC-bootloader image , 生成flash-image-emmc.bin文件。 ,启动系统后,直接把编译好的emmc的uboot-bin文件烧写到emmc,启动后emmc在dev目录下是mmcblk0,还有两个Boot ROM,mmcblk0boot0和mmcblk0boot1,另外有一个 下(emmc目录自己创建),然后将系统文件解压到mnt/emmc目录下,在/mnt/emmc下的boot目录中放入你的内核文件和dtb文件。 / $ tar -jxvf /boot/rootfs-HT80.tar.bz2 -C /mnt/emmc 6.现在断电重启后系统就可以从EMMC起来了。
EMMC协议速览 EMMCV4.5 亦或V5.1,协议可以说洋洋洒洒一大堆,刚接触的人容易抓不住重点,或者分析不到位,这里主要总结一些重要并且常用的EMMC协议。 1. EMMC基本了解 1.1 物理线路: Card Concept(eMMC) image-20220215110840519 物理接口 接口含义 CLK 时钟线,此信号的每一周期控制命令线上的 1 3.1.2 验证工作电压及访问模式 EMMC控制器通过发送CMD1,参数为OCR寄存器,该寄存器种包含了2bit的存储器访问模式。 同时,bit31用来判忙,如果为1,说明EMMC设备仍然处于复位过程中,主机也同时重复发送CMD1来确保该忙位清除。 进而,EMMC控制器发送CMD3,赋予设备一个相对设备地址RCA,从设备一旦接收到RCA,设备就变为Stand-by状态,即数据传输状态。
学习下 eMMC 接上。 Overview eMMC Device 在 Power On、HW Reset 或者 SW Reset 时,Host 可以触发 eMMC Boot,让 eMMC 进入Boot Mode。 在此模式下,eMMC Device 将进行初始化,Host 会为 eMMC Device 设定工作电压、协商寻址模式以及分配 RCA 设备地址。 如果 eMMC Devcie 和 Host 所支持的工作电压和寻址模式不匹配,那么 eMMC Device 会进入Inactive State。 它包含了 eMMC Device 的制造商、OEM、设备名称、设备序列号、生产年份等信息,每一个 eMMC Device 的 CID 都是唯一的,不会与其他的 eMMC Device 完全相同。
前言 之前在《深入浅出MMC子系统》介绍了MMC子系统,从中可以窥探出eMMC读写的全流程,对于其中的数据流,了解它也非常重要。 存储基本知识 先了解一些存储的基本概念,以我的开发板为例,存储介质为容量8G的eMMC。系统里输入fdisk -l可查看磁盘信息,红框的为8G eMMC的信息。 一般eMMC每个块大小为512或1024字节,这里我的是512字节。所以p1分区大小为262144 * 512 = 134217728字节。 bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9); 这里将block乘以512转换成字节大小赋值给扇区描述,不过在前面看到我板子上的eMMC
二、emmc、sd卡区别: emmc与sd card说的是两种不同的分装, emmc是bga封装,一般焊接在板子上;而sd card为tf card/sd card的形式;注意这仅是物理的表现形式不一样 七、eMMC 1、简介 eMMC (Embedded Multi Media Card) 为MMC协会所订立的、主要是针对手机或平板电脑等产品的内嵌式存储器标准规格。 eMMC的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间。 eMMC = NAND flash + 控制器 + 标准封装接口 2、引脚定义 八、SDIO 1、 SDIO简介 SDIO接口是在SD内存卡接口的基础上发展起来的接口,
关键词:eMMC boot、PARTITION_CONFIG、force_ro等。 1. eMMC的分区 大部分eMMC都有类似如下的分区,其中BOOT、RPMB和UDA一般是默认存在的,gpp分区需要手动创建。 BOOT主要是为了支持从eMMC启动系统而设计的;RPMB即Replay Protected Memory Block简称,通常用来保存安全线管的数据;GPP主要用于存储系统或者用户数据。 eMMC在被初始化的时候,调用mmc_blk_probe(),这里面会在每个设备下创建force_ro sysfs节点。 3.1 PARTITION_CONFIG寄存器 由于默认分区是UDA,而eMMC每个分区都是独立编址的。所以要使用boot分区需要切换分区。
几乎每个设备都有它自己的分区设计,这个和生产商有关,但常见的有MTD,EMMC和MMC设备。 dev/mtdN的MTD字符设备 mount、umount命令只对/dev/mtdblockN的MTD块设备有效 /dev/mtdN和/dev/mtdblockN是同一个MTD设备的同一个分区(N一样) EMMC Embedded MultiMedia Card 分区信息可以从/proc/emmc cat /proc/emmc dev: size erasesize name mmcblk0p17
The last setup step is to modify the file extlinux.conf file on the eMMC. 这基本上意味着系统从 SATA 驱动器而不是内部闪存 (eMMC) 内存运行。 该视频描述了将根目录从内部 eMMC 复制到 SATA 驱动器的过程,然后修改引导过程以使用 SATA 驱动器作为根目录。 最后一个设置步骤是修改 eMMC 上的文件 extlinux.conf 文件。系统会从内部的 eMMC 启动,然后内核会设置根目录指向 SATA 驱动器。 一般来说,它是内部 eMMC 的副本,所以它应该几乎都表现得很好。 需要注意的事项 首先是狮子,老虎和熊。獾真的很卑鄙,小心那些。
本文描述是基于高通平台,在emmc上增加一块分区,并挂载自己制作的ext4格式的镜像。作者是第一次弄这个,很多都不是很懂,有不对的地方请指教,经过一番某度和某歌之后,我慢慢知道怎么动手。
rock pi 4A/B/C烧录Armbian/Debian/Ubuntu/Android的固件) 公对公USB线一根 (不能是一头Type-C的线连接到电脑的Type-C接口,必须是双公头的USB线) EMMC 将ROCK Pi引导至 maskrom 模式 启动 ROCK Pi 进入 maskrom 模式很简单,你不需要按任何键 1.将板子断电并 移除所有可启动存储介质 ,拔掉 microSD 卡,拔掉 eMMC 5.现在插上eMMC模块,继续下一步刷机。 ?
项目过程中使用的是Amlogic A113x芯片, 配置emmc dts 时候,有些参数解释比较模糊,这里着重解释下 partitions: partitions{ parts = <3>; 0xffffffff 0xffffffff>; mask = <4>; }; }; 其中重点解释 mask 的含义 : mask的含义: // 对应的头文件 include/linux/mmc/emmc_partitions.h
四、eMMC 1、简介 eMMC (Embedded Multi Media Card) 为MMC协会所订立的、主要是针对手机或平板电脑等产品的内嵌式存储器标准规格。 eMMC的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间。 eMMC = NAND flash + 控制器 + 标准封装接口 2、引脚定义 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/130912.html
使用EMMC的话封装普遍是间距1mm的BGA,自己焊接的话不好焊接。使用SD卡的话稳定性不太好。于是在网上寻找合适的存储介质,找到两种比较不错存储介质。 一种是1mm间距的EMMC(IS21ES16G-JQLI,IS21ES32G-JQLI,IS21ES64G-JQLI就是几种不同容量的1mm间距的),只比0.5mm的封装大一点点。 支持到EMMC5.0,对于MCU我觉得很合适,具体速度就需要根据处理器具体测试了,不过对于一般应用应该都可以满足了。
文章目录 前言 手机存储 eMMC 变卡顿的原因 变卡顿之后怎么办 前言 手机的流畅度很大程度上瓶颈在存储器。 手机存储器分UFS和eMMC,目前UFS 还未普及,主流的手机存储器还是eMMC 5.1。也会有小伙伴问,手机使用时间长了会变卡吗? eMMC究竟是个啥? 手机存储 eMMC eMMC 负责存储我们日常的音乐、图片、视频、应用软件等数据,即我们今天要讨论的eMMC就是所属范畴。 目前,市面上较为主流的规格eMMC5.1,其理论带宽达到了600MB/s。 变卡顿的原因 关于变卡顿问学,先要了解闪存的存储特性。 eMMC的协议因为多年未更新,并且eMMC的数据时序标准到达瓶颈,所以很难再有新的发展。
emmc emmc - Open/Close eMMC boot Partition 打开/关闭emmc引导分区 Usage: emmc open <device num> emmc close 示例: emmc close 1 打开设备1 emmc open 1 关闭设备1 emmc close 0 打开设备0 emmc open 0 关闭设备0 2.9 movi EMMC设备 movi write zero fwbl1 1 40000000; //将DDR地址处数据写入到EMMC对应位置 emmc close 1; // completed TINY4412 # emmc close 1 eMMC CLOSE Success.!! TINY4412 # emmc close 1 eMMC CLOSE Success.!!
扫码关注腾讯云开发者
领取腾讯云代金券