ZYNQ7000---FLASH读写

提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、Flash是什么?
  • 二、Flash的分类
    • 1、内部结构(接口)区分:
    • 2、外部接口区分:
      • SPI
      • QPSI Flash:
    • QSPI 控制器
    • flash 控制器和flash存储器的连接方式:


前言

本文主要用于记录对flash读写操作的学习。文章内容基于正点原子系列视频:
正点原子手把手教你学ZYNQ之嵌入式开发


一、Flash是什么?

Flash存储器(又称为闪存)是一种非易失性存储器。具有操作方便、读写速度快等优点。一般用于存储操作系统和程序代码,例如程序固化的操作通常都是把程序存储在flash里面,设置启动后去读取里面存储的程序。

Flash的存储单元为块阵列-块是擦除操作的最小单位,擦除操作会将块内所有位置“1”页是读和写的基本单位。在对页进行写操作之前,需要判断该页内所有的位是否为“1”,如果全部为1,可以进行写操作;否则,需要对整个块进行擦除操作。

Flash的特性是写操作只能从1翻转到0 ,从0到 1是由擦除来进行的

因此,当要对Flash进行写操作时通常先要进行擦除。

二、Flash的分类

1、内部结构(接口)区分:

在这里插入图片描述

2、外部接口区分:

在这里插入图片描述
SPI串行的速度会更慢一些但是他所需要的引脚数目是按照标准固定的,当发现容量过小时可以替换更大的,不需要增加额外的引脚。

ZYNQ使用的flash为SPI类型的。

SPI

SPI(Serial Peripheral Interface)串行外设接口,高速、全双工、同步的通信总线。
缺点是没有应答机制来确认是否收到数据,可以写完之后再读出来确认没有出错。

标准通信:
在这里插入图片描述
SS:片选信号

QPSI Flash:

在这里插入图片描述
在这里插入图片描述
XIP:芯片内执行代码

QSPI 控制器

本部分内容参见技术手册 ug585-zynq7000

控制器有三种模式:

  1. I/O模式
    软件通过写TXD(4个)寄存器 把数据和控制命令写到控制器中;通过读RXD寄存器把flash的数据读取出来

  2. 线性地址模式
    用硬件发起命令到flash memory,控制数据流从flash memory 到AXI interface。
    比I/O模式快

  3. 传统SPI模式
    在这里插入图片描述
    控制器内部:
    在这里插入图片描述

flash 控制器和flash存储器的连接方式:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/145848.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

k8s pod 处于Terminating的原因分析和解决处理——筑梦之路

之前整理了一下各种资源长时间无法回收,解决处理的命令行 k8s 各种资源Terminationg状态处理 —— 筑梦之路_k8s自定义资源修改状态-CSDN博客 这里具体整理下pod长时间处于Terminating状态的相关知识,主要是对前面的补充和完善,作为笔记记录…

京东数据挖掘(京东数据采集):2023年Q3电脑行业数据分析报告

近年来,在远程办公、远程教育等需求的刺激下,电脑的销售增长较为显著。不过,随着市场的成熟乃至饱和,电脑销售市场也逐渐出现增长困难、需求疲软等问题。 2023年第三季度,电脑市场的出货量同比下滑。根据鲸参谋电商数据…

德迅云安全为您介绍关于抗D盾的一些事

抗D盾概述: 抗D盾是新一代的智能分布式云接入系统,接入节点采用多机房集群部署模式,隐藏真实服务器IP,类似于网站CDN的节点接入,但是“抗D盾”是比CDN应用范围更广的接入方式,适合任何TCP 端类应用包括&am…

GB28181 编码规则说明

背景: GB/T28181-2011 《安全防范视频监控联网系统信息传输、交换、控制技术要求》中规定了联网系统应对前端设备、监控中心设备、用户终端ID进行统一编码,该编码具有全局唯一性。这就是国标编码。编码分20位和18位,其中18位编码已经淘汰。下文中&#…

React hooks(一):useState

1.React hooks React hooks是React16.8的新特性,可以让React函数组件具有状态,并提供类似componentDidMount和componentDidUpdate等生命周期方法。 React 早期版本,类组件可以在shouldComponentUpdate中,通过判断props和state是…

搭建yum源并定时同步

一 、安装yum源 1-准备yum目录 cd /data/www/html createrepo -v ./目录 2-安装服务 yum -y install httpd 3-配置服务 /etc/httpd/conf/httpd.conf 4.配置/etc/yum.repo.d/local.rpeo 二、定时更新yum源 #1. 同步整个源到指定目录 [rootV10SP1-1 pac]# reposync -p /root/…

到底什么是Linux?快进来学习!

相信大家对Linux并不陌生吧?Linux 是一种计算机系统,属于基础中的基础,就和我们熟知的Windows一样,都是系统。它是现今最流行和最实用的计算机操作系统,它区别于后台、算法、大数据、前端、测试方向,需要程…

