You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spansion S25HS512T NOR Flash在i.MX6UL平台U-Boot与Linux下无法工作求助

NXP iMX6UL + Spansion 25HS512TFANHI010 NOR Flash 适配排查方案

U-Boot侧sf probe返回的-524错误对应不支持的硬件特性/器件未匹配,Linux侧的SPI模式位3报错属于控制器与Flash的模式配置冲突,按以下步骤排查修复:

U-Boot 2021.10 适配修改

  • 先验证设备树QSPI引脚配置:pinctrl-0对应的引脚组必须将QSPI_CLK、QSPI_IO0~IO3、QSPI_CS引脚配置为专用SPI功能,关闭上下拉,引脚速率配置不低于100MHz,Flash节点添加以下属性:
    spi-max-frequency = <80000000>;
    spi-tx-bus-width = <4>;
    spi-rx-bus-width = <4>;
    
    先降频到80MHz调试,排除信号完整性问题。
  • 修改drivers/mtd/spi/spi_flash_ids.c,新增25HS512的器件匹配条目,注意JEDEC ID顺序:
    { INFO("s25hs512t", 0x34201a, 0, 64 * 1024, 1024, SECT_4K | SPI_NOR_QUAD_READ | SPI_NOR_DUAL_READ) }
  • 提取Cypress 2018.01 U-Boot补丁的核心逻辑:在drivers/mtd/spi/spi-nor-core.c的Spansion器件初始化分支,添加对0x20系列ID的支持,跳过自动切换QPI模式的逻辑,无需全量适配旧补丁。

Linux 内核适配修改

  • 解决SPI模式3报错:i.MX6UL QSPI控制器原生支持模式0和模式3,若驱动报错不支持,先在设备树Flash节点删除spi-mode相关配置,强制使用控制器默认的模式0验证识别逻辑,确认能识别后再根据Flash datasheet调整模式参数。
  • 修改drivers/mtd/spi-nor/spansion.c,新增和U-Boot侧一致的25HS512器件匹配条目,开启QUAD_READ支持。
  • 确认内核配置除CONFIG_SPI_FSL_QUADSPI外,已开启CONFIG_SPI_FLASH_SPANSION、CONFIG_MTD_SPI_NOR、CONFIG_SPI_MEM依赖项。

硬件层面基础验证

  • 测量Flash 3.3V供电纹波,波动需控制在5%以内,供电不足会导致读ID失败。
  • 用逻辑分析仪抓取sf probe阶段的QSPI总线波形,确认控制器已发送0x9F读ID命令,若返回值全0/全F,优先排查硬件焊接、引脚mux配置错误问题。

内容的提问来源于stack exchange,提问作者Harkirat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 03:33:03