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:使用 DCSM 部分重新配置引导引脚

Guru**** 2526700 points
Other Parts Discussed in Thread: TMS320F28377D, C2000WARE, SYSCONFIG, LAUNCHXL-F28379D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1556435/tms320f28377d-reconfiguring-boot-pins-using-dcsm-section

器件型号:TMS320F28377D
主题中讨论的其他器件: C2000WARESysConfigLAUNCHXL-F28379D

工具/软件:

尊敬的团队:

我们使用 TMS320f28377D 设计了定制电路板、在测试过程中遇到了 UC 未正确引导的问题。 经过调查、我们发现这是由于我们的设计中未配置的引导引脚 (GPIO 72 和 84) 造成的。 它们最初是放样浮动的。 然后、我们使用电阻器在外部将这些引脚上拉至 3V3、我们观察到 POR 后 UC 已正确引导(从闪存)。

您可以参考 线程了解更多上下文。

现在、问题是、我们在设计中已经使用了 GPIO 84 进行了其他目的、并希望通过将它们配置为引导引脚来使用一些不同的引脚。

因此、我们尝试 探索 GPIO 42 和 43 作为引导引脚、而不是 72 和 84。 我们遵循  dcsm_security_tool  从 CCS IDE 的“Resource Explorer“选项卡导入的示例工程:C2000 实时微控制器/Embedded Software/C2000Ware (6.00.00.00)/English/Devices/F2837XD/F28377D/Examples/Driverlib/cpu1/dcsm/dcsm_security_tool

我们对该工程中提供的 SysConfig 文件进行了以下更改:

现在,一旦我们测试这些更改,在调试模式下,我们会在执行最后一行后观察到以下错误:  LB _c_int00

观察以下图像:

想知道为什么会发生这种情况呢?

您能帮助我们解决这个问题吗?

如果缺少任何需要与上面 SysConfig 图片中提到的内容一起配置的内容、请告知我们。

供参考:我们将首先使用 LAUNCHXL-F28379D 来测试这种引导引脚的重新配置更改、然后计划根据结果在我们的定制电路板上实施。 引脚 42、43 还不会通过连接到 3.3 的电阻器上拉/高电平。 我们看不到代码到达 main() 时碰到 main() 内设置的断点。

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

    您好团队、跟进以了解我们是否可以对此进行任何更新?

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

    嗨、团队、我们可以在这里更新一下吗?

    我们还需要执行以下步骤、以便从示例工程中移植/迁移这些设置  dcsm_security_tool  我们的应用。

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

    您好:

    对延迟的回复表示歉意。 为什么您没有将 GPIO42 和 43 拉高? 这是在器件复位时选择获取模式(闪存引导)所必需的。

    --卢克

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

    您好 Luke、

    感谢您的答复。

    我们没有将这些引脚上拉、因为我们想检查调试模式下的程序执行行为、以验证在我们通过 OTP 配置将这两个引脚编程为引导引脚后、UC 是否无法启动。

    现在、在将它们拉高后、我们会观察到 UC 启动、因此验证了引导引脚配置。

    现在、我们要 从示例工程中移植/迁移这些设置  dcsm_security_tool  对于我们的应用、您能帮助我们完成 相关步骤/过程吗?

    我看到示例工程生成了 2 个文件 dcsm.asm 和 dcsm.cmd、如何将这些文件包含在我们的应用程序中? 执行此操作时是否需要进行任何工程设置?  

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

    如果在整个工程中使用 SysConfig、则可以打开.syscfg 文件并在其中添加相同的 DCSM 配置。 如果您未使用 SysConfig 或没有启用 SysConfig 的工程(例如 driverlib 工程)、则可以将生成的 dcsm.asm 和 dcsm.cmd 文件复制到您的工程中、并且在闪存模式下构建时、DCSM 设置应包含在.out 中。

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

    您好 Luke、

    感谢您的回答。

    我们的工程确实有一个空的 SysConfig 文件。 但它不包含 DCSM 段。

    我是否需要从其他位置添加它? 还是我在这里遗漏了什么?

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

    看起来您的工程没有指向工程属性中的 C2000Ware SysConfig。 以下是工程属性应该是的示例:

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

    您好 Luke、

    是的、您是对的。 我的工程中的 empty.sysconfig 文件确实指向 工程属性中的 C2000Ware SysConfig

    是否有任何方法可以链接/使其指向它?

    此外、在不使用 SysConfig 的情况下、直接从示例工程导入 DSCM.asm 和 dcsm.cmd 文件应该可以正常工作?

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

    是的、您可以直接移植 dcsm.asm 和 dcsm.cmd 文件