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.

[参考译文] TMDSIDK437X:GPIO 的引脚多路复用设置

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/565136/tmdsidk437x-pinmux-settings-for-gpios

器件型号:TMDSIDK437X
Thread 中讨论的其他器件:SysConfig

工具/软件:Starterware

您好!

我有 IDK-AM437x 开发套件、并尝试将 J16连接器上的 SPI 与一些 GPIO 配合使用。

作为基础、我使用 PDK 项目"MCSPI_BasicExample_idkAM437xarmTestProject"。

我想在 J16连接器上启用一些 GPIO、并将其用于扩展 SPI 功能。 因此、我在以下文件中添加了以下内容:

为了检查是否有任何工作正常、我为板上的两个 RGB LED 添加了引脚多路复用器。

文件:"spi_idkAM437x_board.c"

#include

#include

#include

GPIO 负载引脚的/*端口和引脚编号屏蔽。

位7-0:引脚编号和位15-8:(端口号+ 1)*/

#define AM437X_IDK_GPIO_LD_PIN (0x0401)

/* LED 0 */

#define GPIO_LED0_RED_PIN_NUM (0x18)//P2.24 A22

#define GPIO_LED0_RED_PORT_NUM (0x02)//P2.24 A22

#define GPIO_LED0_GREE_PIN_NUM (0x19)//P2.25 A24

#define GPIO_LED0_GREEN _PORT_NUM (0x02)//P2.25 A24

#define GPIO_LED0_Yellow PIN_NUM (0x16)//P2.22 B23

#define GPIO_LED0_Yellow _PORT_NUM (0x02)//P2.22 B23

/* LED 1 */

#define GPIO_LED1_RED_PIN_NUM (0x17)//P2.23 A23

#define GPIO_LED1_RED_PORT_NUM (0x02)//P2.23 A23

#define GPIO_LED1_GREEN PIN_NUM (0x0D)//P4.13 AB25

#define GPIO_LED1_GREEN _PORT_NUM (0x04)//P4.13 AB25

#define GPIO_LED1_YEL_PIN_NUM (0x10)//P4.16 AD21

#define GPIO_LED1_YELY_PORT_NUM (0x04)//P4.16 AD21

#define GPIO_USER_1_PIN_NUM (0x11)//P4.17 AE21

#define GPIO_USER_1_PORT_NUM (0x04)//P4.17 AE21

#define GPIO_USER_2_PIN_NUM (0x13)//P4.19 AE23

#define GPIO_USER_2_PORT_NUM (0x04)//P4.19 AE23

#define GPIO_USER_3_PIN_NUM (0x15)//P4.21 AE24

#define GPIO_USER_3_PORT_NUM (0x04)//P4.21 AE24

/* GPIO 驱动器板特定引脚配置结构*/

