黑猫带你学eMMC协议第1篇:全网最全emmc协议中文详讲,这份学习框架图,你值得拥有!!!(持续更新中...)

本文主要是介绍黑猫带你学eMMC协议第1篇:全网最全emmc协议中文详讲,这份学习框架图,你值得拥有!!!(持续更新中...),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 作者想说

作者本人从事于存储芯片行业多年,对emmc芯片有深入研究,协议尤甚。而今看来,emmc协议在整个存储产品中(包括U盘、SPI、SD卡,NM卡、UFS、SSD、flash颗粒等)虽并非最难的,但也称不上简单。由于作者对emmc协议层的理解已经算是很熟悉了,从作者角度,emmc协议并不难。

而当作者刚踏入该行业时,第一真正意义上接触到高大上的芯片便是emmc,领导直接丢给我一本全英文的协议书之时,我全脑发懵:WOC!芯片本来就是很难得东西了,参考书还是全英文的!!!我该怎么办?要知道对于一个不知名的双非院校的本科生,大学并非芯片行业,也没有学过编程,英语4级考了三次才飘过的人来说,跨行做程序员,搞芯片已经是很不容易的事情了,结果参考书籍还是全英文的。第一天上班我诚惶诚恐,真怕自己完成不了领导的任务被开除失业。

不过后来发现,我第一份工作的领导,是全世界最好的领导,没有之一。我领导是台湾人,不吹不黑,在台湾面前,大陆的芯片行业相对落后很多,起码前些年如此,所以他从台湾来,技术过硬。跟着我领导,他特别细心讲解各种知识,从没发过脾气,也不会逼着手下必须在某个日期前完成工作,所以逐渐自己对emmc的认知也就提升了上来,也让我本人下定决心从事存储芯片行业了,在这里给我领导J至上最大的respect!!!

当然,这也离不开自己的努力,才让自己能够对存储芯片有一定的认知与了解。万事开头难,当我初期学习emmc知识时,也是一脸懵逼,本来技术上就不懂,各种资料却还是纯英文的,于是上网搜索emmc相关介绍,基本都是零零散散的博客文章,既不够全面,而且基本都是最基础的内容,并没有深入。

emmc广泛应用于手机、平板、机顶盒、车载系统等各种嵌入式产品中,尽管这些年ssd、ufs热火朝天,但emmc依旧是产品与市场主流,因为其性能稳定、价格便宜,除了手机这种对读写速度有极高要求的产品,普通的嵌入式平台,emmc依旧占有绝对的领导地位。因此,即使对于非存储行业的朋友来说,对产品及系统调试过程中,难免与emmc打交道,非存储行业人员,有限时间内想要搞通emmc相关知识,还是非常困难的。

基于此,本人希望能写一系列关于emmc协议层介绍的文章,帮助存储行业入行新人及嵌入式产品有需要的朋友。同时也希望能赚一些外快,缓解本人经济压力,同时为我家可爱的小猫咪买更多猫粮,哈哈。

《黑猫带你学:eMMC协议详解》系列文章大约10万+字,均根据Jedec 5.1协议、个人工作经验及部分网络资料整理而成,撰写不易,为付费内容,禁止私自转载。

同时,内容如若有误,欢迎评论留言。

2 专栏内容

黑猫带你学eMMC协议第1篇:全网最全emmc协议中文详讲

黑猫带你学eMMC协议第2篇:eMMC部分相关名词释义

黑猫带你学eMMC协议第3篇:MMC相关介绍

黑猫带你学eMMC协议第4篇:eMMC概述

黑猫带你学eMMC协议第5篇:总线协议帧格式token

黑猫带你学eMMC协议第6篇:emmc的命令(cmd)、响应(resp)及设备状态(device status)详解

黑猫带你学eMMC协议第7篇:eMMC各种寄存器详解(register)

黑猫带你学eMMC协议第8篇:eMMC供电情况详解(power)

黑猫带你学eMMC协议第9篇:eMMC初始化过程(initial)

黑猫带你学eMMC协议第10篇:eMMC读写操作详解(read & write)

黑猫带你学eMMC协议第11篇:eMMC擦除详解(erase/trim/discard/sanitize/secure erase/secure trim…)

黑猫带你学eMMC协议第12篇:生产状态感知(PSA)

黑猫带你学eMMC协议第13篇:CMD23打包命令(packed read/write)

黑猫带你学eMMC协议第14篇:eMMC FFU详解(Field Firmware Update)

黑猫带你学eMMC协议第15篇:eMMC的高优先级中断(HPI:High Priority Interrupt)详解

黑猫带你学eMMC协议第16篇:eMMC断电通知机制详解(PON)

黑猫带你学eMMC协议第17篇:超详细的eMMC HS200 & HS400讲解

黑猫带你学eMMC协议第18篇:语境管理(context management)

黑猫带你学eMMC协议第19篇:eMMC RPMB区域详解(重放保护内存块)

黑猫带你学eMMC协议第20篇:eMMC的后台操作(Background Operations)

黑猫带你学eMMC协议第21篇:全网最全emmc写保护详解(write protect)

