TI中文支持网
TI专业的中文技术问题搜集分享网站

求助,am335x上运行ti_rtos驱动gpio

如题,用的AM3359,在ti_rtos下驱动gpio,我看到要用GPIO_write( ,)这个函数,我知道linux下gpio是有编号规则的,请问ti_rtos下有没有类似的编号规则?或者说用户层和底层硬是什么样的对应关系?

Nancy Wang:

您指什么样的编号规则,对引脚做pinmux?
看手册4.2章节pin attributes。

小白很小白:

回复 Nancy Wang:

我说的详细点吧,我在3359 ice v2上跑的ti的例程ethercat_salve_full,我想在这个例程的基础上,同时驱动gpio3_20,让它处于高电平,然后不是说接口是GPIO_write( xxx,1),gpio3_20在linux下有个编号116,我在想是不是这里也有个类似的编号,应该是不一样的,那我需要做怎样的修改才能知道那个xxx应该写啥,不要让我去搞那个RTOS SDK的例程,SDK里面自带的例程是空的,build SDK需要win10系统,而且我的板子上的led是通过iic驱动的。我就想知道那个xxx我该怎么配置,怎么更改那个gpio.h文件或者其它的文件,谢谢。我都急死了,给跪了

Nancy Wang:

回复 小白很小白:

am3359一共4个bank,每个bank有32个pin,跟linux下的编号是一样的,gpio0_1就是1,gpio0_2 index是2依次后推

user5925331:

回复 user5885945:

您好,我想追问一个问题
我在GPIO_PinConfig gpioPinConfigs[] = {}中设定了调用了5个不同的GPIO Port(我在下面的代码中做了注释)
但是实际在驱动Port口对应的Pin时,发现只有‘0u + 1u’‘4u + 1u’‘5u + 1u’Port搭载的Pin驱动成功了,
而后面的‘2u + 1u’‘3u + 1u’Port并没有反应,请问您知道在配置gpioPinConfigs前,还需要对GPIO有其他的设定操作吗?
GPIO_PinConfig gpioPinConfigs[] =
{GPIO_DEVICE_CONFIG(0u + 1u/*GPIO Port*/, 14u) | GPIO_CFG_OUTPUT,//OKGPIO_DEVICE_CONFIG(0u + 1u/*GPIO Port*/, 15u) | GPIO_CFG_OUTPUT,//OKGPIO_DEVICE_CONFIG(0u + 1u/*GPIO Port*/, 30u) | GPIO_CFG_OUTPUT,//OK
GPIO_DEVICE_CONFIG(4u + 1u/*GPIO Port*/, 8u) | GPIO_CFG_OUTPUT,//OKGPIO_DEVICE_CONFIG(4u + 1u/*GPIO Port*/, 10u) | GPIO_CFG_OUTPUT,//OKGPIO_DEVICE_CONFIG(4u + 1u/*GPIO Port*/, 27u) | GPIO_CFG_OUTPUT,//OK
GPIO_DEVICE_CONFIG(5u + 1u/*GPIO Port*/, 1u) | GPIO_CFG_OUTPUT,//OKGPIO_DEVICE_CONFIG(5u + 1u/*GPIO Port*/, 3u) | GPIO_CFG_OUTPUT,//OKGPIO_DEVICE_CONFIG(5u + 1u/*GPIO Port*/, 12u) | GPIO_CFG_OUTPUT,//OK
GPIO_DEVICE_CONFIG(2u + 1u/*GPIO Port*/, 24u) | GPIO_CFG_OUTPUT ,//9NGGPIO_DEVICE_CONFIG(2u + 1u/*GPIO Port*/, 25u) | GPIO_CFG_OUTPUT,//10NGGPIO_DEVICE_CONFIG(2u + 1u/*GPIO Port*/, 22u) | GPIO_CFG_OUTPUT,//11NGGPIO_DEVICE_CONFIG(2u + 1u/*GPIO Port*/, 23u) | GPIO_CFG_OUTPUT ,//12NGGPIO_DEVICE_CONFIG(4u + 1u/*GPIO Port*/, 13u) | GPIO_CFG_OUTPUT,//13OKGPIO_DEVICE_CONFIG(4u + 1u/*GPIO Port*/, 16u) | GPIO_CFG_OUTPUT,//14OKGPIO_DEVICE_CONFIG(3u + 1u/*GPIO Port*/, 1u) | GPIO_CFG_OUTPUT,//15NG

};

