Other Parts Discussed in Thread: SYSCONFIG
器件型号:AM64X-ADVANCE-SW
主题: SysConfig 中讨论的其他器件
您好、
我将 AM642 EVM 与 MCU+ SDK 11.1.0.17 (R5F 上的 FreeRTOS、TI-Clang 4.0.1.LTS) 和 Linux 6.12.35 (PREEMPT_RT) 配合使用。 一个 R5F 内核运行 CT/GPIO 任务、该任务使用通过 SysConfig 配置的 VT 中断(ADC DRDY 引脚)、该中断调用Sciclient_gpioIrqSet()/Sciclient_gpioIrqRelease()。
在 Linux 中、我使用以下命令停止核心:
echo stop > /sys/class/remoteproc/remoteproc13/state
在 R5F 端,我处理 RP_MBOX 关闭通知和设置gShutdown = 1u。 我的所有 RPMsg 接收/传输任务和 CT/WFI VT 环路在时中断gShutdown == 1u、发送关闭确认、关闭驱动程序、然后转到 WFI。 在 CT/CIT VT 代码中、我还:
-
断开上的读取循环
gShutdown。 -
在此循环之后、清除 GPIO 组中断状态。
-
调用
HwiP_destruct(&gGpioHwiObject); -
调用
Board_gpioDeinit();它调用 SysConfig 生成的Sciclient_gpioIrqRelease()。
停止工作、但当我重新启动时:
echo start > /sys/class/remoteproc/remoteproc13/state
新固件在中崩溃Sciclient_gpioIrqSet():
root@am64xx-evm:~# cat /sys/kernel/debug/remoteproc/remoteproc13/trace0
[r5f0-0] 0.001295s : [IPC RPMSG ZEROCOPY] Nov 25 2025 12:43:25
[r5f0-0] 0.001390s : [Error] Sciclient event config failed!!!
[r5f0-0] 0.001413s : ASSERT: 0.1411s: syscfg/ti_drivers_config.c:Sciclient_gpioIrqSet:155: FALSE failed !!!
因此、当内核重新启动时、GPIO 事件路由看起来仍然被视为“正在使用“。
问题:
-
AM64x 释放此 GPIO→R5F 中断以便
Sciclient_gpioIrqSet()在 Remoteproc 停止/启动周期后成功的正确方法是什么? -
Sciclient_gpioIrqRelease()在关机期间从我的 RTOS 任务调用是否足够、或者这是否应该以不同的方式进行(例如,在特定的 deinit 挂钩中或使用额外的 RM 步骤)? -
是否有任何示例显示 R5F 上的 GPIO 中断使用情况并
remoteproc从 Linux 重复停止/启动?
谢谢、
闪亮
提供
MCU_PLUS_SDK_am64x_11_1_0_17
Linux 版本
Linux am64xx-EVM 6.12.35-g0116b922b9b3-dirty #28 SMP_PREEMPT_RT 11 月 19 日 11:53:19 IST 2025 AArch64 GNU/Linux
编译器版本
TI-Clang 4.0.1.LTS