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.

[参考译文] TPS6.5982万-EVM:TPS6.5982万 EVM编程故障

Guru**** 2481465 points
Other Parts Discussed in Thread: HD3SS460

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/567135/tps65982-evm-trouble-programming-the-tps65982-evm

部件号:TPS6.5982万-EVM
主题中讨论的其他部件:TPS6.5982万HD3SS460

您好,TI:

我目前正在将TPS6.5982万 EVM 与aardvard I2C/SPI编程器配合使用。

对于软件,我正在使用TPS6.5982万应用工具生成.pjt和.bin文件

要对EVM进行编程,我正在使用主机接口实用程序工具

我能够通过SPI看到EVM,并且可以读取TPS中的寄存器,因此我相信接口工作正常。

要生成图像,我将执行以下操作

  1. 使用应用程序自定义工具生成新的项目文件。 我使用TPS6.5982万_HD3SS460_DFP_FULL 2_10.TPL作为我的启动项目。

  2. 我生成闪存映像二进制文件和低区域映像文件。

  3. 然后使用主机接口工具对具有低映像bin文件的闪存进行编程

但是,我无法在EVM上对相关闪存进行编程,而且我不确定我在程序中做了哪些错误的操作。

或者,我的映像中是否有不允许我对SPI闪存进行编程的内容(通过I2C接口间接进行编程)

我已附加.pjt和.bin文件。 是否有任何方法可以获得一些电话支持,以讨论有关对EVM进行编程的问题...这正成为我们的一个关键的展示障碍…。

此致,

伙计

