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.

[参考译文] TMS320F2.8379万D:使用新的启动引脚为闪存启动配置OTP BOOTCTRL

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1073739/tms320f28379d-configuring-otp-bootctrl-for-flash-boot-using-new-boot-pins

部件号:TMS320F2.8379万D
主题中讨论的其他部件:TMS320F2.8375万D

我需要将微控制器上的启动引脚移至GPIO02和GPIO03,并从闪存启动。 我将GPIO02和GPIO03连接到启动板上的3.3V电源。 然后我闪了一下  

0x0.304万B5A编入Z2-BOOTCTRL OTP寄存器。

0x03,用于引脚GPIO02

0x04,用于引脚GPIO03

0x0B用于闪存启动

0x5A用于密钥

基于以下内容:

我刷新  了LED Blinky示例程序。 如果我按启动板上的重置按钮,处理器不会从闪存启动。  我做错了什么? (当我将GPIO84和GPIO72上的开关置于ON (打开)位置(连接到3.3V)时,它通常在按下复位按钮时从闪存启动。  我的目标是在具有TMS320F2.8375万D芯片的自定义板上执行此操作,但我想 在转移到实际器件之前在我的Launchpad上测试此操作。

此致

Neil

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

    你好,Neil,

    您是否尝试使用相同的值设置仿真启动 (请参阅设备TRM中的“4.7 配置仿真启动选项”一节),并查看它是否适用于连接的仿真器。 这将确保所有引导针设置正确。 您需要遵循以下步骤-

    • 连接至CCS。  
    • 从调试器复位问题(CCS)
    • 在0xD00处写入正确的仿真引导值
    • 单击"Run (运行)"

    这应引导至您的代码。 如果没有,则需要检查卡在哪里。

    此致,

    Vivek Singh

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

    如果此操作正常,但仍不能独立运行,则应尝试通过在0xD00位置写入0xFF5A并在重置后运行来独立模拟。 在这种情况下,它将使用在OTP中编程的引导设置(就像在独立模式中,但连接了调试器),您应该能够使用CCS对其进行调试。

    此致,

    Vivek Singh

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

    Vivek,

    感谢您提供信息。  模拟独立启动正是我所需要的(在加载实际硬件之前验证设置)。  但是,我在启动板上做这件事时遇到了麻烦。  我是否错过了一些步骤:

    我使用 上述代码(0x0.304万B5A)对Z2-BOOTCTRL OTP寄存器进行了编程 ,因此GPIO2和GPIO3应该是我的启动引脚。  我使用CCS连接到Launchpad,在运行它之前,我将$FF5A输入到$D00。 如果启动引脚连接到3.3V或GND ,则似乎没有区别:1. 在两种情况下,当我在CCS中按“运行”按钮时,启动引脚运行正常。  2.无论哪种情况,如果我尝试按硬件重置按钮,处理器都不运行(闪烁的指示灯停止 闪烁)。  3.如果我在CCS中按CPU RESET按钮,它在两种情况下都将停止工作,并且不会运行。  我是否缺少测试此问题的额外步骤? 在正确测试之前,我不愿意破坏我的原型。

    我正在使用跳线将J4连接器(板上编号为37和38)上的第3和第4针向下连接到3.3V或GND:它们应该是GPIO2和GPIO3

    感谢你的帮助。

    此致

    Neil

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

    您好,

    如果107.3739万如果启动2.8379万启动引397.6857万引脚397.6857万脚  在正常情况下正常运行,则两个启动引脚会出现区别:GND[/1:

    是否在连接到CCS然后运行它之后加载代码? 如果是,则您不应该这样做。 只需从调试器重置CPU,然后单击“运行”,而不加载代码。

    此致,

    Vivek Singh

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

    Vivek,

    我创建了只加载符号的调试配置。 我连接到Launchpad,加载 $FF5A到$D00,然后按“CPU重置”按钮,再按“运行”按钮, 连接到3.3V或GND的启动针没有反应。 如果我点击重新启动按钮然后运行,则代码在任何一种情况下都会运行。  

    此致

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

    如果未运行,则存在问题。 您需要停止CPU并在其卡住的地方进行调试。

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

    当我连接时,它会立即显示如下,并且无法运行:

    如果执行 "重新启动",其外观如下所示:

    这是有意义的,但它会绕过任何引导选项(我猜是)。  它肯定不会加载代码,而只是在连接。 重新启动有什么作用? 我应该按什么顺序进行。

    此致

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

    我尝试使用这里发布的内容: https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/786691/ccs-tms320f28377s-changing-boot-pins-via-bootctrl-emu_bootctrl</s>2000 200078.6691万2.8377万

    如果我在$D00中将EMU-boot设置为0美元b5A,我点击“CPU Reset”(CPU重置),然后点击“Run”(运行), 它会按预期从闪存启动,但是,设置的启动引脚并不重要。  这似乎是为了测试0B模式是否正确,但不测试启动针脚的功能。

    我甚至尝试在$D00中使用$FE5A,它应该使用启动引脚来决定操作。  无论引导针设置为什么,都不会运行此操作。

    此致

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

    是的,如果将仿真引导设置为闪存引导,则它将忽略BOOTPIN值,以便正常工作。 在"重新启动"的情况下,CCS也会强制PC投影入口点,因此运行正常。 您设置BOOTPIN或BOOTPIN的方式不能正确驾驶时,可能会出现一些问题。 连接到CCS后,检查CCS寄存器视图中的GPIO数据寄存器,查看其捕获的BOOTPIN GPIO值。  

    此致,

    Vivek Singh

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

    Vivek,

    这毫无意义。  我将$D00设置为0美元b5a并连接到卡上,完成跑步,然后开始跑步。  我在$D00中设置了$FE5A,但它无法启动。 我为两组启动引脚(GPIO2和GPIO3 (Z2中设置)以及GPIO72和GPIO84 (默认))接线。  为什么这不起作用?  或者我还可以尝试什么? 请参阅下文。

    此致

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

    Neil,

    您是否在区域1 (Z1-BOOTCTRL) OTP位置设定了任何值?

    此致,

    Vivek Singh

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

    防区1从未编程。

    谢谢

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

    这是很奇怪的。 另一个要看的是项目的入口点。 code_start放在.map文件中的什么位置?

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

    只是想检查您是否能够解决此问题? 如果您有任何疑问,请告知我们。  

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

    地图文件如下所示。  我从未让它工作。

    代码启动  

    *      0.08万   0008000万   0000.0002万    

             0.08万00   000000020万00002   F2837xD_CodeStartBranch.obj0.0002万 F2837xD_CodeStartBranch.obj (2837 (代码启动)

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

    我将在自定义主板上试用它,以查看它是否与Launchpad和/或演示代码有关。  我会告诉你情况如何。  谢谢你。

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

    好的,谢谢。

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

    你好,Neil,

    您对此有任何进一步的更新吗? 如果您的问题得到解决,我们可以关闭此帖子。

    此致,

    Vivek Singh

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

    我在自定义板上尝试了相同的步骤,它工作正常。  我仍然不知道为什么Launchpad不工作。

    感谢你的帮助。