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.

[参考译文] TMS320F28379D:SysConfig 输入 XBAR 配置应按 GPIO 名称进行选择(如果可用)。

Guru**** 2584395 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1171467/tms320f28379d-sysconfig-input-xbar-config-should-select-by-gpio-name-if-available

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

Nima

最好是按 GPIO 名称选择输入 XBAR 源。

例如、我已经在 GPIO91上设置了名为'hw_FLT_LATCH'的 GPIO 输入、我想将其用作 ePWM 跳闸区域触发器。 但是、当我选择这个输入作为输入源时、我必须选择 GPIO91。 我想选择 HW_FLT_LATCH、因为可以确认我选择了正确的输入引脚。

谢谢你。

Kier。

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

    这正是问题的关键。 输入 XBAR 也可以选择任何 GPIO、这意味着以下情形是有效的:

    SCIA 用作 mySCIXYZ。

    它必须具有引脚、RX 和 TX。

    这些 RX 和 TX 也可用作 INPUTXBAR 的输入、即使它们是输出引脚也是如此。

    我认为我们可以有两种可能的解决方案(一种比另一种更易于实施和维护):

    1.选择 GPIO91后、在它下面、我们搜索了所有使用过的 PINMUXes、以查看是否有任何其他模块使用 GPIO91。

    这更易于实现。

    2、现在这很难实现、但下拉列表将只显示所有 GPIO 和所有其他外设 GPIO 以及模块的名称。 这有点难于完成和管理。

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

    你怎么看? 第一就足够了?

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

    #1听起来足够好、但例如、灰色文本会说什么? 也许我不太理解这项建议。 抱歉/

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

    让我模拟一个演示、我将向您展示!

     

    谢谢、
    NIMA Eskandari
    C2000应用管理器

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

    Kier、

    整合在一起需要几个小时、但这就是它的样子:

    NIMA

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

    基本上、您可以看到其他模块中使用的 GPIO:

    因此、在本例中、EPWM2B 使用 GPIO3。

    因此、在输入 XBAR 中、您会看到:

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

    非常感谢您花了很长时间进行仿真、但我的理解是输入 X-BAR 源只能是 GPIO 输入、因此我有点困惑、为什么其他模块(例如 ePWM)是相关的。

    我要求不必选择 GPIO91、如果我已经指定了 GPIO91、我可以按 GPIO91的名称进行选择。 例如:

    抱歉、我应该把这张照片放在原来的帖子中。

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

    所以您是正确的。 输入 XBAR 只能采用 GPIO。 但是、如果该特定 GPIO 连接到 EPWMxA/B 输出、它仍会路由回器件。

    因此、还支持将 GPIO 实际用作 GPIO 以对引脚进行软件控制的场景。 查看以下内容:

    然后、在输入 XBAR 中、如果选择 GPIO 28:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="280106" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1171467/tms320f28379d-sysconfig-input-xbar-config-should-select-by-gpio-name-if-available/4409895 #4409895"]也受支持

    您是说在实施选项#1后受支持?

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

    是的、在我的本地设置中、现在支持它! 我们明年年初还会发布新版本!

    我们还有测试版发布计划。

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

    这对我很有用。 非常感谢!

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

    好的、我将在规划中使用它。 您是否想尝试一下? 我可以向您展示如何更新您的系统以尝试它。

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

    是的、请。

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

    我将在此处向您发送说明+更新的文件。

    NIMA

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

    Kier、

    您需要在中更新两个文件:

    C2000WARE/driverlib/.meta 文件夹

    common.js 和 inputxbar_input.js

    这两个文件都附在此处:

    e2e.ti.com/.../inputxbar_5F00_input.jse2e.ti.com/.../Common.js

    请记住、这样做后、您基本上会对 C2000WARE 进行一半更新。 我希望它不会导致任何其他模块无法正常工作。 我想不出影响任何事情的变化。

    然后、您还有最后一步:

    在 inputtxbar_input.js 文件中,取消注释第167行:

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

    感谢您提供这些文件。

    我执行了 mods 操作、但在 CCS 中打开.syscfg 文件时遇到以下错误:

    Unable to render selection
    TypeError: Pinmux.getGPIOFromDevicePinName is not a function
    
        at Object.getValue (C:\ti\c2000\C2000Ware_4_02_00_00\driverlib\.meta\inputxbar_input.js:101:56)
        at cb (webpack:///src/pinmux/services/objectManagers/configurable.ts:122:24)
        at Object.withDeprecatedAccess (webpack:///src/pinmux/services/deprecatedAccessGuard.ts:14:10)
        at Object.disableScriptingForCallback (webpack:///src/pinmux/services/scripting/scriptingGuard.ts:14:10)
        at expensiveFunction (webpack:///src/pinmux/services/objectManagers/configurable.ts:121:5)
        at getValue (webpack:///src/pinmux/services/utils.ts:440:17)
        at B.value (webpack:///src/pinmux/services/objectManagers/configurable.ts:127:16)
        at B.getValue (webpack:///src/pinmux/services/objectManagers/member.ts:317:15)
        at o.render (webpack:///src/pinmux/services/objectManagers/ui/configurables/textConfigurable.tsx:15:16)
        at Ua (webpack:///node_modules/react-dom/cjs/react-dom.production.min.js:187:188)

    我想我缺少一个修改后的 pinmux.js。

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

    是的! 我的错误。 我现在要将其发送给您!

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

    这是 filee2e.ti.com/.../pinmux.js

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

    谢谢、但我有另一个错误:

    Error: Exception occurred calling addInstance()
    
        at Proxy.<anonymous> (webpack:///src/pinmux/services/scripting/scriptingGuard.ts:34:10)
        at scriptFunc (W:\Build\OBC_CPU1\OBC.syscfg:15:30)
        at cb (webpack:///src/pinmux/services/scripting/runScript.ts:94:27)
        at Object.withDeprecatedAccess (webpack:///src/pinmux/services/deprecatedAccessGuard.ts:14:10)
        at Object.runAsUserScript (webpack:///src/pinmux/services/scripting/scriptingGuard.ts:49:3)
        at iteratee (webpack:///src/pinmux/services/scripting/runScript.ts:94:5)
        at baseEach (webpack:///node_modules/lodash/lodash.js:530:11)
        at Function.each (webpack:///node_modules/lodash/lodash.js:9409:52)
        at iteratee (webpack:///src/pinmux/services/scripting/runScript.ts:92:6)
        at st (webpack:///node_modules/lodash/lodash.js:530:11)
    Caused by: TypeError: PinmuxMigrations.interfaceInclusiveRename is not a function
        at Object.getGpioQualificationModInstDefinitions (C:\ti\c2000\C2000Ware_4_02_00_00\driverlib\.meta\pinmux.js:15:53)
        at func (C:\ti\c2000\C2000Ware_4_02_00_00\driverlib\.meta\can.js:347:33)
        at cb (webpack:///src/pinmux/services/objectManagers/moduleRequirements/requirements.ts:26:6)
        at Object.guardCallbackAccess (webpack:///src/pinmux/services/moduleAccessGuard.ts:44:10)
        at h.resolveRequirements (webpack:///src/pinmux/services/objectManagers/moduleRequirements/requirements.ts:25:5)
        at _.resolveRequirements (webpack:///src/pinmux/services/objectManagers/moduleInstance.ts:927:27)
        at _.initDynamicConfigurables (webpack:///src/pinmux/services/objectManagers/moduleInstance.ts:823:8)
        at Function.createInstanceImpl (webpack:///src/pinmux/services/objectManagers/moduleInstance.ts:134:11)
        at Function.createInstance (webpack:///src/pinmux/services/objectManagers/moduleInstance.ts:999:28)
        at webpack:///src/pinmux/services/instanceContainers/module.ts:184:66

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

    是的、这些文件中有一个更改日志、我没有预见它们会导致这些错误。

    那么、您能否将您的 Common.js 和 Pinmux.js 从 C2000WARE 4.02恢复为原始版本、然后我可以向您发送一个完全自包含的 inputxbar_input.js、这样我们就不必担心任何其他依赖项?

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

    当然、我可以这么做。 谢谢。

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

    好的、让我把它打包吧!

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

    在此处恢复 Pinmux.js 和 Common.js、并尝试使用以下内容更新 inputxbar_input.js:

    e2e.ti.com/.../7838.inputxbar_5F00_input.js

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

    这似乎效果良好。 非常感谢!

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

    非常棒、如果可以、可以在 F28004x、F2837xD、F2838x、F28002x、F28003x 上试用 F280013x、以确保它不会丢失任何特定的逻辑。 我尝试在编写代码时考虑到了每个器件系列。

    例如、在 F280013x 上、我们的最新和最低成本 MCU 采用小型封装、同一引脚上有两个 GPIO、因此我必须编写代码才能捕获这些情况。

    如果您还需要其他东西、请告诉我。

    另外、请使用"绿色环保"验证答案按钮标记我发送给您的主题帖答案、以便下一位客户找到答案的答案。

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

    你好、

    在上面的初始测试中、我使用的是 F2837xD_337ZWT、但同样的方法似乎不适用于  F2837xD_100PTP:

    无论如何、对于我用于项目的 BGA 封装(337ZWT)、我已经意识到仍然缺少一个名义链接、使其真正值得。

    对于 GPIO 配置、我必须按焊球坐标进行选择、但在 INPUTXBAR 中、我必须按 GPIO 编号进行选择。 这意味着我必须在数据表中查找焊球坐标、找到 GPIO 编号、然后在 INPUTXBAR 中选择该编号。 改进这一点的一种方法可能是、GPIO 配置可以说选择了什么 GPIO 编号。 例如:

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

    该功能已经存在、我可以向您展示如何启用它!

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

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

    我请求在默认情况下启用该选项!

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

    由于感恩节假期、我的回复可能会延迟至星期一!

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

    谢谢 Nima、是的、这样可以解决问题。

    如果用户故意或以其他方式将"器件引脚名称"恢复为关闭状态、则 GPIO 编号将变为不正确。 也许最好将"GPIO"字段说明更改为"引脚"?

    然后它会说…

    "器件引脚名称"关闭:

    引   脚3

    以下位置的"器件引脚名称":

    引脚  GPIO12/3

    这两种方法都是不模糊的。

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

    这正是问题的关键。 我认为这是一个简单的变化。 让我看看我是否可以尝试一下。