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.

[参考译文] sysconfig Pin 抽象代码

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1078176/sysconfig-pin-abstraction-code

“线程:sysconfig”中讨论的其它部分

您好,

我本来希望 sysconfig 生成的代码的一个更有用的输出是从引脚编号中提取 pin 函数。

例如,我已在 sysconfig 工具中将 GPIO91配置为 HW_FLT_LATCH。 我曾希望生成的代码将在某个位置定义以下宏。

Fullscreen
1
#define HW_FLT_LATCH 91U
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

我的应用程序现在只需要引用 HW_FLT_LATCH,如果/当我们更改引脚分配时,不需要修改它。

我是否错过了生成此映射的按钮单击位置,或者 sysconfig 根本不执行此操作?

谢谢你。

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

    您能告诉我您使用的是哪种设备吗?

    此致,

    约翰

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

    是的,它是 TMS320F2837xD。 抱歉,我没有预料到这与我的问题相关。

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

    吉尔

    感谢您提供设备。  由于代码生成模板由各自的设备团队所有,因此设备很重要。  我会将此事发送给 C2000团队进行评论。  就我个人而言,我认为这项请求是合理的,对于其他一些设备系列,这项操作今天就完成了。

    此致,

    约翰

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

    非常感谢约翰!

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

    Kier,非常有趣,您为什么需要 #define HW_FLT_LATCH GPIO _91_GPIO91

    您是否计划稍后更改 pinmux?

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

    不是插针 mux,而是插针选择。 目前,我正在使用 controlCARD 进行原型设计,但后来我们将使用自己的控制板,因此我们总是有机会使用不同的输入引脚。 在这种情况下,在 sysconfig 文件中集中管理该文件而不更改应用程序代码(对我而言)是有意义的。  

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

    吉尔

    由于美国假日,请期待明天的回复。

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

    NIMA,

    道歉。 我可以理解您现在提出这个问题的原因。 OP 中的代码示例错误,因为它将 HW_FLT_LATCH 映射到引脚 mux 值。 我打算将其映射到引脚编号,即91U,如本例所示。 尽管如此,这项请求仍然有效。

    Fullscreen
    1
    pin_state = GPIO_readPin( HW_FLT_LATCH );
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

    你好,Kier,

    实际上,sysconfig 中已经包含了该功能,因此您应该可以像您所提到的那样使用它! 来自“myGPIO0”(或您所说的任何内容)的映射将在 board.h 中生成 请参阅以下内容,其中我创建了一个名为“HW_FLT_LATCH”的 GPIO,并将其从 GPIO0更改为 GPIO91,如您所述:

    然后,您可以使用上述"HW_FLT_LATCH"。 如果有任何问题,请告诉我!

    此致,

    文斯

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

    你好,Vince,

    谢谢你。 这是非常令人鼓舞的,但我认为我现在的问题是没有生成 board.h 的迹象。 我只能生成以下文件:

    (笑声)

    我是否需要在某个地方按一个按钮?

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

    你好,Kier,

    通常,board.h 和 board.c 文件在项目构建之前不会显示,您是否可以尝试构建项目?

    此致,
    文斯

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

    你好,Vince,

    谢谢,但我已经完成了这个项目。 我的基于 F2837xD 的项目从未生成过名为 board.c 和 board.h 的文件。 下面是生成的文件列表:

    因此,我似乎不太可能拿到牌号 是否可以将此文件添加到列表中?

    吉尔。

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

    你好,Vince,

    请找到附加的我的文件。 可以通过此功能生成 board.h 吗?

    Kier.e2e.ti.com/.../Portpin.zip

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

    我认为这是您项目设置的问题。 您是从一个示例开始还是自己将 sysconfig 添加到项目中? 我认为软件产品添加不正确。

    e2e.ti.com/.../faq-how-do-i-add-sysconfig-support-pinmux-and-peripheral-initialization-to-an-existing-driverlib-project

    请查看:

    https://www.ti.com/lit/spracx3

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

    感谢 Nima 提供的信息。

    我的硬件团队大约在6个月前向我提供了 syscfg 文件。 他们使用了独立的 sysconfig 工具...

    https://www.ti.com/tool/SYSCONFIG

    ...并为 F2837xD_337ZWT (BGA)创建了一个全新的配置,然后相应地填充了引脚分配。 然后他们给我提供了 syscfg 文件来启动软件。 代码总是生成的很好,但 board.c/board.h 永远不是生成选项,只有 pinmix.c 和 pinmix.h

    除了您的评论“软件产品添加不正确”之外,我尝试在独立工具中创建一个新项目,并可能使用以下设置重复丢失的 board.c/.h:

    在这种情况下,不会生成 board.c 和 board.h。

    但是选择软件产品...

    表示该 board.c 和 board.h 是生成选项。

    所以,对于阅读这篇文章的人来说,如果 sysconfig 生成 pinmix.c/pinmux.h,但不生成 board.c/board.h,这意味着您正确或错误地选择了一个“裸机比目”……不管这是什么。