主题:C2000WARE 中讨论的其他器件
工具/软件:
早上好!
我来简化一下问题。
我需要为此 MCU 实施自定义引导加载程序、因此 CPU1和 CM 内核的固件应能够通过相同的菊花串行接口进行更新。
我该怎么做?
谢谢你。
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.
工具/软件:
早上好!
我来简化一下问题。
我需要为此 MCU 实施自定义引导加载程序、因此 CPU1和 CM 内核的固件应能够通过相同的菊花串行接口进行更新。
我该怎么做?
谢谢你。
您好:
建议您参考 串行闪存编程应用手册 进行开发、本文档详细介绍了如何使用闪存内核更新 CPU1和 CM 内核。 虽然 SCI 闪存内核在 RAM 中执行、但可修改为从闪存运行。 可以在此处找到 SCI 闪存内核示例代码:
您好、
是否询问如何在不使用 JTAG 的情况下更新器件?
器件当前的启动配置是什么? 您是否对 OTP 进行了编程、或者是否使用了默认引导模式?
有关 C2000引导加载的更多详细信息、请参阅以下用户指南: https://www.ti.com/lit/ug/sprujh3/sprujh3.pdf
此致、
马特
您好:
将引导模式设置为 SCI 引导后、器件将使用 SCITXDA = GPIO29和 SCIRXDA = GPIO28在引导 ROM 中执行 SCI 引导加载程序。 ROM 引导加载程序只能将代码加载到 RAM 中、因此如果您要对闪存进行编程、需要使用闪存内核。
我建议您参阅 《串行闪存编程应用手册》 进行开发、本文档详细介绍了如何使用闪存内核更新 CPU1和 CM 内核。
您可以参阅此应用手册、了解如何将闪存内核加载到器件中以将 CPU1和 CM 的代码编程。简而言之、ROM 中的 SCI 引导加载程序将闪存内核加载到 RAM 中、然后闪存内核将应用程序代码加载到内核的闪存中。 有一个可执行文件、主机可以运行该文件以向器件发送代码、文档中也对此进行了详细介绍。
此致、
马特
谢谢、很清楚。
我假设、如果我将 UART_RX 和 SCIA_RX 引脚连接在一起、则 CPU1上的应用程序代码会启动、它会将 UART_TX 引脚映射到 带有 XBAR 的 GPIO29、并让 CM 内核在同一串行接口上处理通信协议。 之后、当需要更新固件时、我有2个选项、第一个选项可以分支到 CPU1和 CM 上 RAM 中的闪存内核以更新固件、或者、如果应用程序挂起、则使用 DIP 开关在加电时回退到 SCIA 上的库存引导加载程序。 对吧?
您好、
对于 SCI 闪存内核示例、CPU1保持对 SCI 外设的控制、并在 CM 内核函数请求时通过 IPC 发送数据。 换句话说、您可以使用 SCI 通过 CM 应用程序对闪存进行编程。
"CPU1保持对 SCI 外设的控制、并在 CM 请求时发送其内核函数所需的 CM 数据。CM 内核可向 CPU1内核发出信号、指明它需要执行某个函数、例如 sciaGetWordData。 CPU1将获得执行该函数的结果并将其放入消息 RAM 中、以便 CM 复制并用于其任何命令。"
有关 CPU1-CM 如何交互以下载 CM 内核和应用程序的具体详细信息、请参阅第5.2.2节 CPU1-CM 内核。
此致、
马特