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:
非常感谢耐心的解答,现在明白了,谢谢