ZHCACS5 june   2023 AM2732 , AM2732-Q1

 

  1.   1
  2.   2

为实现应用目的选择闪存器件时,需要考虑一些因素。本文档介绍了特定闪存必须满足的一些基本要求,以便在引导操作和应用程序执行期间与 AM273x 器件兼容。

引言

在用户系统中,可以两种不同的方式利用 QSPI 闪存:

  1. 存储器用作引导介质;应用程序映像存储在闪存中并用作引导加载程序源。
  2. 存储器在应用程序执行过程中用作存储介质。

在选择闪存 IC 时,器件必须符合 SoC 的所有引导要求。如果存储器用作引导介质,则必须遵循一些指导原则,才能在应用程序执行期间作为存储器件高效工作。

图 1 展示了存在次级引导加载程序 (SBL) 映像和有效应用程序映像时的闪存结构。

GUID-5FB48CA8-4A18-40BB-9CAF-F44E88CBFAC4-low.png图 1 QSPI 闪存映射
注: 用户可以将从“0x0_0000 + SBL Size Image”到 0xE_FFFF 的闪存区域用于产品特定数据。
注: 存在冗余映像时的最大 SBL 大小为 256KB 和 952KB,不存在冗余映像时的最大 SBL 大小为 952KB。

图 2 显示了引导流程,其中考虑了闪存的使用情况,并假设闪存中已存在有效映像。

GUID-4B4154B6-9E96-44E3-824B-34A4E8858240-low.png图 2 一般引导流程

ROM 引导要求

图 2 所示,引导流程是 AM273x 采用的一个在加电时启动的序列。ROM 代码已设置为以特定方式工作,需要来自闪存的特定指令,还需要用于建立通信的特定时序和组帧配置。对于 AM273x 器件,ROM 代码需要以下支持:

  • 闪存器件的工作电压必须为 3.3V 左右(典型范围为 2.3V 至 3.6V)
  • 闪存必须能够支持四路输出快速读取(操作码 0x6B)
  • 闪存必须能够在单一模式下支持快速读取(操作码 0x0B)
  • 在前面提到的读取操作期间,器件必须允许 8 个虚拟 时钟周期来设置初始地址
  • 默认情况下,闪存必须支持 3 字节(24 位)寻址模式
  • 建议至少使用 4MB 的闪存大小

所有这些信息均可在所评估的闪存器件的数据表中找到。闪存器件必须支持上述所有要点,才能满足 AM273x 兼容性要求。

应用要求

应用特定的要求往往比 ROM 代码执行要求更宽松,因为配置不当和缺少支持不会导致系统引导失败。对于通用闪存应用,必须满足以下要求:

  • 闪存器件的工作电压必须为 3.3V 左右(典型范围为 2.3V 至 3.6V)。
  • 如果闪存大于 16MB (128Mb),则需要支持 RESET 信号的闪存器件封装,以防止器件热复位影响 ROM 代码执行。
注: 尽管没有对可使用的闪存施加硬性限制,但 AM273x 仅支持高达 4 字节的寻址通信模式。因此,任何需要超过 32 位的地址几乎都无法访问。
注: 在 SFI 模式下,AM273x 的外部闪存支持限制为 8MB。更多有关 SFI 操作的信息,请参阅 AM273x 技术参考手册四线串行外设接口 部分。

其他使用因素

在决定将何种闪存器件用于相应应用时,还需要考虑以下几点:

  • 闪存的用途是什么?某些应用需要比其他应用更多的闪存存储,具体取决于存储器是用于引导还是存储。
  • 是否要使用整个存储器?如果不需要较大的存储空间,则可以使用尺寸更小且成本更低的闪存器件。
  • 应用是否严重依赖于闪存?通常情况下,8MB 到 16MB 对于应用来说足够了,但这取决于外部存储的使用量。
  • 闪存器件是否支持 RESET 信号?如果必须在应用的任何点使用 4 字节寻址模式,则需要一个 RESET 信号来防止复位时的引导问题。

MCU PLUS SDK 中的闪存支持

MCU PLUS SDK 附带针对库中特定闪存的默认闪存软件支持。如果所评估的闪存符合要求,但 SDK 中没有兼容的软件驱动程序,请使用以下链接获取有关如何添加对闪存的支持的说明。

兼容的闪存器件

以下列表显示了一些器件,根据相应数据表中的信息,这些器件符合与 Sitara MCU AM273x 器件配合使用时正确运行的要求。此列表仅供参考:

  • S25FL128S 和 S25FL256S 系列器件
    • 制造商:Infineon
  • W25Q 系列
    • 制造商:Winbond
  • GD25 系列
    • 制造商:GigaDevice
  • MX25xxx35 系列
    • 制造商:Macronix

注: 有关 SoC 和外部闪存之间物理连接的信息,请参阅 AM273x 技术参考手册 中的 QSPI 环境 部分。

术语

MCU – 微控制器单元

QSPI - 四线串行外设接口

SoC – 片上系统

UART – 通用异步接收器/发送器

SBL - 次级引导加载程序

ROM – 只读存储器

SFI – 串行闪存接口

SDK – 软件开发包