工具/软件:
你好 e2e 团队:
我们 remoteproc 的定制电路板上的驱动程序遇到问题。 在加载 R5 二进制文件(例如现场总线堆栈)并启动该二进制文件后、无法使用以下命令停止远程内核:
echo stop > state
系统不会正常停止,而是崩溃,只有看门狗重置可以恢复它。我们的安装程序包含一个基于 Debian 6.1.124 的自定义内核以及 RT 补丁。 我们目前正在使用 remoteproc TI Git 存储库中的大多数提交。 随附相关文件以供参考。
以下是日志输出的一个片段:
-----------------------------------------------------------------------------------------------------------------------------------------
[1741.100218]------ 【在这里剪切】------
[1741.100238] net/core/dev.c:10846!
[ 1741.100257]内部错误:oops — 错误:00000000f2000800 [#1] PREEMPT_RT SMP
[ 1741.100272] CPU:0 PID:1258 通信:SH 未污染 6.1.124-rt47 #1
[ 1741.100283]硬件名称:SICK SIG300 (DT)
[1741.100289] pstate:800005 (Nzcv daif -pan -uao -TCO -DIT -SSB BTYPE=--)
[1741.100298] PC:free_netdev+0x150/0x190
[1741.100320] lr : free_netdev+0xd8/0x190
[1741.100326] sp : ffff8000093b37b0
[ 1741.100330] x29:ffff8000093b37b0 x28:ffff0000024a8000 x27:0000000000000000
[ 1741.100346] x26:000000000000 x25:ffffff800009074eb0 x24:ffff0000038a46d0
[ 1741.100357] x23:ffff0000038a4700 x22:ffff0000038a4400 x21:ffff000003a6d050
[ 1741.100369] x20:ffff000003a6d000 x19:ffffff000003a6cef8 x18:ffff000003f7a270
[ 1741.100380] x17:ffffff800015922000 x16:ffffff800000080000 x15:ffff0000040e7268
[ 1741.100392] x14:000000000000 x13:ffffff000003f7a270 x12:ffffff0000040e7240
[ 1741.100403] x11:0000ffffffffffffff x10:ffffff000003f7a2a8 x9:ffffff000003f7a270
[ 1741.100414] x8:0000000000020000 x7:000000000000002e x6:0000000000000002
[ 1741.100424] x5 : ffffff000000256b80 x4 : ffffff800008f7bf08 x3 : ffff0000024a8000
[ 1741.100435] x2:000000000000 x1:000000000000 x0:0000000000000001
[1741.100447]呼叫跟踪:
[1741.100453] free_netdev+0x150/0x190
[1741.100460] devm_free_netdev+0x14/0x20
[ 1741.100474] release_nodes+0x40/0x70
[ 1741.100487] DevRes_release_all+0x88/0xd0
[ 1741.100495] DEVICE_UNBIND_Cleaning+0x18/0x68
[ 1741.100507] DEVICE_RELEASE_DRIVER_INTERNAL+0x100/0x188
[ 1741.100519] device_release_driver+0x18/0x28
[ 1741.100529] BUS_REMOVE_DEVICE+0xd4/0x160
[ 1741.100539] DEVICE_DEL+0x17c/0x3b8
[ 1741.100547] DEVICE_UNREGISTER+0x20/0x78
[ 1741.100555] rpmsg_remove_device+0x10/0x20
[ 1741.100567] DEVICE_FOR_each_child+0x60/0xa8
[ 1741.100575] rpmsg_remove+0x40/0xa8
[ 1741.100583] virtio_dev_remove+0x44/0xa0
[ 1741.100596] DEVICE_REMOVE+0x4c/0x80
[ 1741.100606] DEVICE_RELEASE_DRIVER_INTERNAL+0xe0/0x188
[ 1741.100617] DEVICE_RELEASE_DRIVER+0x18/0x28
[ 1741.100627] BUS_REMOVE_DEVICE+0xd4/0x160
[ 1741.100636] device_del+0x17c/0x3b8
[ 1741.100643] DEVICE_UNREGISTER+0x20/0x78
[1741.100650] unregister_virtio_device+0x18/0x40
[ 1741.100659] rproc_remove_virtio_dev+0x14/0x28
[ 1741.100672] device_for_each_child+0x60/0xa8
[ 1741.100680] rproc_vdev_do_stop+0x2C/0x58
[ 1741.100691] rproc_stop+0x54/0x158
[ 1741.100700] rproc_shuting+0x60/0x148
[1741.100710] STATE_STORE+0x84/0x110
[ 1741.100721] DEV_ATTR_STORE+0x18/0x30
[ 1741.100733] sysfs_KF_WRITE_0x44/0x60
[ 1741.100745] kernfs_fop_write_iter+0x128/0x1b8
[ 1741.100754] vfs_write+0x380/0x4b0
[ 1741.100767] ksys_write+0x68/0xf0
[ 1741.100776]__arm64_sys_write+0x1c/0x28
[ 1741.100786]调用_syscall+0x44/0x108
[1741.100798] el0_Svc_common.constprop.3+0x94/0xf8
[ 1741.100808] DO_el0_Svc+0x24/0x98
[1741.100816] el0_Svc+0x20/0x50
[ 1741.100826] el0t_64_SYNC_HANDLER+0x98/0xc0
[ 1741.100833] el0t_64_SYNC+0x170/0x174
[ 1741.100847]代码:f94013f5 a8c37bfd d50323bf d65f03c0 (d4210000)
[1741.377634]--[结束跟踪 000000000000 ]-----
[ 1741.377640]内核恐慌 — 未同步: oops - bug :致命异常
[ 1741.388501]内核偏移:已禁用
[1741.388503] CPU 功能:0x000,000,00800084,0000420b</s>00,084,000
[1741.388509]内存限制:无
-----------------------------------------------------------------------------------------------------------------------------------------
我们的设置:
- Linux 6.1.124+ debian-1+RT
- Sysfw:11.xx.xx
- U-Boot:2021.01
任何见解或建议都将非常感谢。
谢谢!
e2e.ti.com/.../ti_5F00_sci_5F00_proc.he2e.ti.com/.../ti_5F00_k3_5F00_r5_5F00_remoteproc.ce2e.ti.com/.../remoteproc_5F00_internal.he2e.ti.com/.../omap_5F00_remoteproc.h