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

PROCESSOR-SDK-AM62X: 用户态GPIO在export引脚和写入value时出现问题

Part Number:PROCESSOR-SDK-AM62X

问题如附件新建 DOC 文档.doc

Susan Ren:

感谢您对TI产品的关注!为更加有效地解决您的问题,我需要多一些时间查看这款芯片,稍后会为您解答。

,

user6044729:

好的,谢谢,期待您的回复,最晚什么时候能有回复呢

,

user6044729:

正常情况、导出gpio后reboot后情况、导出gpio后电源关闭再打开情况
root@ok6254:~# echo 330 > /sys/class/gpio/export[66.668165] wangguan export_store
[66.668183] wangguan gpio_to_desc
[66.671502] wangguan gpio 330
[66.674877] wangguan gdev->base:314gdev->base + gdev->ngpio:402[66.677864] wangguan return normal
[66.684210] wangguan desc->gdev->chip
[66.687624] wangguan status1 :0
[66.691276] wangguan status1 :0
[66.694622] wangguan status1 :0root@ok6254:~# cat /sys/kernel/debug/gpiogpiochip2: GPIOs 314-401, parent: platform/601000.gpio, 601000.gpio:gpio-330 (|sysfs) inlogpio-336 (|fixed-regulator-rgb ) out logpiochip1: GPIOs 402-488, parent: platform/600000.gpio, 600000.gpio:gpio-433 (|net-5g-rst) out lo ACTIVE LOWgpio-437 (|phy_rstn) out logpio-438 (|id) inlogpio-440 (|RT9186) out logpio-441 (|fixed-regulator-lvds) out logpio-442 (|phy_rstn) out logpio-473 (|regulator-6) out logpiochip0: GPIOs 489-511, parent: platform/4201000.gpio, 4201000.gpio:导出gpio后按下复位按键情况
root@ok6254:~# echo 330 > /sys/class/gpio/export[40.124132] wangguan export_store
[40.124150] wangguan gpio_to_desc
[40.127480] wangguan gpio 330
[40.130830] wangguan gdev->base:337gdev->base + gdev->ngpio:425[40.133787] wangguan gdev->base:425gdev->base + gdev->ngpio:512[40.140159] wangguan return null
[40.146506] wangguan !desc
[40.149738] export_store: invalid wangguan GPIO 330
-sh: echo: write error: Invalid argument
root@ok6254:~# cat /sys/kernel/debug/gpiogpiochip1: GPIOs 337-424, parent: platform/601000.gpio, 601000.gpio:gpio-359 (|fixed-regulator-rgb ) out logpiochip0: GPIOs 425-511, parent: platform/600000.gpio, 600000.gpio:gpio-456 (|net-5g-rst) out lo ACTIVE LOWgpio-460 (|phy_rstn) out logpio-461 (|id) inlogpio-463 (|RT9186) out logpio-464 (|fixed-regulator-lvds) out logpio-465 (|phy_rstn) out logpio-496 (|regulator-6) out loroot@ok6254:~# 

按键复位后gpio的base值变了,您那再帮忙看看

,

user6044729:

 我们的复位电路如下

,

Susan Ren:

您的问题已经发布在E2E英文技术论坛上,将由资深的英文论坛工程师为您提供帮助。您也可以查看下帖了解进展:

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1131420/processor-sdk-am62x-the-gpio-appears-problem-when-exporting-pin-and-writing-value

,

user6044729:

非常感谢,也就是说A核的复位虽然不影响M核,但是由于MCU_GPIO没能正常复位,导致了A核的gpiochip号改变了,影响了A核自己的使用,这个是可以避免的吗

,

Annie Liu:

您提供的console log显示“reset”后 MCU_GPIO0 不存在,这使得 MAIN_GPIO1(LED 引脚 330 所属)的基本引脚编号从 314 更改为 337。这就是为什么引脚 330 在“reset”后不再有效的原因。

基本上你不应该使用固定的 GPIO 编号(在这种情况下为 330),相反,你需要查询芯片组的基本引脚编号,并加上偏移量以获得你要使用的 GPIO 编号。

,

Annie Liu:

user6044729 说:非常感谢,也就是说A核的复位虽然不影响M核,但是由于MCU_GPIO没能正常复位,导致了A核的gpiochip号改变了,影响了A核自己的使用,这个是可以避免的吗

这个问题,我会继续为您在英文论坛更新,一旦有回复会即刻转告您。

,

Susan Ren:

请尝试重启板子。

,

user6044729:

试过了,断电重启是没有问题的,gpiochip号还是正常,断电重启A核和M核一起复位就是没有问题的;

我觉得现在的启动流程是先启动A核,然后设备树初始化分配A核和M核的引脚,然后M核启动调用,是正常的,此时如果按键复位,因为复位按键是复位A核的,导致M核的使用出现异常,甚至影响了A核的gpiochip号,导致看起来A核也是有问题的了

,

Susan Ren:

你所描述的是意料之中的。如果复位按钮连接到主域热复位或主域 POR,则只会复位主域,MCU GPIO 模块不会复位。

在这种情况下,MCU GPIO由A内核使用,因此在主域复位时应复位MCU域,复位按钮应连接到MCU RESETz或MCU PORz引脚,因此它可以触发主域和MCU域复位。

,

user6044729:

可是你们宣传这个cpu是可以支持M核独立运行的啊,现在M核独立运行的前提是不能在A核的设备树中初始化M核的引脚,但是如果不初始化,M核的这些功能又不能正常使用,所以就矛盾了

,

Susan Ren:

user6044729 说:可是你们宣传这个cpu是可以支持M核独立运行的啊

我相信所宣传的是,AM62x可以支持MCU域独立于主域运行,因此主域复位不会影响MCU域。

M 核是 M4F CPU,而 MCU 域包括 M4F 和一些外设。

您的主域使用 MCU 域 的GPIO 模块。当主域复位时,MCU 域 GPIO 模块也应复位。否则,MCU_GPIO将不会处于要再次初始化的干净状态。在这种情况下,应使用MCU RESETz或PORZMCU PORz来复位主域和MCU域。

您的情况不是“M 核独立运行”,因为MCU_GPIO由 MAIN 域使用。

我看不出这里有什么矛盾。如果我的解释仍然不清楚,请告诉我。

,

user6044729:

非常感谢耐心的解答,现在明白了,谢谢

赞(0)
未经允许不得转载:TI中文支持网 » PROCESSOR-SDK-AM62X: 用户态GPIO在export引脚和写入value时出现问题
分享到: 更多 (0)