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.

[参考译文] TMS320F28377D-DSP:使用通过通信连接到 EP 的外部闪存启动 CPU1和2中具有不同功能的固件。

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1436353/tms320f28377d-ep-booting-firmware-with-different-functions-in-cpu1-and-2-using-external-flash-memory-connected-to-the-dsp-via-spi-communication

器件型号:TMS320F28377D-TMS320F28377D-DSP EP
Thread 中讨论的其他器件:C2000WARE

工具与软件:

您好!  

我们使用双核 TMS320F28377DPTPEP。

我们希望通过 CAN 通信将固件下载到上述 DSP。
我们固件下载的存储空间是通过 SPI 通信连接到 DSP 的外部闪存。

此外、我们希望利用 SPI 通信从存储下载的固件的外部闪存引导双 CPU。
我们希望从一个外部闪存引导 CPU1和 CPU2的不同固件。
如果有与上述内容相关的示例、请提供。

如果没有使用 CAN 通信下载 DSP 固件的示例、请提供一个将软件存储在通过 SPI 通信连接到 DSP 的外部闪存中并对其进行引导的示例。
如前所述、我们将重点介绍的部分、用于引导 CPU1和 CPU2中具有不同功能的固件。
换句话说、我们需要一个示例、即在每个外部闪存中存储两个 SWS 并对其进行引导。

感谢您的支持。

此致、

Woojoung

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

    你好 Woojoung、  

    这些资源 可能对您的 C2000ware SDK 根目录中的开发有所帮助。  

    1. 引导 ROM 源代码可能有助于理解 SPI/CAN 引导。
      1. CPU1 :libraries\boot_rom\f2837xd\revB\rom_sources\F2837x_bootrom\cpu01-bootrom\source
      2. CPU2 :libraries\boot_rom\f2837xd\revB\rom_sources\F2837x_bootrom\cpu02-bootrom\source
    2. 您还可以参阅 串行闪存编程指南 和 SCI 闪存内核 、了解如何与主机建立外设通信(device_support\f2837xd\examples\dual\F2837xD_sci_flash_kernels)。
    3. 这并不是明确针对 F2837x 系列器件所做的、但您可以参阅 CAN 闪存编程指南 作为示例。
    4. 此外、我们还有一个为 F2838x 器件编写的示例、用于 通过 SPI 与外部 EEPROM 进行通信、您可以参考(driverlib\f2838x\examples\c28x\spi\spi_ex6_eeprom.c")。

    此致!

    Matt

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

    感谢您的帮助。  

    我还有其他问题。


    1. CPU1和 CPU2的固件软件文件为 CPU1.out 和 CPU2.out 文件。
    我想将这2个文件转换为1个十六进制文件。 如果您能提供这样的示例来将两个输出文件转换为一个 hex 文件、我将不胜感激。

    2. 我想通过 CAN 通信将一个以这种方式转换的十六进制文件下载到外部闪存中。 我们已经实现了将单个 CPU 的固件软件文件下载到闪存的功能。 我可以用同样的方式将双 CPU 的固件软件文件下载到闪存中吗?


    感谢您的支持。

    此致、

    Woojoung

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

    你好 Woojoung

    1. 请参阅  汇编语言工具用户指南中的加载映像格式子章节 、然后查看是否符合您的需求。
    2. CPU1无法直接对 CPU2闪存进行编程、但 CPU1可以对其存储体进行编程、CPU2可以对其存储体进行编程。 不过、如果您通过 CPU1流式传输所有内容、则可以通过共享 RAM/IPC 将其传输到 CPU2存储器、并让 CPU2处理对其存储体的编程。 请看一下 C2000Ware 中的 SCI 闪存内核示例(device_support\f2837xd\examples\dual\F2837xD_sci_flash_kernels)。  这种情况下、两个 CPU 使用相同的 SCI 模块(需要时将 SCI 所有权切换到 CPU2)。

      如果您对此内核有任何疑问、我会将其重新分配给我们的内核专家、以获得进一步的建议。  

    此致!

    Matt