This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TUSB9261-Q1:读取SPI-Firmware图像在3字节后停止

Guru**** 2530110 points
Other Parts Discussed in Thread: TUSB9261

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1100961/tusb9261-q1-read-spi-firmware-image-stops-after-3-byte

部件号:TUSB9261-Q1
主题中讨论的其他部件:TUSB9261

我们使用TUSB926x_FW_SPI.bin固件映像并设法将其写入1.06 闪存(假设)。

我们使用uBoot来启动主板。 已检查所有电源电压。

在此阶段,不会初始化USB。 我们未连接SATA设备。

切换TUSB9261的GRST#引脚(引脚4)后,IC启动并尝试从SPI闪存读取。

首先发送命令0x05 (RDSR)。 闪存以0x00回答两次。

大约10us之后,TUSB发送0x03 (读取命令),地址为0x00,0x00,0x00。

到目前为止,这对我们来说是很好的。

闪存恰好以3字节(固件二进制文件的前3字节- 0x18,0xD6,0x00)响应。 之后,CE#变高,没有反应。

这种行为是否是故意的? 要完全加载固件并使TUSB正常工作,我们需要做些什么?

非常感谢!


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    您的SPI闪存是否满足以下要求? SPI闪存是如何编程的? TUSB9261不支持SPI模式1,而支持SPI模式0。


    SPI闪存要求:

    ~支持SPI模式0  
    ~引导加载程序使用固定频率18.75 MHz。
    ~闪存必须使用8位的字大小和24位的地址长度。
    ~程序指令必须允许在一次操作中写入256个字节。
    ~在编程之前,引导加载程序会擦除整个芯片。
    ~建议最小闪存大小为512 kbit (64 k x 8)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Malik:

    我们使用SST25PF040C SPI-Flash。

    芯片支持模式0,最高40 MHz,具有3字节地址,页面程序最多256字节,具有4 MB。

    我们编写了一个小程序(受闪存刻录机GUI描述的启发: https://www.ti.com/lit/ug/sllu125d/sllu125d.pdf?ts=1652364374144)并测量了18.75 MHz SPI-Clock频率。

    在发送写入RDSR命令时,随后将发送Chip Erase Cmd (0xC7)和许多RDSR命令。

    它似乎写不是问题.

    我们可以在断言GRST#引脚后读取前3个字节,但在3个字节后传输停止?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    SPI闪存似乎正常。 TUSB9261应执行脉冲读取,并且不应在3个字节后停止。 是否可以使用外部SPI主机读取闪存并 确保写入整个FW?  

     我们的闪存燃烧器不再支持Linux版本。 它 不能与现代Linux操作系统配合使用,但是 其他人已经能够使此软件包适用于他们的系统。 它可以在此处提供有关可能发生的情况的提示。  请接受我的朋友请求,以便我可以通过E2E DM向您发送软件。 完成后,请在您的原始主题上发帖。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们发现了问题。 固件文件TUSB926x_FW_v 1.06 .bin中缺少描述符标题和校验和。 因此,TUSB只加载3字节,并检测缺少的标头。 我们从Windows程序员工具中导出二进制文件并获取缺失的部分。 感谢您的帮助!