当前位置: 首页 > news >正文

RK3568笔记2:NOR_Flash和NAND_Flash与SDMMC和eMMC

在这里插入图片描述

1. 本质区别

特性NOR Flash/NAND FlashSDMMC/eMMC
定义基础存储器(原始闪存芯片)基于闪存芯片的存储模块,带有控制器
组成结构只有原始存储芯片存储芯片 + 控制器
控制方式需主机直接控制,读写逻辑由主机完成内置控制器,主机通过接口与模块通信
复杂度主机需管理坏块、文件系统等复杂操作控制器自动完成坏块管理和数据校验
标准协议通常无统一接口(原始访问)有标准化接口(如 SD、eMMC 协议)

2. 技术对比

NOR Flash/NAND Flash
  1. 特点:
    • NOR Flash:
      • 支持随机读取,适合存储代码(如固件)。
      • 容量小、成本高,但可靠性高。
    • NAND Flash:
      • 擅长顺序存储,适合大容量数据存储。
      • 容量大、成本低,但需额外管理坏块和错误。
  2. 使用方式:
    • 原始芯片,需主机端设计文件系统、坏块管理和 ECC(纠错码)等功能。
    • 通常用在嵌入式设备中,需开发者具备硬件级控制能力。
  3. 典型应用:
    • NOR Flash:启动代码、固件存储(如 Bootloader、BIOS)。
    • NAND Flash:存储用户数据、大型文件(如手机存储、USB 驱动器的核心存储介质)。
SDMMC/eMMC
  1. 特点:
    • SDMMC:
      • 外部存储卡,通过 SD/MMC 控制器访问。
      • 支持可插拔,便于扩展。
    • eMMC:
      • 内置存储模块,直接焊接在主板上。
      • 自动管理坏块、ECC 和磨损均衡。
  2. 使用方式:
    • 标准化协议(如 JEDEC 标准)简化主机端开发。
    • 支持高性能传输(如 HS400 模式)。
  3. 典型应用:
    • SDMMC:开发板扩展存储、消费类电子外部存储。
    • eMMC:智能手机、平板电脑的主存储,嵌入式系统。

3. 主要区别对比

特性NOR/NAND FlashSDMMC/eMMC
集成度单纯的存储芯片,无控制器存储芯片 + 控制器
灵活性主机端可灵活控制,但需复杂管理自动化管理,主机仅需按协议操作
易用性难以直接使用,需要底层开发支持标准接口,开发难度低
存储容量NOR Flash 小容量,NAND Flash 大容量SDMMC 和 eMMC 容量范围大,通常为 GB 级
可靠性NOR 高可靠性,NAND 需复杂管理eMMC 可靠性较高,SDMMC 依赖卡质量
典型应用嵌入式设备中存储代码和数据消费电子和嵌入式系统主存储或扩展存储

4. 实际应用中的搭配使用

在许多系统中,这些存储技术是互补的,典型的组合包括:

  • NOR Flash + NAND Flash:
    • NOR Flash 用于存储引导程序(Bootloader)、启动代码。
    • NAND Flash 用于存储操作系统和用户数据。
  • SDMMC + eMMC:
    • SDMMC 用于外部扩展存储(如存储用户数据)。
    • eMMC 用于系统主存储(如存储操作系统、应用程序)。

总结

  • NOR/NAND Flash 更偏向底层开发,适用于需要高度灵活性和控制的嵌入式项目。
  • SDMMC/eMMC 提供即插即用的便利性,适合主流消费类和嵌入式产品。

相关文章:

RK3568笔记2:NOR_Flash和NAND_Flash与SDMMC和eMMC

1. 本质区别 特性NOR Flash/NAND FlashSDMMC/eMMC定义基础存储器(原始闪存芯片)基于闪存芯片的存储模块,带有控制器组成结构只有原始存储芯片存储芯片 控制器控制方式需主机直接控制,读写逻辑由主机完成内置控制器,主…...

windows python qt5 QChartView画折线图

环境:windows pyqt5 ,用QCartView画折线图 环境需要提前安装 pip install PyQtChart 折线图随着时间推移会不断移动,主动更新x轴坐标 import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout from PyQt5.QtChart imp…...

阿里云通义千问:全面解析智能云服务先锋

一、技术架构与基础 模型构建基石 采用大规模语料库训练,涵盖多领域知识,如科学、历史、文学等,确保知识储备丰富多样。运用先进的神经网络架构,深度优化模型结构,提高信息处理效率与准确性。持续的语料更新机制&…...

QT 贪吃蛇

1.注意点 新new对象时,要food->show(),否则屏幕不显示 setText() 要求字符串 事件的触发必须写在QWidget中或这是他的子类才能触发,snake.cpp继承的是QTimer 产生动态的原因是定时器每间隔一秒执行一次 信号可以定义在别的.cpp中,只要连接…...

二、点亮希望之光:寄存器与库函数驱动 LED 灯

