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.

[参考译文] TMS320F28388D:引导至 USB 和 USB 引导加载程序

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/970126/tms320f28388d-boot-to-usb-and-usb-bootloader

器件型号:TMS320F28388D
主题中讨论的其他器件:C2000WARE

我正在尝试通过开发套件中的 USB 下载固件(使用微型 USB 端口)。 我将按照 C:\ti\c2000\C2000Ware_3_03_00_00\utilities\fash_programmers\USB_flash_programmer 中给出的步骤进行操作、但为 F2837xD 器件提供了示例代码。

闪存未编程、即0x80000处的值为0xFFFF (从链接器符号设置中删除了 CODE_START)。 根据、如果我理解正确、手动器件将引导至 USB 模式。 GPIO72和 GPIO84都是高电平。

contents.txt 文件显示:

启动 MCU:
复位 MCU、然后使用调试器将0x0C5A 写入引导模式选择地址(0xD00)。
从复位矢量运行以启动 USB 引导加载程序。 将 MCU 连接到 PC。

问题1:0x0C5A 对28388D 器件有效? 从复位矢量运行意味着什么?

当我只连接微型 USB 端口时、Windows PC 中会显示 USB Not Recognized (无法识别 USB)。

问题2:有人能否提供有关如何通过 USB 端口下载固件的分步指南?

遵循其他线程、但似乎无法正常工作。

此致、

Amtech

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

    你好

    从复位矢量运行意味着引导代码的起始地址。 在 CCS 中选择"reset"(不重新启动)时、将会显示该消息。

    为了运行 USB 引导加载程序、在0xd00/0xd01上放置0xFFFFFFFF、在0xD04上放置0x0009。 器件 TRM 中详细介绍了该信息。

    如果您使用的是 controlCARD 版本 MCU063B 和更高版本、则使用25MHz 振荡器。 USB 引导加载程序需要一个20MHz 振荡器。 按照 controlCARD 指南中的说明进行切换: https://www.ti.com/lit/spruil8 

    步骤

    1. 验证器件是否已设置为20MHz 振荡器
    2. 通过 CCS 复位器件
    3. 为 USB 引导加载程序将0xD00编程为0xD04值
    4. 在 CCS 中运行
    5. 使用 USB 闪存编程器发送应用程序

    此致

    Chris

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

    非常感谢 您的帮助、Chris。

    我能够直接使用 USB 闪存编程器引导代码。

    很抱歉、您能给我一个介绍运行 USB 引导加载程序的部分、在0xd00/0xd01处放置0xFFFFFFFF、在0xD04处放置0x0009。 我正在阅读 ROM 代码和外设一章、可能无法正确解释详细信息。

    关于闪存内核、我还需要将下载的代码移动到闪存、以便代码通过 USB 下载后以独立模式运行。 我看到、对于 F2837xD 器件、它随时可用、但对于 F2838xD 器件、没有任何注意事项。 我如何实现这一点?

    谢谢。

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

    您好!

    很棒!

    "器件引导配置"详述了0xD0X 地址的位字段(这些位字段与 OTP 中可编程的位字段相同)。 实际地址值位于"CPU1引导 ROM 配置寄存器"部分。 引导模式值位于"CPU1的 GPIO 分配"部分。

    目前、您最好参考 F2838x 闪存编程示例、将其集成到我们的 USB 闪存内核中。

    在 C2000Ware 中: \driverlib\f2838x\examples\c28x\flash

    此致

    Chris

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

    您好、Chris、很抱歉、我们的回复很晚、因为假期而关闭。

    感谢您的指导、我对 EMUBOOTCONFIG 和 EMUBOOTDEF 感到困惑。 现在它很清楚。

    此外、我将介绍 F2837xD_USB_flash_kernel\cpu01示例代码、并尝试集成到28388d 闪存编程示例中。

    谢谢、此致、

    Amtech