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.

[参考译文] AM67:AM67 SDK 10.0.1 GPIO 回读问题

Guru**** 2457470 points
Other Parts Discussed in Thread: AM67

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1479017/am67-am67-sdk-10-0-1-gpio-readback-issue

器件型号:AM67

工具与软件:

尊敬的所有人:

  am67 SDK 10.0.1。  

root@~# gpioset 0 31=0
root@~# gpioset 0 31=1

我测量 GPIO0_31电压值、它是3.3V

root@~# gpioget 0 31.
1.

当我读回 GPIO0_31时、读取值正确、但我测量 GPIO0_31电压值、它是0.9V、而不是3.3V

 对吗?

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

    您好!

    您是否能够确保相应的引脚多路复用设置为0x40007…

    此致、

    基尔西  

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

    您好、Keerthy、

    我的配置如下:

    J722S_IOPAD (0x007c、PIN_OUTPUT_PULLUP、7 )/*(T23) GPMC0_CLK.GPIO0_31 *  

    如何设置为0x40007?

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

    您好!  

    有2层的.r.t 引脚。 Pinmux 层应始终输入以设置位18 (也称为 RX_ACTIVE)。 第二层是 GPIO 层、可在其中将其设置为输出。

    所以

    只需将 PIN_OUTPUT_PULLUP 更改为 PIN_INPUT。

    这应该负责设置位18。

    此致、

    基尔西  

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

    Keerthy、您好!

      我更改为 PIN_INPUT、  

    J722S_IOPAD (0x007c、PIN_INPUT、7)/*(T23) GPMC0_CLK.GPIO0_31 *  

    但当运行以下命令时:

    root@~# gpioset 0 31=1

    root@~# gpioget 0 31.

    我测量 GPIO0_31电压值、它也是0.9V。

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

    请使用以下命令仔细检查 pinmux 寄存器值:

    devmem2 reg_addr w

    此致、

    基尔西  

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

    Keerthy、ć

      找不到  RX_ACTIVE 描述、可以提供 GPIO0_31的地址吗? 谢谢

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

    Keerthy、ć

      我在您的 am67 EVM (SDK 10.0.1)上测试了此问题。 将 USER_LED2 GPIO 设置为1、gpioset -c 1 16=1、 测量 GPIO 电压值、它为3.3V、当运行 gpioget -c 1 16时、 我测量 GPIO 电压值为1.9V。

      您可以在 am67 EVM 上进行测试吗?

      谢谢

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

    好的。 我会努力回到你的身边。

    此致、

    基尔西  

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

    您好!

    [报价用户 id="369348" url="~/support/processors-group/processors/f/processors-forum/1479017/am67-am67-sdk-10-0-1-gpio-readback-issue/5679577 #5679577"]J722S_IOPAD (0x007c、PIN_OUTPUT_PULLUP、7 )/*(T23) GPMC0_CLK.gpio0_31 */[/QUOT]  

    I 直接使用:

    devmem2 0x000F407C w 0x40007 /*、用于将 pinmux 寄存器配置为将 T32引脚配置为 GPIO0_31 */
    devmem2 0x600010 w 0x7FFFFFFF /*将 GPIO_DIR01寄存器设置为输出对于 GPIO0_31、位31对于输出设置为0 */
    devmem2 0x600014 w 0x80000000  /*将 GPIO_OUT_DATA01寄存器设置 为 输出1对于 GPIO0_31、位31设置为1对于输出*/

    我可以看到状态被切换。 您是说在示波器上测量电压时电压电平不正确吗? 如果您确认、我可以邀请硬件专家进行讲解。

    [报价用户 id="369348" url="~/support/processors-group/processors/f/processors-forum/1479017/am67-am67-sdk-10-0-1-gpio-readback-issue/5687314 #5687314"]我将 USER_LED2 GPIO 设置为1、gpioset -c 1 16=1、 我测量 GPIO 电压值、它是3.3V、当我运行 gpioget -c 1 16时 、我测量 GPIO 电压值、它是1.9V

    这是一个不同的 GPIO、它使用 I2C 扩展器、因此不需要引脚多路复用器。

    -基尔西

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

    Keerthy、

      是的、我 在示波器上测量的值不是非常大。 它仅为0.9V

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

    我不确定您使用的是哪个版本的 J722S 板(PROC170E?)、但 EVM 上存在设计错误。  问题在于、多路复用器 U12由3.3V 电源供电、但应该是5V 电源。  我们看到、在大多数系统中、多路复用器均可正常工作、但 IO 上的高电压低于3.3V (通常约为2.4V)。  以下是解决该问题所需的修改: