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.

[参考译文] CCS/TMS320F28379D:TMS320F28379D 引导模式引脚配置

Guru**** 2482225 points
Other Parts Discussed in Thread: TMS320F28377S

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/702703/ccs-tms320f28379d-tms320f28379d-boot-mode-pin-configuration

器件型号:TMS320F28379D
主题中讨论的其他器件:TMS320F28377SC2000WARE

工具/软件:Code Composer Studio

大家好、

我正在使用 Launchxl 28377。 我阅读了有关 tms320f28377s 的 TRM 和 launchxl8377s 的用户指南、并了解了所有引导模式配置类型及其设置。 但我实际上找不到我的问题的答案。 在 TRM 中、默认情况下有4种不同的引导模式。 您可以设置 GPIO 72-84引脚、并且可以引导所选的引脚。 在获取/闪存模式下,您可以通过一些寄存器设置使用其他引导模式(SPI、I2C、CAN),对吧?

但我的问题是,我是否可以像默认那样使用其他引导模式(SPI、I2C、CAN)? 换句话说、当我将 GPIO72-84引脚设置为0-1值时、引导模式将是 SCI 引导模式。 但我想这样做,当我用0-1值设置 GPIO72-84引脚时,引导模式应该是 CAN 模式或其他模式。 我可以这么做吗?  

此致、

ADEM。

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

    否、默认引导模式选项中不提供 SPI/I2C/CAN。 当 GPIO72 = GPIO84 = 1时、如果您为 ZONE1 (或)为 ZONE2对 Z1-BOOTCTRL 寄存器进行编程、则使用 CAN 引导模式。

    对于使用 CANBOOT0、
    Z1-BOOTCTRL 寄存器(0x7801E)= 0x0000 075A
    (或)
    Z2-BOOTCTRL 寄存器(0x7802E)= 0x0000 075A


    对于使用 CANBOOT1、
    Z1-BOOTCTRL 寄存器(0x7801E)= 0x0000 875A
    (或)
    Z2-BOOTCTRL 寄存器(0x7802E)= 0x0000 875A

    注意:当您同时对 Z1-BOOTCTRL 寄存器和 Z2-BOOTCTRL 寄存器进行编程时、Z1-BOOTCTRL 寄存器设置将优先。

    此致、
    曼诺伊
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Manoj、我明白了。 是否有任何方法可以在不设置寄存器的情况下使用 CAN 引导模式? 当我开发次级引导加载程序时,是否可以像默认那样使用 CAN 引导模式? 我想仅使用 S1开关设置 CAN 引导模式。 有可能吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    ADEM、

    是的、可以使用自定义辅助引导加载程序。 您已经使用了 GPIO72 = GPIO84 = 1、如果您不对 TI OTP 进行编程、它将引导至闪存。 一旦它引导至闪存、您就可以为自定义引导加载(或)设置条件、只需跳转到您的应用程序项目。

    在以下示例中、它在自定义引导加载程序中使用了 SCIBOOT1。 您可以针对定制 CAN 引导加载程序修改此示例。

    \device_support\f2837xs\examples\cpu1\F2837xS_sci_flash_kernel\cpu01

    此致、
    曼诺伊
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢 Manoj!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Manoj、

    我有另一个问题。 我想执行以下引导模式选择:
     
    GPIO72 GPIO84 (这些是器件上的 S1开关)  引导模式
       1       1   --------------------   >闪存
       1       0   -----------------------------------------------------------------------------   > CAN
       0       1   -------------------- >  SPI (或 I2C、USB)

       0       0   -----------------------------------------------------------------------------   >等待  

    我是否可以使用 Z-OTP-BOOTCTRL 寄存器执行所有这些配置?

    (无论它们在哪里、都没关系。 可以与 GPIO72-0 GPIO84-0搭配使用。) 很明显、我想将 CAN (或 I2C、USB) mdoes 与 GPIO72-1 GPIO84-0 或 GPIO72-0 GPIO84-0搭配使用、但 GPIO72-1 GPIO84-1不能搭配使用。 是否有办法做到这一点?

    谢谢!   

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

    抱歉、您无法更改所示的引导模式选项。

    如果您计划使用 CAN 引导、则需要更改 Z-OTP-BOOTCTRL 寄存器(或)写入自定义引导加载程序。 但是、对于任何一种情况、您都无法使用 GPIO72 = GPIO84 = 1。

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

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

    我致力于开发定制的 CAN 引导加载程序、并参考您建议的示例。 但是、我无法为自定义 CAN 引导加载程序对其进行修改。 你能给更多的建议吗?

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

    ADEM、

    这是新请求。 请打开一个新主题。 此外、请详细说明您面临的问题。

    此致、
    曼诺伊

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

    Manoj、

    我想知道我的理解是否正确。 当我开发定制引导加载程序时、我可以再次对闪存进行编程。 但是、如果我更改 Z-OTP-BOOTCTRL 寄存器设置、我无法再次对其进行编程、没错。 这是写入自定义引导加载程序和更改 OTP 寄存器设置之间的区别、对吧?

    此致。

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

    对 OTP (BOOTCTRL 寄存器)进行编程并使 GPIO72 = GPIO84 = 1将帮助您执行如下所示的不同 CAN 引导选项。 它不会单独对闪存进行编程。 它将帮助您将任何十六进制代码加载到 RAM 位置。

    对于使用 CANBOOT0、
    Z1-BOOTCTRL 寄存器(0x7801E)= 0x0000 075A
    (或)
    Z2-BOOTCTRL 寄存器(0x7802E)= 0x0000 075A


    对于使用 CANBOOT1、
    Z1-BOOTCTRL 寄存器(0x7801E)= 0x0000 875A
    (或)
    Z2-BOOTCTRL 寄存器(0x7802E)= 0x0000 875A

    自定义引导加载程序通常写入在加电时执行的闪存扇区之一。 自定义引导加载程序在加电时查找特定的签名信号/数据、并决定是否更新应用程序代码、然后跳转至现有应用程序代码并执行它。

    此致、
    曼诺伊