文章目录 一、寄存器1、存储器映射2、存储器映射表3、寄存器4、寄存器映射5、寄存器重映射6、总线基地址、外设基地址、外设寄存器地址7、操作寄存器(以操作一个GPIO口为例)1. 寄存器地址定义部分2. GPIOD_Configuration 函数部分3. main 函数部分 二、库…...

Oracle 用户管理模式下的恢复案例-不完全恢复

1. 不完全恢复的几种常用方法 01. recover database using backup controlfile 如果丢失当前控制文件,用冷备份的控制文件恢复的时候,用来告诉 oracle,不要以 controlfile 中的 scn 作为恢复的终点; 02. recover database until …...

SharpDevelop IDE IViewContent.cs类

文件位置&#xff1a;IViewContent.cs /// <summary>/// IViewContent is the base interface for "windows" in the document area of SharpDevelop./// A view content is a view onto multiple files, or other content that opens like a document/// (e.…...

Unity RectTransUtility工具类

这个工具主要是用于动态生成UI的情况。项目中我们通过配置UI的锚点、位置以及大小(位置、大小都是通过蓝湖看到的)&#xff0c;然后通过代码动态生成UI。 大部分情况下只要合理设置锚点&#xff0c;那么生成出来的UI就已经满足了适配的要求。 using UnityEngine;public static…...

React性能优化

三个可以优化的地方 避免过度多次渲染 组件会在以下情况下重新渲染 注意&#xff1a;例如组件组合的形式&#xff0c;<Test><Counter></Counter></Test>,即使Test发生了重新渲染&#xff0c;Counter也不会重新渲染。另外使用React这样的库或框架时&a…...

前端开发流程实操:从概念到上线

在前端开发这个充满创意与技术挑战的领域&#xff0c;一个清晰的开发流程是确保项目顺利进行并达到预期效果的关键。 下面就和大家分享一下前端开发的实操流程。 一、项目启动与需求分析 前端开发不是孤立的&#xff0c;它是整个项目的一部分&#xff0c;所以首先要与项目团…...

Metasploit使用

最近在学Metasploit&#xff0c;Metasploit是一个免费的、可下载的渗透测试框架&#xff0c;通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击&#xff0c;是一个集成了渗透测试全流程的渗透工具。 图一 模块&#xff1a;模块组织按照不同的用途分为7种类型的模块 &am…...

Milvus向量数据库05-常见问题整理

Milvus向量数据库05-常见问题整理 1-什么是PipeLine 这张图展示了一个文档处理和搜索系统的架构&#xff0c;主要分为两个部分&#xff1a;Ingestion Pipeline&#xff08;摄取管道&#xff09;和 Search Pipeline&#xff08;搜索管道&#xff09;。下面是对图中各部分的详细…...

Ruby On Rails 笔记3——表的增删改查

1.Migration Migrations是一种便利的方法,能以重现的方式随时间推移改变数据库schema. 使用Ruby Domain Specific Language (DSL),因此你不用手写SQL,进而使你的schema和changes与数据库独立。 可以把每次migration看作是数据库的一个新“版本”。A schema开始时什么都没有…...

CSS3 动画详解,介绍、实现与应用场景详解

CSS3 动画概述 CSS3 动画是通过 CSS3 的新特性来实现元素的动态变化。与传统的 JavaScript 动画不同,CSS3 动画主要通过 CSS 属性的变化来实现动画效果,具有高效、轻量和易于实现的优点。CSS3 动画通常用于网页的动态交互效果、过渡效果、元素移动、缩放、旋转等场景。 一、…...

Winston-MySQL 使用文档

目录 简介 安装 配置 环境变量配置 日志级别和表配置 创建 Logger 实例 文件传输配置 控制台输出配置 完整代码 使用方法 记录信息日志 记录错误日志 记录警告日志 总结 简介 winston-mysql 是一个为 winston3.x 日志库设计的 MySQL 传输插件&#xff0c;允许你…...

java日期工具: 获取两个时间段的时间段值,Java获得两个日期之间的所有年、月份、日。

