EHW Flash记录

前言

Flash作为一种非易失性存储,用于存放系统启动的固件。作为FPGA工程师,在基于FPGA的固件升级时,FPGA需要访问配置flash,完成固件的更新。

  • 用软核的方式升级
  • 采用RTL实现flash控制器进行升级
    不管采用哪种方式,对于flash器件本身的结构,由结构所规定的操作方式还是需要加以了解掌握

Flash结构

这里以SPI Flash为例,学习其内部结构
在这里插入图片描述
这里需要注意的是,Flash操作以page为单位,page的大小为256Byte

从框图中可以看到通常flash对外的引脚如下

名称用途
RESET#复位
HOLD#中断操作
W#写保护
S#片选
C时钟
DQ1-4数据

说外flash对外的引脚,说说内部存储空间是如何组织与排列的,这一点,可以从flash存储区的地址划分上说起
在这里插入图片描述
这里可以看到,地址划分为3级,sector(64KB)、subsector(32KB)、subsector(4KB)

以上的结构决定了Flash的操作方式

工作状态

初始化过程

flash上电后内部有非易失的控制寄存器用于存放当前Flash工作状态控配置信息,用户通过高亮的指令对配置寄存器进行读写操作。
在这里插入图片描述

Nonvolatile Configuration Register

该寄存器在Flash上电初始化过程中扮演非常重要的角色,同时针对容量超过128Mb的存储器件,地址位宽就在3byte和4byte有所差异。

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

Extend Address Register

Flash工作在默认模式想访问超过128Mb空间的flash,则必须通过扩展地址寄存器
在这里插入图片描述

访问过程

擦除

擦除把Flash中所有内容置1,擦除操作按照粒度可以分为以下几类:
在这里插入图片描述
在这里插入图片描述

写操作以page为单位
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值