Other Parts Discussed in Thread: AM2434
器件型号: AM2434
您好、
我正在使用 Sitara AM2434 上的完整 TI 协议栈和 AM243x 工业通信 SDK 11.00.00 开发 EtherCAT 从站应用。
我当前正在 ICSSG PRU 上运行 EtherCAT 从站协议栈(如工业通信 SDK 示例中所述)。 堆栈的初始化和固件加载按预期工作、从站在 EtherCAT 网络中正常运行。
但是、我遇到了 EtherCAT 从站的受控关断和重启问题:
应用场景
我需要:
- 正确 停止/停用正在运行的 EtherCAT 从站
- 取消初始化所有相关资源 (PRU,驱动程序,栈,存储器等)
- 随后 、 在同一应用运行时内重新初始化并再次重新启动 EtherCAT 协议栈
->目标是 在不重新引导系统的情况下启用运行时重新启动功能
问题描述
- 初始启动工作正常
- 但是、在尝试执行以下操作后:
- 停止 EtherCAT 堆栈
- 取消 ICSSG/PRU 和堆栈组件 的 初始化无法可靠地重新初始化
- 似乎并非所有资源都已完全复位、或者某些内部状态仍然存在(可能在 PRU 固件,共享存储器或驱动程序层中)
问题
-
是否有 正式或推荐的顺序 :
- 停止 EtherCAT 从站堆栈
- 卸载或复位 PRU 固件
- 取消初始化 ICSS/驱动程序组件
- 会发生什么情况?
-
工业通信 SDK 中是否有任何特定 API 可用于:
- EtherCAT 协议栈取消初始化
- PRU-ICSSG 复位(除了基本的驱动程序关闭调用之外)?
-
正确重启是否需要:
- 完全的 ICSSG 子系统复位、或
- 甚至 进行了器件复位、是否完全在软件中可实现这一点?
-
当前 SDK (11.00.00) 对于 EtherCAT 的多个 init/deinit 周期是否存在已知限制?
非常感谢提供任何指导、建议的顺序或参考示例。
此致
Andreas