GPIO_PinConfig gpioPinConfigs[]={

/*输出引脚:AM437X_IDK_LD_PIN */

AM437X_IDK_GPIO_LD_PIN | GPIO_CFG_OUTPUT、

/*输出引脚 LED0红色 P2.24*/

GPIO_DEVICE_CONFIG ((GPIO_LED0_RED_PORT_NUM + 1)、GPIO_LED0_RED_PIN_NUM)| GPIO_CFG_OUTPUT、

/*输出引脚 LED0绿色 P2.25*/

GPIO_DEVICE_CONFIG ((GPIO_LED0_GREEN _PORT_NUM + 1)、GPIO_LED0_GREEN PIN_NUM)| GPIO_CFG_OUTPUT、

/*输出引脚 LED0黄色 P2.22*/

GPIO_DEVICE_CONFIG ((GPIO_LED0_YEL_PORT_NUM + 1)、GPIO_LED0_YEL_PIN_NUM)| GPIO_CFG_OUTPUT、

/*输出引脚 LED1红色 P2.23*/

GPIO_DEVICE_CONFIG ((GPIO_LED1_RED_PORT_NUM + 1)、GPIO_LED1_RED_PIN_NUM)| GPIO_CFG_OUTPUT、

/*输出引脚 LED1绿色 P4.13 */

GPIO_DEVICE_CONFIG ((GPIO_LED1_GREEN _PORT_NUM + 1)、GPIO_LED1_GREEN PIN_NUM)| GPIO_CFG_OUTPUT、

/*输出引脚 LED1黄色 P4.16*/

GPIO_DEVICE_CONFIG ((GPIO_LED1_YEL_PORT_NUM + 1)、GPIO_LED1_YEL_PIN_NUM)| GPIO_CFG_OUTPUT、

/*输出引脚用户1 P4.17*/

GPIO_DEVICE_CONFIG ((GPIO_USER_1_PORT_NUM + 1)、GPIO_USER_1_PIN_NUM)| GPIO_CFG_OUTPUT、

/*输出引脚用户2 P4.19*/

GPIO_DEVICE_CONFIG ((GPIO_USER_2_PORT_NUM + 1)、GPIO_USER_2_PIN_NUM)| GPIO_CFG_OUTPUT、

/*输出引脚用户3 P4.21*/

GPIO_DEVICE_CONFIG ((GPIO_USER_3_PORT_NUM + 1)、GPIO_USER_3_PIN_NUM)| GPIO_CFG_OUTPUT

};

在"main.cpp"中:

