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.

[参考译文] TMS320f28377S:LaunchXL-F28377S 引导加载程序=>我需要什么/流程如何

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/595553/tms320f28377s-launchxl-f28377s-bootloader-what-do-i-need-how-is-the-process

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

大家好、

我们目前正在使用 LaunchXL-F28377S 评估套件、并希望探索从不同于标准 PC 的机器执行器件固件更新(DFU)的选项。
我找到了文档 sprabv4b"C2000微控制器的串行闪存编程"。

问题1:我的一般问题-是否可以使用任何可保存十六进制数据的器件来更新 LaunchXL-F28377S 评估板上以 µController μ s 为单位的固件? 其理念是使用诸如 SPS、Pi 或其他嵌入式计算机等某种"可通过网络访问的设备"来更新控制器固件。

我从这里了解到、引导加载是一个两级过程。 如果通过 SCI 将器件设置为引导加载、则器件将进入 SCI 引导模式并等待内核执行实际引导加载(如果是 TMS320F28377S、则为闪存内核 B)。 根据"4.1.1应用程序加载"一章 、必须提前加载实际内核。  
"发送自动波特字符后、闪存内核可传输到器件1
一个字节、等待字符回显、然后再发送下一个字节。 确保使用闪存内核
单独构建并链接到 RAM。"
问题2:从何处获取内核以及将其放入 RAM 的过程是什么?

问题3内核始终通过 SCI_A 进行传输、并且只能选择引导加载、或者是否也可以通过 I2C_A 写入内核? =>在技术参考手册 spruhx5c 的表3-1中。 器件引导模式只列出了 SCI。 问题4: 这是 OTP 的用途吗?

问题5:如果器件设置为通过 I2C 加载内核和应用、则每次重新插电或加电时是否都要发生这种情况? n´t,我不会这样认为,因为这样做就不会有什么用处。

此致、
Jasson

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

    串行闪存编程器是一个 PC 主机程序。 SCI 闪存内核是使用 SCI 引导加载程序加载到器件的内核、然后运行以上载和刷写闪存应用程序。 这两个器件均在 C2000Ware 中提供。

    如果您希望为 DFU 使用 I2C、则可以将 SCI 内核移植到 I2C。

    OTP 设置可用于更改获取模式引导模式。

    您可以将器件设置为始终引导至闪存、并通过某种方式决定是否运行执行 DFU 的应用。 这就是我的建议。 您可以切换 GPIO、也可以通过 I2C/SCI/ETC 发送一些命令

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

    你好 Sal、

    我不´m 你的回答是否正确。

    顶层部分
    SCI 闪存内核是使用 SCI 引导加载程序加载到器件的内核、然后运行以上载和刷写闪存应用程序。 这两个器件均在 C2000Ware 中提供

    我将根据技术参考第3.9节(见下文)来确定这一答案。 因此、我要将引导选择引脚设置为 SCI 模式、传输引导加载程序内核、然后将实际应用程序传输到闪存。 对吧? 由于器件被模式选择引脚设置为从 SCI 引导、我是否必须在每次加电或复位时运行这个过程?

    底部
    "您可以将器件设置为始终引导至闪存、并通过某种方式决定是否运行执行 DFU 的应用。 这就是我的建议。 您可以切换 GPIO、也可以通过 I2C/SCI/ETC 发送一些命令。"

    1)
    "始终引导至闪存 "是什么意思? 您参考哪一个指南/章节? 既然您写的是"始终"、那么我觉得每次复位或上电时都会执行此过程? 我n´t 的是、为什么每次复位时都要将存储在外部非卷存储器中的程序加载到 μ µC 的非易失性闪存中? 这将n´t 闪存使用寿命、加上我不会看到传输总是存储在外部存储器上的相同程序的感觉。

    2) 什么意思是"有某种方法决定是否运行执行 DFU 的应用程序"?  您是否指的是引导选择引脚? 这是否意味着、在启动期间、有一段时间可以决定运行闪存应用程序或引导加载? 这是否是一个外部器件在将引脚拉至特定状态时重新启动 μ µC 的过程?  这听起来是"始终"引导至闪存的示例。

    3) 您可以切换 GPIO、也可以通过 I2C/SCI/ETC 发送一些命令
    我会在哪个流程中执行该操作、我会在这方面完成什么?

     

    此致、
    Jasson