黑猫带你学eMMC协议第22篇:emmc可靠写详解(Write Reliability)

黑猫带你学eMMC协议第23篇:emmc的分区配置(partitioning)

黑猫带你学eMMC协议第24篇:eMMC的总线测试程序详解(CMD19 & CMD14)

黑猫带你学eMMC协议第25篇:eMMC命令队列详解(CMDQ)

黑猫带你学eMMC协议第26篇:eMMC的硬件复位操作(H/W reset)

黑猫带你学eMMC协议第27篇:什么是eMMC的动态容量(Dynamic Capacity)?

黑猫带你学eMMC协议第28篇:eMMC的开漏和推挽模式(push-pull & open drain)

黑猫带你学eMMC协议第29篇:eMMC设备锁详解(CMD42)

黑猫带你学eMMC协议第30篇:eMMC的boot mode和boot operation详解

3 如何学好emmc协议

关于emmc协议学习框架,本人已整理如下框架,供大家学习使用。
在这里插入图片描述

第一部分为基础内容,需要认真仔细学习,掌握emmc基本系统特性等基础功能,但也不必过分深究,对基础内容有一个大致的框架即可。该部分内容与jedec 5.1协议顺序基本相符合,该部分内容需要按照顺序逐一学习!

第二部分为emmc的一些重要功能/机制,各知识点之间没有太大联系,不用按顺序学习研究。当掌握基础内容后,该部分内容只需要用到哪一块就对哪一块进行深入研究即可。

第三部分为进阶部分,主要针对于从事存储行业的人员,该部分中timing时序部分内容可能在各种平台(嵌入式平台、手机等)使用中,研究其讯号好坏时才会需要深入研究。第三部分内容基本上为感兴趣或者有需要的读者进行研究。

本人所列出的emmc学习框架图,为本人工作多年所研究整理,基本涵盖了emmc的常用及主要内容。当然,对于一些细枝末节,基本上不会用到知识点,学习框架图中并未列出,但这无伤大雅,不需要过分纠结。笔者坚信,对于框图中的内容都学习研究后,就已经掌握了jedec 5.1协议中至少90%以上的内容,基本就算“吃透”emmc协议了。

《黑猫带你学:eMMC协议详解》专栏中文章顺序,基本也就是按照学习框架图顺序所撰写,逐一进行研究即可。

4 读者须知

为了让读者有更好的阅读体验,读者朋友们应该知道如下信息,不至于看文章时候产生迷惑。

1、文章中设备、device、emmc均指emmc;host、主机均指使用emmc的具体产品,包括但不限于手机、平板、嵌入式开发板等设备。

2、文章中提到的flash,除特别说明,均表示nand flash。

3、由于emmc内部存储介质一般均为nand flash,因此文章提到的存储介质、flash、nand、存储阵列等词汇,也均表示nand flash。

这篇关于黑猫带你学eMMC协议第1篇:全网最全emmc协议中文详讲,这份学习框架图,你值得拥有!!!(持续更新中...)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/161949

相关文章

Java对象和JSON字符串之间的转换方法(全网最清晰)

《Java对象和JSON字符串之间的转换方法(全网最清晰)》:本文主要介绍如何在Java中使用Jackson库将对象转换为JSON字符串,并提供了一个简单的工具类示例,该工具类支持基本的转换功能,... 目录前言1. 引入 Jackson 依赖2. 创建 jsON 工具类3. 使用示例转换 Java 对象为

Docker部署Jenkins持续集成(CI)工具的实现

《Docker部署Jenkins持续集成(CI)工具的实现》Jenkins是一个流行的开源自动化工具,广泛应用于持续集成(CI)和持续交付(CD)的环境中,本文介绍了使用Docker部署Jenkins... 目录前言一、准备工作二、设置变量和目录结构三、配置 docker 权限和网络四、启动 Jenkins

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

Java下载文件中文文件名乱码的解决方案(文件名包含很多%)

《Java下载文件中文文件名乱码的解决方案(文件名包含很多%)》Java下载文件时,文件名中文乱码问题通常是由于编码不正确导致的,使用`URLEncoder.encode(filepath,UTF-8... 目录Java下载文件中文文件名乱码问题一般情况下,大家都是这样为了解决这个问题最终解决总结Java下

Go语言实现将中文转化为拼音功能

《Go语言实现将中文转化为拼音功能》这篇文章主要为大家详细介绍了Go语言中如何实现将中文转化为拼音功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 有这么一个需求:新用户入职 创建一系列账号比较麻烦,打算通过接口传入姓名进行初始化。想把姓名转化成拼音。因为有些账号即需要中文也需要英

Redis缓存问题与缓存更新机制详解

《Redis缓存问题与缓存更新机制详解》本文主要介绍了缓存问题及其解决方案,包括缓存穿透、缓存击穿、缓存雪崩等问题的成因以及相应的预防和解决方法,同时,还详细探讨了缓存更新机制,包括不同情况下的缓存更... 目录一、缓存问题1.1 缓存穿透1.1.1 问题来源1.1.2 解决方案1.2 缓存击穿1.2.1

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R