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.

[参考译文] TMS320F28388D:如何引导 CPU2和 CM

Guru**** 2609955 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/988391/tms320f28388d-how-to-boot-cpu2-and-cm

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

您好!

F28377D  将 CPU2闪存内核加载到 GS RAM、然后使用 IPC_BRANCH 调用命令、以便 CPU2从 GS RAM 的入口点开始执行代码。

现在、我的客户正在使用 F28388D

IPC 引导命令不同、我在 F28388D TRM 中看不到 IPC 分支命令(到 GS RAM)。

  

(1)能否使用 F28388D IPC 命令实现启动 CPU2和 CM?

(2)我认为一种解决方案是使用"IPC 消息复制到 RAM 引导"而不是(1)。

但是、消息 RAM 只有2KB、这还不够。

是否有任何解决方案?

 

谢谢、

科基

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

    科基

    在 F28377D 中、CPU2的引导至 RAM (M0RAM)(入口点为0x0)。 它没有引导至 GSRAM 的选项。

    在 F28388D.CPU2中、引导至 M0RAM (入口点为0x0)。 请查看 TRM 表5-21。 CPU1TOCPU2IPCBOOTMODE 和表5-26。 CPU2的入口点地址以了解更多详细信息。

    在 F28388D.CM 中、您可以引导至 S0RAM (入口点为0x2000 0800)。 请查看 TRM 表5-22。 CPU1TOCMIPCBOOTMODE 和表5-27。 CM 的入口点地址、了解更多详细信息  

    此致、

    曼诺伊

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

    大家好、 Manoj

    如何进行专门配置?

    谢谢、

    科基

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

    科基

    在 CPU1代码中、您可以执行以下函数以引导至 CPU2的 M0RAM

    DEVICE_BOOTCPU2 (BOOTMODE_BOOT_TO_M0RAM);

    请参阅 driverlib\f2838x\examples\C28x_dual\ipc\ipc_ex2_msgqueue_c28x1示例代码

    在 CPU1代码中、您可以执行以下函数以引导至 CM 的 S0RAM

    DEVICE_BOOTCM (BOOTMODE_BOOT_TO_S0RAM);

    请参阅 driverlib\f2838x\examples\C28x_cm\IPC\IPC_ex2_msgqueue_c28x1示例代码

    此致、

    曼诺伊

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

    大家好、Manoj

    [引用 userid="465179" URL"~/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/988391/tms320f28388d-how-to-boot-cpu2-and-cm "]但是,消息 RAM 只有2KB,这还不够。

    ■M0RAM  大小=1K■S0RAM  大小=16K

    [Q1] CPU2代码是否由于 M0RAM 而限制为1KB? 如果是、则无法解决引用问题。

    [Q2]是否" CPU2和 CM 的代码"通过重写链接器文件来放置 M0RAM 和 S0RAM?  

    此致、

    科基


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

    科基

    从本质上讲、F28388D 与 F28377D 在引导至 RAM 选项方面没有什么不同。正如我在前面的消息中提到的、F28377D 和 F28388D 都具有引导至 RAM 的功能(入口点为0x0)。 请尝试了解在使用 F28377D 时如何从您的角度解决此问题。

    CPU2代码不限于 M0RAM。 入口点仅意味着当 CPU2从 Bootrom 分支到 RAM 时、它开始从 M0RAM 的地址0x0执行代码。 您仍有整个 CPU2存储器空间(CPU2中的所有 RAM 均可使用)供 CPU2闪存内核使用。 您可以在 M0RAM 中使用函数、该函数可以像任何应用软件一样分支到其他 RAM 位置。

    此致、

    曼诺伊

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

    大家好、 Manoj

    很抱歉、我不理解。

    我知道 CPU2和 CM 可以使用自己的 RAM 来执行超过2KB 的代码。

    如果我在 M0RAM 和 S0RAM 上运行 CPU2、CM、我需要运行哪些具体步骤?

    示例) 将代码放入带有链接器文件的 M0RAM 中。 。

    谢谢、

    科基

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

    科基

    您是否查看过我在先前帖子中提到的 IPC 示例代码? 了解提供的示例将提供有关如何开发 CPU2/CM 应用程序代码的指针。 下面的链接器命令代码片段可在2838x_RAM_lnk_CPU2.cmd 中找到。 请确保不要更改 CPU2应用程序代码中的以下代码行。

    发件人:CPU2链接器命令文件

      /* begin 用于"引导至 SARAM"引导加载程序模式  */
      开始           :origin = 0x000000,length = 0x000002

      codestart       :>开始

    此致、

    曼诺伊