为实现应用目的选择闪存器件时,需要考虑一些因素。本文档介绍了特定闪存必须满足的一些基本要求,以便在引导操作和应用程序执行期间与 AM273x 器件兼容。
引言
在用户系统中,可以两种不同的方式利用 QSPI 闪存:
- 存储器用作引导介质;应用程序映像存储在闪存中并用作引导加载程序源。
- 存储器在应用程序执行过程中用作存储介质。
在选择闪存 IC 时,器件必须符合 SoC 的所有引导要求。如果存储器用作引导介质,则必须遵循一些指导原则,才能在应用程序执行期间作为存储器件高效工作。
图 1 展示了存在次级引导加载程序 (SBL) 映像和有效应用程序映像时的闪存结构。
注: 用户可以将从“0x0_0000 + SBL Size Image”到 0xE_FFFF 的闪存区域用于米6体育平台手机版_好二三四特定数据。
注: 存在冗余映像时的最大 SBL 大小为 256KB 和 952KB,不存在冗余映像时的最大 SBL 大小为 952KB。
图 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 系列器件
- W25Q 系列
- GD25 系列
- MX25xxx35 系列
术语
MCU – 微控制器单元
QSPI - 四线串行外设接口
SoC – 片上系统
UART – 通用异步接收器/发送器
SBL - 次级引导加载程序
ROM – 只读存储器
SFI – 串行闪存接口
SDK – 软件开发包