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.

[参考译文] TMS320F28069:固件的串行下载

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1431534/tms320f28069-serial-download-of-firmware

器件型号:TMS320F28069
Thread 中讨论的其他器件:C2000WARE

工具与软件:

您好!

我有一个已建立的串行闪存程序、可支持多种 TI 处理器(即2,812,28069、Delfino Dual)。  我正在研究将 hex 文件下载到28069的波特率。  我的发现是、为了使28069内核能够始终如一地成功下载、需要19200或更慢的波特率。  如果我尝试38,400或更快,它有时会失败下载。  现在、只要我可以在固件随后下载时更改波特率、我就可以对内核使用较低的波特率。  内核下载后执行自动波特、但我发现、如果我尝试提高固件的波特率、自动波特将失败(驱动器无响应)。  如果波特率保持为19200、则自动波特成功、固件下载正常。

感谢您对此的想法。  我提高内核和固件下载之间的波特率是否合理、以及内核要求我所测试的较慢的波特率是否正确。

提前感谢您!

桑迪

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

    您好、Sandy:

    我需要花几天时间来研究这个问题、会为您提供最新信息。

    谢谢。此致、

    Charles

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

    您好、Sandy:  

    自动波特本质上是在编程器主机和器件之间执行波特率握手。 它应该在接收到或 A 后检测时钟速度并相应地调整 SCI 波特寄存器。 此处的主要限制是 TRM 注释中描述的硬件:

    此外、您是使用器件 bootROM SCI 引导加载程序还是使用自定义引导加载程序?

    此致、

    Allison

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

    Allison

    我正在使用器件 bootROM SCI 引导加载程序。  根据突出显示的注意事项、我将波特率设置为19200的较低波特率、然后在下载固件之前再次启动自动波特时、尝试在内核加载后提高波特率。  如果我在内核下载后将波特率保持为19200、则自动波特率成功。  唯一的问题是我尝试提高波特率。

    谢谢!

    桑迪

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

    您好、Sandy:

    您在哪里增加波特率? 您在编程流程中是否随时修改 SCI 模块设置? 或者只是让主机在加载应用代码与内核时以不同的波特率发送应用? 您能否进一步详细介绍从启动器件到加载应用代码的加载过程? 您的负载期间 PLL 的状态是怎样的?

    此致、

    Allison

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

    Allison

    波特率的变化是在内核完成00 (内核数据末尾)之后。  下面是串行通信的屏幕截图、左侧的波特率因无响应而变化、因此 COM 端口关闭并报告错误。  右边是自动波特(波特率为19200)成功的部分。  PLL 设置为90MHz。

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

    您好、Sandy:

    您是否正在加载 C2000Ware 中的 SCI 闪存内核示例?

    此致、

    Allison

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

    您好、Allison、

    是的、我使用的是 SCI 闪存内核示例

    桑迪

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

    您好、Sandy:  

    感谢您的确认。 您是否能够使用 SCI 闪存内核示例连接到器件、并单步执行/运行并确认它是否在"等待"函数中并等待接收数据?  自动波特率应该能够调整到一个新的波特率并且覆盖 SCI 寄存器。 您能说明一下如何更改波特率吗? 它是否作为主机串行闪存编程器的一部分进行了预编程? 您使用的是已修改的 TI 串行闪存编程器还是某些第三方?

    此致、

    Allison

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

    您好、Allison、

    嗯、问题似乎可以解决、在设置波特率后、我只需在自动波特之前短暂延迟一会。  感谢您的帮助!

    桑迪