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.

[参考译文] TMS320F280025:引导加载程序

Guru**** 2562120 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1057104/tms320f280025-bootloader

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

你(们)好

我是 TI C2000 MCU 引导加载程序功能的新参与者。 我对此有几个问题。

我不想使用引脚将 MCU 控制为闪存引导模式或 SCI 引导模式。 我的想法是正常使用闪存引导模式启动 MCU、并使用 SCI_BOOT ()函数来控制 MCU 切换到 SCI 引导模式并等待 SCI 通信。 有可能吗? 如果可能的话。

2.文档"C2000微控制器的串行闪存编程"中提到的闪存内核 B 存储在 MCU ROM 中或需要从主机设备下载?  在 RAM 中运行它的步骤是什么。

MCU 和主机之间的接口为 RS485。 当然、MCU SCI 和运行 Linux 的主机设备(SBC)之间有 RS485收发器、需要在 SCB 中编写我们自己的应用。 是否有任何文档描述了通信协议?

4.如果 TI SCI 引导模式和闪存内核 B 不满足我们的要求、如何编写自定义引导加载程序。

谢谢

HK Woo

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="46959" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1057104/tms320f280025-bootloader ]1.I 不想使用引脚将 MCU 控制为闪存引导模式或 SCI 引导模式。 我的想法是正常使用闪存引导模式启动 MCU、并使用 SCI_BOOT ()函数来控制 MCU 切换到 SCI 引导模式并等待 SCI 通信。 有可能吗? 如果可能、请提供任何示例。

    这是可能的。 F28002x 的闪存内核示例具有一个名为 sciBootApplication 的函数、每当需要通过 SCI 流式传输图像以写入闪存时、就可以调用该函数。  

    [引用 userid="46959" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1057104/tms320f280025-bootloader ]2. 文档"C2000微控制器的串行闪存编程"中提到的闪存内核 B 存储在 MCU ROM 中或需要从主机器件下载?  在 RAM 中运行它的步骤是什么。[/quot]

    闪存内核存储在 RAM 中。 ROM 中的 SCI 引导加载程序将闪存内核加载到 RAM 中、然后跳转到 RAM 中闪存内核的入口地址。 闪存内核格式化为十六进制文件、并通过可在 PC 上运行的主机实用程序进行下载。 ROM 引导加载程序将十六进制文件写入 RAM 并跳转到十六进制文件指定的入口地址。  

    [引用 userid="46959" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1057104/tms320f280025-bootloader ]3. MCU 与主机之间的接口为 RS485。 当然、MCU SCI 和运行 Linux 的主机设备(SBC)之间有 RS485收发器、需要在 SCB 中编写我们自己的应用。 是否有描述通信协议的文档?

    您能在这里详细说明吗?

    [引用 userid="46959" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1057104/tms320f280025-bootloader ]4. 如果 TI SCI 引导模式和闪存内核 B 不满足我们的要求、如何编写自定义引导加载程序。

    您在这里有哪些要求?  

    谢谢、  

    Anu

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

    你(们)好、Anu

    我不想使用引脚来控制 MCU 进入闪存引导模式或 SCI 引导模式。 我的想法是正常使用闪存引导模式启动 MCU、并使用 SCI_BOOT ()函数来控制 MCU 切换到 SCI 引导模式并等待 SCI 通信。 有可能吗? 如果可能的话。

    这是可能的。 F28002x 的闪存内核示例具有一个名为 sciBootApplication 的函数、每当需要通过 SCI 流式传输图像以写入闪存时、就可以调用该函数。  

             洪启宇说:

             我认为你说的项目"flash_kenrnal_ex3_flash_kenral"是对的吗?

             TI 是否有文档来描述代码?

             3.在何处设置变量名称 BootMode?

    2.文档"C2000微控制器的串行闪存编程"中提到的闪存内核 B 存储在 MCU ROM 中或需要从主机设备下载?  在 RAM 中运行它的步骤是什么。

    闪存内核存储在 RAM 中。 ROM 中的 SCI 引导加载程序将闪存内核加载到 RAM 中、然后跳转到 RAM 中闪存内核的入口地址。 闪存内核格式化为十六进制文件、并通过可在 PC 上运行的主机实用程序进行下载。 ROM 引导加载程序将十六进制文件写入 RAM 并跳转到十六进制文件指定的入口地址。  

    MCU 和主机之间的接口为 RS485。 当然、MCU SCI 和运行 Linux 的主机设备(SBC)之间有 RS485收发器、需要在 SCB 中编写我们自己的应用。 是否有任何文档描述了通信协议?

    您能在这里详细说明吗?

             洪启宇说:
             在文档"C2000的串行闪存编程"的第5.1至5.2节中。 命令 MCU 执行不同的操作似乎是命令。 但是、我找不到向 MCU 发送图像的命令。
    4.如果 TI SCI 引导模式和闪存内核 B 不满足我们的要求、如何编写自定义引导加载程序。

    您在这里有哪些要求?  

            洪启宇说:

            例如、MCU 的闪存分为3个部分 A/B/C A 是引导加载程序、B 是应用程序、C 是映像存储器。 在正常操作中、应用程序通过 UART 接收新映像并将其存储到 C。引导加载程序确定是否需要更新固件。 如果有必要、它会将映像从 C 复制到 B。否则、引导加载程序将引导到 B。这是我的想法

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="46959" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1057104/tms320f280025-bootloader/3912933 #3912933"]

    我认为你说的项目"flash_kenrnal_ex3_flash_kenral"是对的吗?

             TI 是否有文档来描述代码?

             3.在何处设置变量名称 BootMode?

    [/报价]

    这是正确的、C2000Ware 中的位置是 C2000Ware_4_00_00_00\driverlib\f28002x\examples\flash

    2.应用手册 SPRAVB4描述了闪存内核项目的功能。  

    3.变量从 main 传递到 sciGetFunction、它指示要用于 SCI 引导的引导引脚。  

    [引用 userid="46959" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1057104/tms320f280025-bootloader/3912933 #3912933">在文档"C2000的串行闪存编程"部分5.1至5.2中。 命令 MCU 执行不同的操作似乎是命令。 但是、我找不到向 MCU 发送图像的命令。[/quot]

    serial_flash_programmer 实用程序将映像从 PC 发送到 MCU、DFU 命令用于将映像写入 MCU。  

    [引用 userid="46959" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1057104/tms320f280025-bootloader/3912933 #3912933"]例如,MCU 的闪存分为3个部分 A/C A 是引导加载程序、B 是应用程序、C 是映像存储器。 在正常操作中、应用程序通过 UART 接收新映像并将其存储到 C。引导加载程序确定是否需要更新固件。 如果有必要、它会将映像从 C 复制到 B。否则、引导加载程序将引导到 B。这是我的想法

    此自定义逻辑可添加到闪存内核项目的顶部。 闪存内核有助于从 UART 读取映像并将其写入闪存。 除了您可以自由添加的检查外、您还需要进行的所有检查。  

    谢谢、  

    Anu