user5925331:

回复 小白很小白:

参考下面的注释以及‘ user5323627的回复’能帮到你

GPIO_PinConfig gpioPinConfigs[] =
{
GPIO_DEVICE_CONFIG(0u + 1u/*GPIO Port*/, 14u) | GPIO_CFG_OUTPUT, //GPIO_write( 0,1)
GPIO_DEVICE_CONFIG(0u + 1u/*GPIO Port*/, 15u) | GPIO_CFG_OUTPUT, //GPIO_write( 1,1)
GPIO_DEVICE_CONFIG(0u + 1u/*GPIO Port*/, 30u) | GPIO_CFG_OUTPUT, //GPIO_write( 2,1)

GPIO_DEVICE_CONFIG(4u + 1u/*GPIO Port*/, 8u) | GPIO_CFG_OUTPUT, //GPIO_write( 3,1)
GPIO_DEVICE_CONFIG(4u + 1u/*GPIO Port*/, 10u) | GPIO_CFG_OUTPUT, //GPIO_write( 4,1)
GPIO_DEVICE_CONFIG(4u + 1u/*GPIO Port*/, 27u) | GPIO_CFG_OUTPUT, //

GPIO_DEVICE_CONFIG(5u + 1u/*GPIO Port*/, 1u) | GPIO_CFG_OUTPUT,//
GPIO_DEVICE_CONFIG(5u + 1u/*GPIO Port*/, 3u) | GPIO_CFG_OUTPUT,//
GPIO_DEVICE_CONFIG(5u + 1u/*GPIO Port*/, 12u) | GPIO_CFG_OUTPUT,//

GPIO_DEVICE_CONFIG(2u + 1u/*GPIO Port*/, 24u) | GPIO_CFG_OUTPUT ,//9 GPIO_write(9,1)
GPIO_DEVICE_CONFIG(2u + 1u/*GPIO Port*/, 25u) | GPIO_CFG_OUTPUT,//10 GPIO_write( 10,1)
GPIO_DEVICE_CONFIG(2u + 1u/*GPIO Port*/, 22u) | GPIO_CFG_OUTPUT,//11
GPIO_DEVICE_CONFIG(2u + 1u/*GPIO Port*/, 23u) | GPIO_CFG_OUTPUT ,//12
GPIO_DEVICE_CONFIG(4u + 1u/*GPIO Port*/, 13u) | GPIO_CFG_OUTPUT,//13
GPIO_DEVICE_CONFIG(4u + 1u/*GPIO Port*/, 16u) | GPIO_CFG_OUTPUT,//14
GPIO_DEVICE_CONFIG(3u + 1u/*GPIO Port*/, 1u) | GPIO_CFG_OUTPUT,//15

};

user5885945:

回复 user5925331:

pinmux要把这些端口配置成gpio就可以驱动。

user5925331:

回复 user5885945:

非常感谢您的回复 ,我还是刚接触TI的芯片,请问这个pinmux如何配置或者在哪个文件我能找到他

user5885945:

回复 user5925331:

我也是这款芯片的初学者,互相学习。
首先你需要用到pinmuxtool工具,会生成一个pinmux_data.c文件,找到ti board目录里面的文件你对着修改吧

user5925331:

回复 user5885945:

谢谢谢谢,我下载一个试一下

赞(0)
未经允许不得转载:TI中文支持网 » 求助,am335x上运行ti_rtos驱动gpio
分享到: 更多 (0)