文章目录 日期字符串格式化获取两个日期之间的所有日期 (字符串格式)获取两个时间段的时间段值,Java获得两个日期之间的所有年、月份、日。生效时间需要大于当前时间结束时间的月份不能大于当前月份日期字符串格式化 /*** 日期字符串格式化** @param time* @param Format_int…...

【Rive】混合动画

1 混合动画简介 【Rive】动画 中介绍了 Rive 中动画的基础概念和一般动画的制作流程&#xff0c;本文将介绍混合动画的基础概念和一般制作流程。Unity 中混合动画介绍详见→ 【Unity3D】动画混合。 混合动画是指同一时刻多个动画按照一定比例同时执行&#xff0c;这些动画控制的…...

qt应用程序崩溃日志和转储dmp文件对于定位问题

qt应用程序崩溃日志和转储文件对于定位问题 一. DMP 文件包含的信息&#xff1a;二. 分析 DMP 文件的主要方法&#xff1a;三. 生成更详细的 DMP 文件&#xff1a;四. 分析 DMP 文件的注意事项&#xff1a;五. 实用建议&#xff1a;六. 实战 一. DMP 文件包含的信息&#xff1a…...

Mysql架构

连接层 最上层是一些客户端和连接服务&#xff0c;负责客户端的连接&#xff0c;验证账号密码等授权认证 服务层 主要完成大多数的核心服务功能&#xff0c;对sql进行解析&#xff0c;优化&#xff0c;调用函数&#xff0c;如果是查询操作&#xff0c;有没有缓存等操作操作。所…...

杂发单的单据类型一个参数的逻辑

【核准中可改】被产线滥用了。它们可以这样做&#xff0c;开立一张杂发单&#xff0c;打印出来交领导层签名。单据要交财务做核算的。然后去修改杂发单的材料。以为可以瞒天过海。2个仓库&#xff0c;一个中掉坑里&#xff0c;一个发现了它们的拙劣的手段&#xff0c;上报之后没…...

如何利用WiFi信号实现无摄像头人体姿态跟踪:RuView完整指南

如何利用WiFi信号实现无摄像头人体姿态跟踪&#xff1a;RuView完整指南 【免费下载链接】RuView Production-ready implementation of InvisPose - a revolutionary WiFi-based dense human pose estimation system that enables real-time full-body tracking through walls u…...

从报错到解决:Pycharm中Tensorflow2.x与1.x代码兼容性问题全解析

从报错到解决&#xff1a;Pycharm中Tensorflow2.x与1.x代码兼容性问题全解析 在深度学习领域&#xff0c;TensorFlow作为最受欢迎的框架之一&#xff0c;其版本迭代带来的变化常常让开发者感到头疼。特别是从TensorFlow 1.x升级到2.x版本后&#xff0c;许多核心API发生了重大改…...

永磁同步电机全速域无位置传感器控制探索之旅

永磁同步电机全速域无位置传感器控制&#xff08;高频注入改进滑膜控制方法&#xff0c;PMSM矢量控制仿真&#xff09; 永磁同步电机-PMSM的仿真-原理-算法-复现 1&#xff09;关于PMSM控制算法的文章复现、matlab编程仿真等均可&#xff0c;Matlab/Simulink仿真建模 分析建模 …...

ComfyUI模型管理终极指南:从零基础到高效工作流的完整教程

ComfyUI模型管理终极指南&#xff1a;从零基础到高效工作流的完整教程 【免费下载链接】ComfyUI 最强大且模块化的具有图形/节点界面的稳定扩散GUI。 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI ComfyUI作为最强大且模块化的AI图像生成工具&#xff0c;…...

零基础如何选择PMP和软考?2025年考证避坑指南(含最新政策解读)

零基础如何选择PMP和软考&#xff1f;2025年考证避坑指南&#xff08;含最新政策解读&#xff09; 项目管理领域的证书选择一直是职场人士关注的焦点。PMP和软考作为两大主流认证&#xff0c;各自拥有独特的价值定位和适用场景。对于零基础考生而言&#xff0c;如何在2025年这…...

Go语言中的并发模式:从WaitGroup到errgroup

Go语言中的并发模式&#xff1a;从WaitGroup到errgroup 作为一个写了十几年代码的Go后端老兵&#xff0c;我深刻体会到并发编程的重要性。Go语言以其简洁的并发模型著称&#xff0c;通过goroutine和channel&#xff0c;我们可以轻松实现高效的并发程序。今天咱们就聊聊Go语言中…...

RPCS3游戏汉化实战指南:从零构建多语言游戏体验

RPCS3游戏汉化实战指南&#xff1a;从零构建多语言游戏体验 【免费下载链接】rpcs3 PS3 emulator/debugger 项目地址: https://gitcode.com/GitHub_Trending/rp/rpcs3 还在为PS3经典游戏的日文界面而困扰吗&#xff1f;通过RPCS3模拟器的强大补丁系统&#xff0c;您可以…...

基于Matlab的FFT信号分析:解锁Simulink波形数据谐波秘密

基于matlab的FFT信号分析 &#xff08;1&#xff09;实现对simulink模型中示波器的波形数据进行谐波分析 &#xff08;2&#xff09;图1是matlab的信号给定仿真模型&#xff0c;用于将需要分析的波形数据导入到workspace。 &#xff08;3&#xff09;图2是FFT程序运行结果&…...

从零到一:彻底搞懂Anaconda,打造完美的Python开发环境

别再为Python环境搞得焦头烂额了&#xff0c;这篇教程带你一次性解决所有烦恼。 作为Python开发者&#xff0c;你是否曾经遇到过这样的场景&#xff1a;项目A需要Python 3.6和旧版本的TensorFlow&#xff0c;而项目B却要求Python 3.12和最新的PyTorch。如果只在系统里装一个Pyt…...

PiliPlus视频播放进度条:自定义绘制与交互实现终极指南

PiliPlus视频播放进度条&#xff1a;自定义绘制与交互实现终极指南 【免费下载链接】PiliPlus PiliPlus 项目地址: https://gitcode.com/gh_mirrors/pi/PiliPlus PiliPlus是一款功能强大的视频播放器应用&#xff0c;其中自定义视频播放进度条是其核心功能之一。这个进度…...