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、内部结构(接口)区分:

ZYNQ7000---FLASH读写_第1张图片

2、外部接口区分:

ZYNQ7000---FLASH读写_第2张图片
SPI串行的速度会更慢一些但是他所需要的引脚数目是按照标准固定的,当发现容量过小时可以替换更大的,不需要增加额外的引脚。

ZYNQ使用的flash为SPI类型的。

SPI

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

标准通信:
ZYNQ7000---FLASH读写_第3张图片
SS:片选信号

QPSI Flash:

ZYNQ7000---FLASH读写_第4张图片
ZYNQ7000---FLASH读写_第5张图片
XIP:芯片内执行代码

QSPI 控制器

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

控制器有三种模式:

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

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

  3. 传统SPI模式
    ZYNQ7000---FLASH读写_第6张图片
    控制器内部:
    ZYNQ7000---FLASH读写_第7张图片

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

ZYNQ7000---FLASH读写_第8张图片

ZYNQ7000---FLASH读写_第9张图片
ZYNQ7000---FLASH读写_第10张图片


你可能感兴趣的:(学习FreeRTOS,嵌入式硬件,FreeRTOS)