/*板载 LED 引脚、这些引脚连接到 GPIO 引脚。 *

typedef 枚举 GPIO_PIN{

GPIO_PIN_LD_PIN = 0U、

GPIO_PIN_LED0_RED

GPIO_PIN_LED0_GREEN

GPIO_PIN_LED0_Yellow

GPIO_PIN_LED1_RED

GPIO_PIN_LED1_GREEN

GPIO_PIN_LED1_黄色

GPIO_PIN_User1

GPIO_PIN_User2

GPIO_PIN_User3

GPIO_PIN_COUNT

}GPIO_PIN

 

要使用 GPIO (也是 LED):

GPIO_init()

GPIO_WRITE (GPIO_PIN_LED0_RED、GPIO_PIN_VAL_LOW);

GPIO_WRITE (GPIO_PIN_LED0_GREEN、GPIO_PIN_VAL_LOW);

GPIO_WRITE (GPIO_PIN_LED0_Yellow、GPIO_PIN_VAL_LOW);

//关闭所有 LED - LED 1

GPIO_WRITE (GPIO_PIN_LED1_RED、GPIO_PIN_VAL_LOW);

GPIO_WRITE (GPIO_PIN_LED1_GREEN、GPIO_PIN_VAL_LOW);

GPIO_WRITE (GPIO_PIN_LED1_Yellow、GPIO_PIN_VAL_LOW);

GPIO_WRITE (GPIO_PIN_User1、GPIO_PIN_VAL_HIGH);

GPIO_WRITE (GPIO_PIN_User2、GPIO_PIN_VAL_HIGH);

GPIO_WRITE (GPIO_PIN_User3、GPIO_PIN_VAL_HIGH);


LED 工作正常、只有其他3个 GPIO (用户1、2、3)不工作。

我是否还必须更改另一个文件上的 pinmux?

 

请注意
Fkaiser

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

    您能否使用 CCS 转储 BOOTCFG 寄存器以查看 GPIO 的配置是否正确配置?

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

    感谢您的快速回复。 我在调试器和数据表中找不到 bootcfg 寄存器:
    www.ti.com/.../spruhl7f.pdf
    请问我在哪里可以找到这个寄存器?
    以下是 GPIO4的配置:

    r GPIO4_GPIO_REVISION0x0000000B 0x50601801
    R GPIO4_GPIO_SysConfig0x0000000B 0x00000000
    R GPIO4_GPIO_EOI0x0000000B 0x00000000
    r GPIO4_GPIO_IRQSTS_RAW_00x0000000B 0x00000000
    r GPIO4_GPIO_IRQSTS_RAW_10x0000000B 0x00000000
    R GPIO4_GPIO_IRQSTS_00x0000000B 0x00000000
    R GPIO4_GPIO_IRQSTS_10x0000000B 0x00000000
    r GPIO4_GPIO_IRQSTS_SET_00x0000000B 0x00000000
    r GPIO4_GPIO_IRQSTS_SET_10x0000000B 0x00000000
    r GPIO4_GPIO_IRQSTS_CLR_00x0000000B 0x00000000
    r GPIO4_GPIO_IRQSTS_CLR_10x0000000B 0x00000000
    R GPIO4_GPIO_IRQWAKEN_00x0000000B 0x00000000
    R GPIO4_GPIO_IRQWAKEN_10x0000000B 0x00000000
    R GPIO4_GPIO_SYSSTS0x0000000B 0x00000000
    R GPIO4_GPIO_CTRL0x0000000B 0x00000002
    R GPIO4_GPIO_OE0x0000000B 0xFFD4DFFF
    R GPIO4_GPIO_datain0x0000000B 0x0001000C
    R GPIO4_GPIO_DATAOUT0x0000000B 0x002B0000
    R GPIO4_GPIO_LEVELDETECT00x0000000B 0x00000000
    R GPIO4_GPIO_LEVELDETECT10x0000000B 0x00000000
    R GPIO4_GPIO_RISINGDETECT0x0000000B 0x00000000
    R GPIO4_GPIO_FALINGDETECT0x0000000B 0x00000000
    R GPIO4_GPIO_DEBOUNCHEN0x0000000B 0x00000000
    R GPIO4_GPIO_DEBOUNCINGTIME 0x0000000B 0x00000000
    R GPIO4_GPIO_CLRDATAOUT0x0000000B 0x002B0000
    R GPIO4_GPIO_SETDATAOUT0x0000000B 0x002B0000
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    弗洛里安

    您是否有一个示例项目可供我通过、以便我尝试重现此项目?
    我确定您已经连接了、但您是否连接到了接头上的正确引脚?

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

    你好,Lali,

    很抱歉耽误你的时间。 您将在附件中找到一个小示例项目。

    该应用只是通过 spi0发送一些数据、并切换   idk 板上的所有六个 LED。

    我想启用  3个用户引脚:

    GPIO_PIN_User1 + 2 +3

    在 AM434_idk 板上:

    用户1 AE21:J16引脚9

    用户2 AE23:J16引脚23

    用户3 AE24:J16 PIN21

    e2e.ti.com/.../MCSPI_5F00_TestApp.zip

     

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

    您好、Florian、

    快速问题。

    AE23是否= AM437xIDK 上的引脚19、而不是 J16上的引脚23? 我假设您的电路板是修订版1.3A。

    原理图: processors.wiki.ti.com/.../AM437X_INDUSTRIAL_EVM_3K0008_schematic_REV1_3A.pdf

    我将查看其他人、并在收到更新后将发布回这里。

    Lali

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

    你好,Lali,

    下面是完整的 GPIO 表、我没有添加 J16连接器引脚。

    //定义:值 GPIO。 连接器

    //定义:值 GPIO封装。 连接器
    #define GPIO_USER_1_PIN_NUM(0x11)//P4.17AE21J16.9
    #define GPIO_USER_1_PORT_NUM(0x04)//P4.17AE21J16.9
    #define GPIO_USER_2_PIN_NUM(0x13)/P4.19AE23J16.19 #define GPIO_USER_2_PHIN (
    0x4.21_PHIN_IN_ENTRY_ERN
    
    
    
    
    )/GPIO_16.4 (0x24_IN_ENTRENTRY_ENTRY_ENTRY_ER/GPIO_16 (0x4_IN_IN_IN_IN_16)/GPIO_ENTRU16 (0x24)/GPIO_ENTRY_ER_ENTRY_ER_ENTRY_ER_ENTRY_ER_ENTRY_ER_16 (0x4_IN_IN_ENTRY_ENTRY_ER_IN16.4 /GPIO_IN_IN_IN16.4 (0x24
    GPIO_USER_5_PIN_NUM(0x0A)//P4.10AC23J16.4
    #define GPIO_USER_5_PORT_NUM(0x04)//P4.10AC23J16.4
    #define GPIO_USER_6_PIN_NUM(0x0B)//P4.10 AC25J16.12
    #define GPIO_USER_6_PORT_NUM(0x16.04)/P16.12J4.12

    好的、奇怪的是 、使用 GPIO_USER_4到6、它可以正常工作。 我可以将它们用作输出引脚、但仍然不能用作输入引脚?

    是否有任何锁定寄存器或我之前需要设置的内容? 这是否由引导加载程序引起? 引导加载程序(SPL)正在设置 DDR 和其他一些接口、因此、如果 BooloLoader 设置了这些引脚并"锁定"它们、我不能更改任何内容。 这会产生 sanse 吗?

    感谢你的帮助。

    此致

    弗洛里安凯泽

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

    您好、Florian、

    我采用了您的测试程序  MCSPI_BasicExample_idkAM437x_armTestProject.out 、并且能够在 AM437xIDK 上运行该程序、并且还看到 LED 按预期闪烁。 要回答有关将引脚设置为输入的问题、请尝试以下实验。

    加载代码并使其运行后、停止内核并查看 CCS 存储器窗口、具体地址为0x48320134和 0x48322134 (GPIO4_GPIO_OE 和 GPIO5_GPIO_OE (偏移量0x134))。

    您是否能够双击"poke this value"并在"CCS memory"窗口中进行更改?  

    我能够做到这一点、您可以从下面的屏幕截图中看到它。 因此、我不认为 GPIO 方向寄存器没有被"锁定"。

    这是寄存器 GPIO4_GPIO_OE 和 GPIO5_GPIO_OE (偏移量0x134)的地址、用于指示该特定引脚的配置方向(输入或输出)。

     http://www.ti.com/lit/ug/spruhl7f/spruhl7f.pdf 的 PG 3731 对该寄存器进行了说明、其中输入为1、输出为0。 当然、寄存器的基地址会根据您查看的 GPIO 模块而变化。 在本例中为 GPIO4和 GPIO5。

    请告诉我它是怎么发生的。

    Lali

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

    希望我的最后一个回答能解决您的问题。
    如果是、请关闭此主题。 谢谢。

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

    你好,Lali,

    上周我在假期。 好的、我在我的板上测试了您的实验。 我在 J16.6 上连接了一个 Oszilloskop、即"GPIO_PIN_User4"和  J16.4、  即"GPIO_PIN_USER5"。

    User4仍在工作、我可以写入 输出值并读 回相应的 Input 值。 如果我将"GPIO4_GPIO_OE" 寄存器更改为0x00000000、则应禁用输出、对吧?  我将该值设置为零、输出仍然 有效。 CCS 正在向我显示我在(零)之前设置的值。

    在 USER5上、Ican 设置输出值、但我 无法读回它。 "GPIO5_GPIO_OE"与"GPIO4_GPIO_OE"的行为仍然相同

    可能是锁?

    此致

    FKaiser

     

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

    您好、Florian、

    您的回复让我有点困惑。

    User4仍在工作、我可以写入输出值并读回相应的 Input 值。 如果我将"GPIO4_GPIO_OE"寄存器更改为0x00000000、则应禁用输出、对吧? 我将该值设置为零、输出仍然有效。 CCS 正在向我显示我在(零)之前设置的值。

     GPIO4_GPIO_OE 寄存器不会禁用引脚、而只是将方向更改为输入或输出。

    "CCS 正在向我显示我在(零)之前设置的值"。 您是指 GPIO4_GPIO_OE 的值吗? 值为零将其设置为输出。

    Lali

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

    您好!

    感谢您的快速回复。 您说得对、我使用了错误的值。 如果使用0xFFFFFFFF 而不是0x00、GPIO_USER5将无法按预期工作。

    那么、这是我的测试代码:

    //--------------------------------
    GPIO_TOGGLE (GPIO_PIN_User1);
    resGpio = GPIO_Read (GPIO_PIN_User1);
    SPI_log (" 1=%X "、(resGpio!= 0)? 1:0);
    //---------------
    GPIO_TOGGLE (GPIO_PIN_User2);
    resGpio = GPIO_Read (GPIO_PIN_User2);
    SPI_log (" 2=%X "、(resGpio!= 0)? 1:0);
    //---------------
    GPIO_TOGGLE (GPIO_PIN_User3);
    resGpio = GPIO_Read (GPIO_PIN_User3);
    SPI_log (" 3=%X "、(resGpio!= 0)? 1:0);
    //---------------
    GPIO_TOGGLE (GPIO_PIN_User4);
    resGpio = GPIO_Read (GPIO_PIN_User4);
    SPI_log (" 4=%X "、(resGpio!= 0)? 1:0);
    //---------------
    GPIO_TOGGLE (GPIO_PIN_USER5);
    resGpio = GPIO_READ (GPIO_PIN_USER5);
    SPI_log (" 5=%X "、(resGpio!= 0)? 1:0);
    //---------------
    GPIO_TOGGLE (GPIO_PIN_USER6);
    resGpio = GPIO_READ (GPIO_PIN_USER6);
    SPI_log (" 6=%X "、(resGpio!= 0)? 1:0);
    

    我切换 GPIO 并读回输出。 这是在环路中完成的、因此所有输出以固定频率切换。

    控制台中的输出如下所示:

    <\r\n>Num= 18 state= 1 TX= a0 A1 A2 A4 A6 A7 A8 A9 RX= 55  1 = 0 2 = 0 3 = 0 4 = 1 5 = 0 6 = 0 J1= 0 </r></n>
    <\r\n>Num= 19 state= 1 TX= a0 A1 A2 A4 A6 A7 A8 A9 RX= 55  1= 1 2= 0 3= 0 4= 0 5= 0 6= 0  J1= 0 </r></n>
    <\r\n>Num= 20 state= 1 TX= a0 A1 A2 A4 A6 A7 A8 A9 RX= 55  1 = 0 2 = 0 3 = 0 4 = 1 5 = 0 6 = 0 J1= 0 </r></n>
    <\r\n\r\n 状态= 21状态= 1 TX= a0 A1 A2 A3 A4 A5 A6 A7 A8 A9 RX= 55  1 = 1 2 = 0 3 = 0 4 = 0 5 = 0 6 = 0 J1= 0 </r></n>
    <\r\n\r\n 状态= 22状态= 1 TX= a0 A1 A2 A3 A4 A5 A6 A7 A8 A9 RX= 55  1 = 0 2 = 0 3 = 0 4 = 1 5 = 0 6 = 0 J1= 0 </r></n>
    <\r\n>Num= 23 state= 1 TX= a0 A1 A2 A4 A6 A7 A8 A9 RX= 55  1= 1 2= 0 3= 0 4= 0 5= 0 6= 0 J1= 0 </r></n>
    <\r\n>Num= 24 state= 1 TX= a0 A1 A2 A4 A6 A7 A8 A9 RX= 55  1 = 0 2 = 0 3 = 0 4 = 1 5 = 0 6 = 0  J1= 0 </r></n>

    标记的部件是上述测试的输出。 您可以看到 GPIO_User1正在切换、输出可以回读(模式1 - 0 -1 ...)。 GPIO_User4也在执行相同的操作。

    GPIO_USER 2、3、5和6不以这种方式工作。 例如、我们之前使用了 GPIO_USER5。 这个正在切换、但不能像上面的代码那样被读回。 测量通过将 Oszilloskope 连接到板连接器 J16.4上的 GPIO_USER5引脚来完成

    我的问题是我无法读回 GPIO、我不知道为什么。

    您的实验现在显示输入/输出寄存器未锁定。 我很困惑输出工作正常、但我无法读回输入? 我是否需要启用输入?

    我希望我的解释现在更好:D

    这是 GPIO_USER5 (P4.10 J16.4)逻辑"0"时的寄存器值

    这处于逻辑"1"状态:

    谢谢

    FKaiser

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

    您好、Florian、

    是的,很清楚:)

    我知道、我们已经讨论了很多有关该主题的内容、可能错过了一些内容。 因此、我想稍微按一下复位按钮。

    问题:

    如果我得到一个将 AM437x IDK 上的 GPIO J16.9、J16.19和 J16.21配置为输入的工作示例、以及一个将其配置为输出的示例、这是否有助于您更接近解决您的问题?

    我可以记录如何从引脚多路复用器更改到代码更改来实现这一目的。 请告诉我。

    Lali

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

    你好,Lali,

    太棒了:D.

    我已经列出了 GPIO 数据:

    //定义:值GPIO包。连接器输出读取
    #define GPIO_USER_1_PIN_NUM(0x0B)//P4.11AE21J16.9ok
    #define GPIO_USER_1_PORT_NUM(0x04)//P4.11AE21J16.9ok
    #define GPIO_USER_2_PIN_GPIOIN(0x13)//P4.19AE23J16.19Xx
    #define GPIO_4_ENTRY_ERN(0x24_IN_IN_IN_IN_GPIO_ENTREN/GPIOR_IN_IN_IN_IN_IN_GPIOR_IN_IN_IN_IN_IN_IN_IN_ENTRU16
    
    x
    
    #define GPIO_USER_4_PIN_NUM(0x04)//P5.4P25J16.6ok
    #define GPIO_USER_4_PORT_NUM(0x05)//P5.4P25 J16.6ok
    #define GPIO_USER_5_PIN_NUM(0x0A)//P4.10AC23 J4.12_POIN_X
    #define GPIO_5_IN_C16 (
    0x04)
    /16引脚4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4

    工作的 GPIO 为 J16.9和 J16.6、可 按预期进行写回。

    最有趣的引脚是 J16.4、因为这个引脚 具有工作输出和 不工作输入。

     如果你 能给我一个简单的项目, 这些引脚按预期工作,那将是非常棒的:D

    此致

    弗洛里安

     

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

    感谢您的总结。 它提供了一个良好的总体情况。
    请给我一些时间来深入探讨这个问题、然后再回来。 感谢您的耐心。

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

    您好、Florian、

    感谢您在我研究这一问题时的耐心。

    PDK 中 C:\ti\pdk_am437X_1_0_5\packages/ti\board\diag\button 下的按钮有一个诊断测试

    但是、测试针对的是 GPEVM、而不是 IDK。 您应该能够使用 gmake 生成该配置。 相关说明请访问 http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_DIAG 

    将在 C:\ti\pdk_am437X_1_0_5\packages/ti\board\bin\evmAM437x\armv7下生成.out

    确保按照  http://processors.wiki.ti.com/index.php/Processor_SDK_RTOS_DIAG#Running_or_debugging_on_CCS 中的说明定义了 pdk_raW_boot ,否则该示例可能无法运行。

    在诊断示例中、默认情况下、所有 GPIO4引脚都配置为输入。 因此、您可能能够操纵按钮示例以从 J16.4获取输入、并查看其读数是否符合预期。

    还有一个 LED 闪烁示例、其中可以切换电路板上的 U1和 U2。 我在这里为这个附加了一个.out 文件。

    /cfs-file/__key/communityserver-discussions-components-files/791/led_5F00_diagExample_5F00_idkAM437x_5F00_armv7.out

    Lali