e2e.ti.com/.../TPS6.5982万_5F00_lrb.zip

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

    嗨,Guy,

    要使用aardvark编程器对TPS6.5982万板进行编程,必须使用totalphase闪存中心软件。 TPS6.5982万EVM 用户指南( 从第38页开始)中包含安装和用户说明。  

    我希望这能有所帮助。

    谢谢!

    Eric

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Eric,
    感谢您的回复。 我在我的帖子中提到了SPI,但我使用的是TPS EVM上的I2C接口,而不是直接使用SPI。

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

    使用I2C进行编程不会直接允许您对闪存进行编程。 而是通过设备固件对闪存进行编程。 使用SPI是对TPS6.5982万进行编程的速度快得多的方法。 我能够使用总相闪存中心软件和使用SPI通信的Aardvark将您在原始消息中附加的闪存文件(TPS6.5982万_FLASH_LRB.BI)加载到TPS6.5982万EVM。

    谢谢!
    Eric
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Eric,
    我设想我的设计只使用I2C接口间接访问闪存。 我不担心速度,而是担心易用性。

    所以我不能通过I2C接口间接编程闪存?

    您提到过通过设备固件对闪存进行编程...这是我设想的体系结构。您能否说明需要执行哪些步骤...

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

    嗨,Guy,

    您是否遵循 了《TPS6598x应用定制工具用户指南》第3节中的所有步骤? (第 15)

    这说明了用于I2C的Aardvark和TPS6.5982万EVM板之间所需的所有驱动器和正确连接。

    谢谢!

    Eric

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Eric,
    是的,我已按照用户指南操作,并已为aardvark加载了所有适当的驱动器,我已将aardvark连接到EVM,如i2c接口(sda,clk,GND)所示,但我仍然无法通过i2c接口对闪存进行编程。 查询i2c时可以看到TPS,但无法对闪存进行编程。
    此致,
    伙计
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨,Guy,

    在主机接口工具软件上,在配置选项卡下,尝试更改I2C端口和SPI端口的值:  

    这些值如上图所示后,单击Test Configuration Settings (测试配置设置),您应阅读:"Attempt to read Mode Register Succeeded Mode Register Returns:App"(尝试读取模式寄存器成功模式寄存器返回:应用程序)

    之后,您应该能够通过I2C对闪存进行编程,方法是单击"SPI FW Update"(SPI FW更新),选择您的文件和Program Flash Image (编程闪存映像)。 我能够使用此配置通过I2C将您的(TPS6.5982万_FLASH_LRB)文件加载到TPS6.5982万 EVM上。

    我希望这能解决您的问题。

    谢谢!

    Eric

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

    您好,Eric,

    我也尝试了这种方法,但没运气...我附加了一个屏幕截图...我尝试使用SP1端口1和端口2进行编程。我的I2C连接到TPS的端口0。

    当我查询模式寄存器时,它返回boot而不是app ....是否有办法重新配置EVM? 也许有些东西已经被破坏了???

    此致,

    伙计

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

    您可以通过应用程序定制工具重新配置EVM。 要执行此操作,请单击“设备”,“刷新EVM固件(恢复)”。
    Mode Register Returns (模式寄存器返回)应显示APP。

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

    我想成为clear...using应用程序自定义工具我可以刷新恢复文件,但我必须使用SPI接口? 我无法通过I2C闪存恢复映像?

    将SPI接口连接到EVM后,我尝试刷新映像,但我仍然看不到模式寄存器对app的响应。

    是否可以仅使用应用程序自定义工具通过SPI刷新映像? 或者我是否需要其他固件?

    我们是否可以设置WebEx或快速电话会议?

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

    在主机接口工具中,是否可以单击Register List (注册表列表)下的Boot Flags (引导标志)? 这将有助于调试设备卡在引导模式下的原因。

    您应该能够使用I2C或SPI重新刷新图像。

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

    您好Eric,

    确定使用主机接口工具,我尝试对闪存进行编程...

    我在标头处看到aardvard中的i2c活动,但在SPI接口上看不到任何活动。因此,i2c数据没有被推送到SPI接口...

    下面是我读过的引导标志...

    我很困惑...我正在使用您的软件和EVM,但我无法对闪存进行编程...这怎么可能? 什么可以阻止这种情况发生??? EVM硬件上是否有需要确认的内容

    此致,

    伙计

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

    这些文件非常误导人。 如果您仔细阅读,他们会巧妙地将"编程"与"更新"区分开来。
    如果你在这个论坛上搜索旧的帖子,你会发现82不能通过I2C“编程”。 它只能通过I2C进行"更新"。 实际上,这意味着如果'82'处于“启动”模式,则它没有从闪存加载任何软件,并且只以非常有限的工厂编程功能运行。 这些功能不包括更新闪存。 如果'82可以从闪存中成功读取其程序,则附加功能将包括更新闪存。 此闪存更新只能在从闪存芯片加载程序后完成,这将由"应用程序"模式指示。

    因此,首次对闪存进行编程时,它必须通过SPI进行直接编程。 的I2C接口根本不起作用。 后续更新可通过I2C或SPI完成。
    关于I2C更新的警告:它需要很长时间。 我第一次这样做的时候,我以为GUI已经冻结了,所以我重新启动了它。 事实证明,它一直在工作,我通过中断更新过程"惊动"了闪存。 幸运的是,我通过SPI重新编程,一切都仍然正常。 因此,请注意如何配置I2C更新。 不要执行完全闪存擦除/重写。 这似乎不能保留"双映像备份系统"。

    我还没有使用过aardvark。 到目前为止,我只使用内置FTDI SPI/I2C通信测试了EVM。

    总之,如果这实际上是一项受支持的功能,您的过程听起来还不错,但您所做的事情不受'82 (或我所能知道的任何TPS658x)的支持。

    祝您好运,
    亚伦
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Aaron,
    感谢您提供此信息,我在文档或TI支持中都不清楚此信息。
    更新闪存时,您提到了不要执行完全擦除/重写。 您认为在这种情况下发生了什么? 您是否担心如果您执行擦除,然后重新写入失败,您会将闪存卡积存?

    此致,
    伙计
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不确定。 我认为,如果您命令对闪存(完整的二进制映像)进行整个更新,它可能会执行完全芯片擦除。 一次只做一个部分可能更安全。 我也不确定100 %。 自从SPI闪存开始工作以来,我就没有玩过这么多。 I2C更新还要求使用默认情况下未设置WP的SPI闪存,并且要求在开始写入之前先通过软件清除。 我们的应用需要不同的闪存芯片(BTW,EVM和数据表中推荐的闪存目前为EOL,制造商不建议将其用于新设计),但这种不同闪存IC的接口稍有不同,I2C更新不起作用。 读取闪存程序可以正常工作,但通过I2C上的'82进行更新不能正常工作。 不幸的是,我们现在必须提供板外的SPI线路进行编程。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Aaron,

    我希望最初也要通过SPI对我们的闪存进行编程。 但是,有一个问题是,在SPI线路上的TPS和您的编程接口上,TPS和您用于对闪存进行编程的外部主SPI之间是否存在竞争? 您是否需要在非主SPI模式下设置TPS,或者是否有方法在对闪存进行编程时禁用TPS SPI接口。

    此致,

    伙计

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不记得数据表中的哪个部分描述了它,但我知道有一个部分讨论了共享外部闪存。 TPS仅在启动过程中读取闪存,然后将其SPI I/O行置于high -z (高z)状态,而不管读取结果如何。 我相信这就是为什么EVM原理图中的这些线路上有拉线。 我想,如果命令允许,TPS将在闪存更新期间驱动SPI I/O线路。

    使用作为EVM一部分的FTDI芯片时,我没有执行任何特殊操作来启动SPI闪存写入。 我认为FTDI也会在指令与芯片进行交互之前保持高Z线。

    在数据表中的某个点,它提到这种在引导期间仅驱动SPI线路的模式是一种功能,该功能应允许连接的UC也在TSP引导映像后使用外部闪存作为其自身空间。