This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS:通过内核加载 IPU1 xem4映像-调试 IOMMU 故障

Guru**** 2584745 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/634080/rtos-loading-the-ipu1-xem4-image-via-kernel---debug-iommu-fault

工具/软件:TI-RTOS

大家好、

我们正在开发 VISION SDK 2.12版本。 我们尝试通过 Linux 内核、remote proc 框架加载 bsp_examples_loopback_m4vpss_release.xem4映像。
此映像是 BP-VPS (环回)应用程序的一部分

我们已使用 IPC-IPU (RSC_TABLE _vayu_IPC.h)头文件的基础添加了可资源。
附加了 RSC_TABLE vayu_IPC.c、BLD 和存储器映射文件。

我们在通过 Linux 内核加载时遇到 MMU 故障。 请告诉我对其进行调试。

注意:我们已  使用默认的 message_single.xem4映像验证了 A15-IPU1的 IPC。

modprobe omap_remoteproc
[333.406894] OMAP-rproc 588200.IPU:分配的保留存储器节点 ipu1_CMA@9d000000
[333.416005] Remoteproc0:588200.IPU 可用
[333.421969] remoteproc0:注意:remoteproc 仍在开发中并被视为实验。
[333.431842] remoteproc0:二进制格式尚未最终确定、并且尚不能保证向后兼容性。
[333.444948] OMAP-rproc 5502000.IPU:分配的保留存储器节点 ipu2_CMA@95800000
[333.454327] remoteproc1:5502000.IPU 可用
[333.460216] remoteproc1:注意:remoteproc 仍在开发中并被视为实验。
[333.471301] remoteproc1:二进制格式尚未最终确定、并且尚不能保证向后兼容性。
[333.483464] remoteproc1:dra7-ipu2-fw.xem4的直接固件加载失败,并出现错误-2
root@mmt2020-a879-b0:~#[333.495089] remoteproc1:无法加载 dra7-ipu2-fw.xem4
[333.718135] remoteproc0:为588200.IPU 加电
[333.723510] remoteproc0:引导 FW 映像 dra7-ipu1-fw.xem4,大小5662500
[333.731050] OMAP-iommu 588820.MMU:588820.MMU:2.1版
[333.753889] OMAP-IMU 588820.MMU:IOMMU 故障:DA 0x800063d0标志0x0
[333.760997] remoteproc0:在5882000.IPU 中检测到崩溃:类型 mmufault
[333.767925] OMAP-IMU 588820.MMU:588820.MMU:errs:0x00000002 da:0x800063d0 PgD:0xed34a000 * PgD:px9d200002
[333.779448] remoteproc0:远程处理器5882000.IPU 现已启动
[333.787027] virtio_rpmsg_bus virtio0:rpmsg 主机处于联机状态
[333.793352] remoteproc0:registered virtio0 (类型7)
[333.799803] remoteproc0:处理588200.IPU 中的碰撞#1
[333.806190] remoteproc0:正在恢复588200.IPU
[333.819824] remoteproc0:已停止远程处理器588200.IPU
[333.840688] remoteproc0:为5882000.IPU 加电
[333.846342] remoteproc0:引导 FW 映像 dra7-ipu1-fw.xem4,大小5662500
[333.854480] OMAP-iommu 588820.MMU:588820.MMU:2.1版
[333.876894] OMAP-IMU 588820.MMU:IOMMU 故障:DA 0x800063f0标志0x0
[333.884007] remoteproc0:在5882000.IPU 中检测到崩溃:类型 mmufault
[333.890930] OMAP-IMU 588820.MMU:588820.MMU:errs:0x00000002 da:0x800063f0 PgD:0xed34a000 * PgD:px9d200002
[333.902793] remoteproc0:远程处理器5882000.IPU 现已启动
[333.909922] remoteproc0:处理5882000.IPU 中的碰撞#2
[333.916244] remoteproc0:正在恢复5882000.IPU
[333.921646] virtio_rpmsg_bus virtio0:rpmsg 主机处于联机状态
[333.927829]无法在虚拟地址00000012处处理内核 NULL 指针解除引用
[333.936831] remoteproc0:registered virtio0 (类型7)
[333.943992] PgD = c0004000
[333.946830][00000012]* PgD=00000000
[333.950583]内部错误:Oops:17 [#1]抢占 SMP ARM
[333.956233]链接的模块:omap_remoteproc rpmsg_RPC virtio_rpmsg_bus remote_proc virtio_ring Virtio SPI_DAB_PLUGIN
[333.967502] CPU:0 PID:741 Comm:kwork/0:2未被污染4.4.23 #4
[333.974059]硬件名称:通用 DRA74X (平展器件树)
[333.980452]工作队列:事件 rproc_crash_handler_work [remoteproc]
[333.987018]任务:ef35a6c0 ti: ee5a8000 task.ti: ee5a8000
[333.992673] PC 位于 klist_put + 0x1c/0x98
[333.996780] lr 位于 klist_del+0x14/0x18
[334.000888]电脑:[ ] LR:[ ] PSR:a0070013
[334.000888] sp:ee5a9e00 IP:ee5a9e20 FP:ee5a9e1c
[334.012897] R10:00000000 R9:ee7a100 R8:00000000
[334.018361] r7:00000001 R6:ed352000 r5:ee598a14 r4:00000000
[334.025194] r3:00000000 r2:0000000e r1:00000001 r0:ee598a14
[334.032024]标志:模式 SVC_32 ISA ARM 段无时 FIQ 上的 NzCv IRQ
[334.039488]控制:10c5387d 表:ae7e406a DAC:00000051
[334.045505]处理 kwork/0:2 (pid:741、栈限制= 0xee5a8218)
[334.052154]栈:(0xee5a9e00至0xee5aa000)
[334.056715] 9e00:ef0ae220 ef0ae220 ed352000 ed352020 ee5a9e2c e5a9e20 c067cb3c c067ca9c
[334.065276] 9e20:ee5a9e64 ee5a9e30 c0432f40 c067cb34 ee5a9e54 ee5a9e40 c0433484 c0433284
[334.073832] 9e40:ed352000 ef0ae220 ed3521e4 ed352000 ed352000 00000000 ee5a9e7c ee5a9e68
[334.082389] 9e60:c0433130 c0432ef0 00000000 ed3521e4 ee5a9e94 ee5a9e80 bf008820 c043310c
[334.090944] 9e80:ed3521e4 ed3521e4 ee5a9e4 ee5a9e98 bf018978 bf008810 ee5a9ec4 ee5a9ea8
[334.099506] 9ea0:bf017bc4 bf018968 ed35220c ed35218c ed352020 ed352000 ee5a9e4 ee5a9ec8
[334.108059] 9ec0:bf017c9c bf017b78 ed35220c ee7a100 ef7888c0 ef78e600 ee5a9f24 ee5a9e8
[334.116615] 9ee0:c0050adc bf017c1c ee5a9f0c ee5a9ef8 c00626f8 c0062614 ef7888c0 ef7888c0
[334.125174] 9f00:eea7a118 ef7888d4 00000008 c09b3cbc eea7a100 ef7888c0 ee5a9f5c ee5a9f28
[334.133730] 9f20:c0050f3c c00509a4 00000000 ef788a24 00000000 00000000 EEb58480 ee7a100
[334.142290] 9f40:c0050efc 00000000 00000000 ee5a9fx ee5a9f60 c0056a78 c0050f08
[334.150849] 9f60:e0904008 00000000 00000009 eea7a100 00000000 00000000 ee5a9f78 ee5a9f78
[334.159406] 9f80:00000000 EE5a9f88 ee5a9f88 EEb58480 c0056994 00000000 00000000 00000000
[334.167961] 9fa0:00000000 ee5a9fb0 c0010b58 c00569a0 00000000 00000000 00000000 00000000
[334.176518] 9fc0:00000000 00000000 00000000 00000000 00000000 00000000 00000000
[334.185074] 9fe0:00000000 00000000 00000000 000000000013 00000000 20813000 a48d3080
[334.193622]回溯:
[334.196197][ ](klist_put)从[ ](klist_del+0x14/0x18)
[334.203572] r7:ed352020 r6:ed352000 r5:ef0220 r4:ef0ae220
[334.209543][ ](klist_del)从[ ](DEVICE_DEL_0x5c/0x21c)
[334.217102][ ](device_del)从[ ](device_unregister +0x30/0x74)
[334.225299] R8:00000000 r7:ed352000 R6:ed352000 R5:ed3521e4 R4:ef0ae220
[334.232374][ ](device_unregister)从[ ](unregister_virtio_device+0x1c/0x30 [virtio])
[334.242659] R5:ed3521e4 R4:00000000
[334.246442][ ](unregister_virtio_device [virtio])从[ ](rproc_remove_virtio_dev+0x1c/0x20 [remoteproc])
[334.258454] R5:ed3521e4 R4:ed3521e4
[334.262237][ ](rproc_remove_virtio_dev [remoteproc])、来自[ ](rproc_trigger_recovery+0x58/0xa4 [remoteproc])
[334.274456][ ](rproc_trigger_recovery [remoteproc])、来自[ ](rproc_crash_handler 工作+ 0x8c/0xc4 [remoteproc])
[334.286737] r7:ed352000 r6:ed352020 r5:ed35218c r4:ed35220c
[334.292724][ ](rproc_crash_handler_work [remoteproc])、来自[ ](Process_One_Work+0x144/0x564)
[334.303461] r7:ef78e600 R6:ef7888c0 R5:ee7a100 R4:ed35220c
[334.309438][ ](Process_One_Work)、来自[ ](worker_thread+0x40/0x544)
[334.317897] R10:ef7888c0 R9:ee7a100 R8:c09b3cbc r7:00000008 R6:ef7888d4 R5:ee7a118
[334.326138] R4:ef7888c0
[334.328804][ ](worker_thread)、来自[ ](kthread+0xe4/0x100)
[334.336449] R10:00000000 R9:00000000 R8:00000000 r7:c0050efc R6:ee7a100 R5:eeb58480
[334.344696] R4:00000000
[334.347362][ ](kthread)、来自[ ](RET_FANK_F叉+0x14/0x3c)
[334.354915] r7:00000000 R6:00000000 R5:c0056994 R4:eeb58480
[334.360882]代码:e5904000 e1a07001 e3c44001 e1a05000 (e1d461b2)
[334.372801]--[结束线迹 b5d1b08738ef78 ]--
[334.383359]内核严重错误-未同步:致命异常
[334.388837] CPU1:停止
[334.391681] CPU:1 PID:751 Comm:系统日志被污染:G D 4.23 #4
[334.399871]硬件名称:通用 DRA74X (平展器件树)
[334.406237]回扫:
[334.408815][ ](dump_backtrace)从[ ](show_stack+0x20/0x24)
[334.416737] r7:c098f66c R6:200e0193 R5:ffff R4:00000000
[334.422699][ ](show_stack)从[ ](dump_stack+0x8c/0xa8)
[334.430264][ ](dump_stack)从[ ](handle_ipi+0x320/0x360)
[334.438004] R9:ee5cbda8 R8:00000001 r7:00000000 R6:c0946518 R5:c0946518 R4:00000005
[334.446160][ ](handle_ipi)从[ ](GIC_Handle_IRQ+0x84/0x8c)
[334.454079] R9:fa213000 R8:00000000 r7:fa212000 R6:c094d000 R5:ee5cbda8 R4:fa21200c
[334.462236][ ](GIC_Handle_IRQ)、来自[ ](_IRQ_Svc+0x54/0x90)
[334.470064]异常堆栈(0xee5cbda8至0xee5cbdf0)
[334.475348] bda0:ee870000 00000001 ee80a680 00000001 ee5cbea0 ee870010
[334.483912] bdc0:00000041 00000000 ee870000 ee61c700 00000000 ee5cbe1c ee5cbdf8 ee5cbdf8
[334.492460] bde0:c015f088 c015f088 200e0013 ffff
[334.497745] R9:ee61c700 R8:ee870000 r7:ee5cbddc R6:ffff R5:200e0013 R4:c015f088
[334.505901][ ](path_init)从[ ](path_openat+0x58/0xf90)
[334.513548] R9:ee61c700 R8:ee870000 r7:00000001 R6:ee5cbea0 R5:ee5cbea0 R4:ee5cbf54
[334.521696][ ](path_openat)从[ ](DO_filp_open+0x70/0xd4)
[334.529512] R10:00000000 R9:ee5ca000 R8:ee870000 r7:00000001 R6:ee5cbf54 R5:ee5cbea0
[334.537750] R4:000a0000
[334.540412][ ](do _filp_open)从[ ](do_sys_open+0x110/0x2ac)
[334.548423] r7:0000000b R6:ffff9c R5:000001b6 R4:000a0000
[334.554379][ ](do sys_open)从[ ](sys_open+0x28/0x2C)
[334.561845] R10:00000000 R9:ee5ca000 R8:c0010c64 r7:00000005 R6:00000008 R5:7f634db0
[334.570078] R4:7f634db0
[334.572737][ ](sys_open)从[ ](RET_FAST_SYSCALL+0x0/0x3c)
[334.592451]在1秒内重新启动..找不到有效的卷'BOOTINFO'

IPL (8):MMT_202020_J6 (A880、B0、4)版本17323A [建造于2017年8月9日16:21:45 5000694+]
CPU:1b99002f、GP
RAM:1024 MB
IOC:64、0x01
引导:!IOC@1、EMLINUX1

此致

Gokule2e.ti.com/.../ipu1_2D00_debug.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Gokul、

    我已将您的问题转交给一位专家征求意见。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Gokul、

    以下文档提供了有关调试 MMU 故障的信息、您可能会发现这些信息很有用:

    processors.wiki.ti.com/.../IPC_MMU_fault_debug
    www.ti.com/.../sprac12.pdf

    查看您的共享文件时、我确实注意到映射文件显示了几个从地址0xA0000000开始的段。 您的资源表将这些段映射到更平铺地址空间。 这是目的吗? 您还可以检查 Ammu 配置吗? 是否进行了任何转换?

    谢谢、
    Angela