ZHDA280 September   2026 MSPM33C321A

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2详细说明
    1. 2.1 QSPI 控制器概述
    2. 2.2 与外部 NOR 闪存的硬件连接
    3. 2.3 软件配置
      1. 2.3.1 驱动程序初始化和闪存识别
      2. 2.3.2 启用四路模式并对闪存进行编程
      3. 2.3.3 基于 DMA 的四路读取
    4. 2.4 测出的性能:具有 SPI 流的闪存读取
    5. 2.5 应用用例
      1. 2.5.1 光学模块
      2. 2.5.2 显示应用
      3. 2.5.3 音频存储及播放
  6. 3总结
  7. 4参考资料

软件配置

MSP M33 SDK 提供一个 QSPI 闪存驱动程序 (QSPI_FLASH.h),该驱动程序分层于 DriverLib QSPI 模块 (DL_QSPI) 之上。SDK 示例 qspi_flash_readback_dma 演示了本应用手册中使用的整个生命周期:驱动程序初始化、闪存识别、四模式启用、擦除、基于 DMA 的页面编程以及基于 DMA 的四路读取(带验证)。

MSP M33 SDK 中提供了 qspi_flash_readback_DMA 示例,其形式为具有 GCC、IAR 和 TI Clang 编译器变体的 No-RTOS 工程。该工程将可重复使用的 QSPI 闪存驱动程序与应用程序分开:

图 2-1 QSPI_flash_readback_DMA 工程结构

NOR_FLASH_COMMANDS.h 集中了特定于闪存的操作码(读取 ID、写入状态、启用 QPI、扇区擦除、页面编程、四通道 I/O 读取)和虚拟周期计数,因此将示例重新定向到不同的 NOR 闪存通常只需要根据新的闪存数据表编辑此标头。QSPI_FLASH.c/.h 在 DriverLib (DL_QSPI) 上实现 QSPIFLASH 驱动程序,并且 .syscfg 文件通过 SysConfig 生成引脚多路复用、时钟树和 DMA 通道配置。

示例应用程序执行以下序列,检查每个步骤后返回的状态,并在第一次故障时锁存错误标志:

  1. 初始化器件 (SYSCFG_DL_init),启用 QSPI 中断并绑定 QSPIFLASH 驱动程序句柄
  2. 在 SPI 半双工模式下读取 JEDEC ID 以确认闪存存在
  3. 设置闪存状态寄存器中的 QE 位,然后启用 QPI 模式
  4. 在 QPI 半双工模式下擦除目标扇区
  5. 使用 QSPIFLASH_writeDMA(自动页边界处理)对测试数据进行页面编程
  6. 使用四路 I/O 读取命令通过 QSPIFLASH_readDMA 读回数据
  7. 禁用 QPI 模式并取消 QSPI 初始化
  8. 验证 Launchpad LED 上的逐字回读缓冲器并报告通过/失败

以下各部分通过示例中的代码摘录演示了此流程的关键步骤。