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.
我正在尝试通过开发套件中的 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
步骤
此致
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