python 随机数生成

生成随机整数 使用 randint() 函数可以生成指定范围内的随机整数。 import random # 生成1到10之间的随机整数 random_int random.randint(1, 10) print(random_int) 生成随机浮点数 random() 方法用于生成 0 到 1 之间的随机浮点数。 import random # 生成0到1之间…

LVGL 日历组件

LVGL 日历组件 calendar 添加到默认组中 lvgl的 calendar 组件会默认添加到旋钮按键组中,需要手动将其删除,否则会聚焦到不可见的控件上。 lv_obj_set_style_pad_all(calendar, 8, LV_STATE_DEFAULT); lv_group_remove_obj(calendar);修改时间范围 年…

[msg_msg] corCTF2021 -- fire_of_salvation

前言 msg_msg 是 kernel pwn 中经常用作堆喷的结构体. 其包含一个 0x30 大小的 header. 但 msg_msg 的威力远不如此, 利用 msg_msg 配合其他堆漏洞可以实现任意地址读写的功能. 程序分析 本题给了源码, 可以直接对着源码看. 并且题目给了编译配置文件, 所以可以直接编译一个…

C++ const与符号表

fun_cpp.cpp //const修饰的全局变量 默认是内部链接(只在当前源文件有效 不能直接用于其他源文件) const int num_pp 100;//如果必须用在其他源文件 使用只读的全局变量 必须加extern将num转换成外部链接 //extern const int num_pp 100;main_cpp.cpp…

Linux/麒麟系统上部署Vue+SpringBoot前后端分离项目

目录 1. 前端准备工作 1.1 在项目根目录创建两份环境配置文件 1.2 环境配置 2. 后端准备工作 2.1 在项目resources目录创建两份环境配置文件 2.2 环境配置 3. 前后端打包 3.1 前端打包 3.2 后端打包 4、服务器前后端配置及部署 4.1 下载、安装、启动Nginx 4.2 前端项目部署…

Elasticsearch搜索分析引擎本地部署与远程访问

文章目录 系统环境1. Windows 安装Elasticsearch2. 本地访问Elasticsearch3. Windows 安装 Cpolar4. 创建Elasticsearch公网访问地址5. 远程访问Elasticsearch6. 设置固定二级子域名 Elasticsearch是一个基于Lucene库的分布式搜索和分析引擎,它提供了一个分布式、多…

【小白的Spring源码手册】 BeanFactoryPostProcessor的注册和用法(BFPP)

目录 前言应用1. 手动注册2. 自动注册3. 优先级 前言 沿用上一篇文章的流程图,我们的注解类应用上下文中的AnnotationConfigApplicationContext#scan(String...)方法已经将所有BeanDefinition注册到了IoC容器中。完成注册后,开始执行AbstractApplicatio…

信息的浏览

万维网(WWW)是目前Internet上最流行的一种服务,它是建立在Internet上的多媒体集合信息系统。它利用超媒体的信息获取技术,通过一种超文本的表达方式,将所有WWW上的信息连接在一起。我们使用浏览器浏览网上的信息。 ▶浏览器 浏览器是指可以…

PHP低版本安全问题

目录 1、PHP弱类型问题 1.1 MD5、 SHA1 弱比较问题 1.2 数组 0 1)函数无法处理数组,返回0 2)strcmp 2、特殊字符串导致的问题 2.1 "ffifdyop" 与 md5(string,raw) 2.2 ereg函数漏洞:00 截断 3、正则匹配问…

物联网AI MicroPython学习之语法UART通用异步通信

学物联网,来万物简单IoT物联网!! UART 介绍 模块功能: UART通过串行异步收发通信 接口说明 UART - 构建UART对象 函数原型:UART(id, baudrate,bits, parity,stop, tx, rx)参数说明: 参数类…

3GPP协议解读(一)_23.501_23.502_PDU Session_SMF与UDP的交互

UE发起计算服务申请后,网络侧处理的流程 UE发起服务的流程:service request网络侧处理服务涉及的通信数据通过PDU Session进行传输,涉及到SMF与UPF的交互。PDU Session的建立、管理全部由SMF(Session Management Function&#x…

Git通过rebase合并多个commit

在使用 Git 作为版本控制的时候,我们可能会由于各种各样的原因提交了许多临时的 commit,而这些 commit 拼接起来才是完整的任务。那么我们为了避免太多的 commit 而造成版本控制的混乱,通常我们推荐将这些 commit 合并成一个。 1. 查看提交历…

基于JavaWeb+SpringBoot+掌上社区疫苗微信小程序系统的设计和实现

基于JavaWebSpringBoot掌上社区疫苗微信小程序系统的设计和实现 源码获取入口前言主要技术系统设计功能截图Lun文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种…