主题中讨论的其他器件:BQ40Z60、
在 DSP1和 DSP2上加载相同的 DSP 固件映像时、我会看到不同的行为(除了资源表中的微小地址差异)。
DSP1
每次启动 DSP1都会导致单个 L3自定义错误:
[298.448466]警告:CPU:0 PID:0 at linux-4.4.4.3.32+gitAUTOINC+adde2ca9f8-gadde2ca9f8/drivers/bus/omap_l3_oc.c:147 L3_interrupt_handler + 0x258/0x368 ()
[298.465839] 44000000.OCP:L3自定义错误:主控 DSP1_MDMA 目标 L4_PER1_P3 (读取):在功能访问期间以用户模式访问数据
[298.477976]链接的模块:virtio_rpmsg_bus cmemk (O) omap_remoteproc remote_ring virtio xhci_plat_hcd xhci_hcd usbcore USB_f_putg_f_rNDIS composite libu_dwc3 con_plat_hip_c_decc x_cu cu v_cu v_cu v_core_tbt gp_ip_decc
[298.516573] CPU:0 PID:0 Comm:swapper/0被污染:G C O 4.4.3.32-gadde2ca9f8 #1
[298.524783]硬件名称:通用 DRA74X (平展器件树)
[298.530902]回溯:
[298.533378][ ](dump_backtrace)从[ ](show_stack+0x18/0x1c)
[298.540978] R6:20080193 R5:c0acbb68 R4:00000000 R3:00000000
[298.546703][ ](show_stack)从[ ](dump_stack+0x9C/b0)
[298.553964][ ](dump_stack)从[ ](warn_slESpath_common+0x8c/bb)
[298.562089] R6:c030c984 R5:00000009 R4:c0aadd40 R3:c0aac000
[298.567811] ](warn_slowpath_common)、来自[ ](WARN_RASPH_FMt+0x38/0x40)
[298.576544] R8:c07fc150 r7:00000002 R6:e0082164 R5:c07fbd2c R4:c07fb48
[298.583319][ ](warn_slowpath_fmt)、来自[ ](L3_INTERRUPT_Handler+0x258/0x368)
[298.592226] r3:de1fd000 r2:c07fbe48
[298.595831] R4:80080003
[298.598387][ ](L3_interrupt_handler)、来自[ ](handle_irq_event_perpu + 0x90/0x148)
[298.607731] R10:c0af5514 R9:de1f7540 R8:00000017 r7:00000000 R6:00000000 R5:de1f75a0
[298.615635] R4:de1fd500
[298.618190][ ](handle_irq_event_perpu)、来自[ ](handle_IRQ_EVENT_+0x40/0x64)
[298.627098] R10:c0aac000 R9:c0652a24 R8:de008000 r7:00000001 R6:c0ab3534 R5:de1f75a0
[298.635002] R4:de1f7540
[298.637558][ ](handle_irq_event)从[ ](handle_fasteoi_IRQ+0xc0/0x194)
[298.646118] R6:c0ab3534 R5:de1f75a0 R4:de1f7540 R3:00000000
[298.651839][ ](handle_fasteoi_IRQ)、来自[ ](generic_handle_IRQ+0x2C/0x3c)
[298.660484] r7:00000001 R6:00000000 R5:00000000 R4:c0aa84ac
[298.666204][ ](generic_handle_IRQ)、来自[ ](_handle_domain_IRQ+0x64/bb)
[298.674945][ ](_handle_domain_IRQ)、来自[ ](GIC_Handle_IRQ+0x40/0x7c)
[298.683329] R8:fa213000 r7:fa212000 r6:c0aadef0 r5:fa21200c r4:c0aae97c r3:c0aadef0
[298.691152][ ](GIC_Handle_IRQ)、来自[ ](_IRQ_Svc+0x40/0x74)
[298.69667]异常堆栈(0xc0aadef0至0xc0aadf38)
[298.703743] dee0:00000001 00000000 fe600000 00000000
[298.711955] df00:c0aae56c 00000000 c0aadf60 c0aae5b8 c0652a24 c0aac000 c0aadf4c
[298.720170] df20:c0aadf2c c0aadf40 c0027940 c0010568 60080013 ffffff
[298.726810] R8:c0aae5b8 r7:c0aadf24 r6:ffff r5:60080013 r4:c0010568 r3:c0027940
[298.734635][ ](arch_cpu_idle)从[ ](DEFAULT_IDLE_CALL + 0x28/0x34)
[298.742765][ ](DEFAULT_IDLE_CALL)从[ ](CPU_STARTUP_END+0x1fc/0x260)
[298.751423][ ](CPU_STARTUP_INPUK)、来自[ ](REST_INIT+0x90/0x94)
[298.759196] r7:00000000
[298.761755][ ](REST_INIT)从[ ](start_kernel+0x418/0x424)
[298.769268] R4:c0af8050 R3:c0aac000
[298.772877][ ](start_kernel)从[<80008090>](0x80008090)
[298.779432]--[结束线迹05ffeb39f58d2c69 ]--
DSP2:
启动 DSP2会导致无尽的 L3异常垃圾邮件-最终我们的电路板需要手动重启才能恢复。
[237.443979]警告:CPU:0 PID:0 at linux-4.4.4.3.32+gitAUTOINC+adde2ca9f8-gadde2ca9f8/drivers/bus/omap_l3_oc.c:147 L3_interrupt_handler + 0x258/0x368 ()
[237.461351] 440000.OCP:L3自定义错误:主器件 DSP2_DMA 目标 L4_PER3_P3 (空闲):在功能访问期间以用户模式访问数据
[237.473400]链接的模块:rpmsg_proto virtio_rpmsg_bus cmemk (O) omap_remoteproc virtio_ring virtio xhci_plat_hzci_husbcore USB_f_ecci gp_f_rphy ip_rphy iptbe_cr iptp_c3 u_mc_dec_c2 mc2 mc2 mc2 mc2 mc2
[237.513064] CPU:0 PID:0 Comm:swapper/0被污染:G WC O 4.4.3.32-gadde2ca9f8 #1
[237.521279]硬件名称:通用 DRA74X (平展器件树)
[237.527398]背迹:
[237.529875][ ](dump_backtrace)从[ ](show_stack+0x18/0x1c)
[237.537477] R6:20070193 R5:c0acbb68 R4:00000000 R3:00000000
[237.543203][ ](show_stack)从[ ](dump_stack+0x9C/b0)
[237.550463][ ](dump_stack)从[ ](warn_slESpath_common+0x8c/bb)
[237.558586] R6:c030c984 R5:00000009 R4:c0aadd40 R3:c0aac000
[237.56431][ ](warn_slowpath_common)、来自[ ](WARN_RASPH_FMt+0x38/0x40)
[237.573044] R8:c07fc18c r7:00000000 R6:e0080e64 R5:c07fbd2c R4:c07fb48
[237.579816][ ](warn_slowpath_fmt)、来自[ ](L3_INTERRUPT_Handler+0x258/0x368)
[237.588724] r3:de1fd000 r2:c07fbe48
[237.592330] R4:80080003
[237.594887][ ](L3_interrupt_handler)、来自[ ](handle_irq_event_perpu + 0x90/0x148)
[237.604232] R10:c0af5514 R9:de1f7540 R8:00000017 r7:00000000 R6:00000000 R5:de1f75a0
[237.612137] R4:de1fd500
[237.614696][ ](handle_irq_event_perpu)、来自[ ](handle_IRQ_EVENT_+0x40/0x64)
[237.623606] R10:c0aac000 R9:c0652a24 R8:de008000 r7:00000001 R6:c0ab3534 R5:de1f75a0
[237.631513] R4:de1f7540
[237.634072][ ](handle_irq_event)从[ ](handle_fasteoi_IRQ+0xc0/0x194)
[237.642630] R6:c0ab3534 R5:de1f75a0 R4:de1f7540 R3:00000000
[237.648356][ ](handle_fasteoi_IRQ)、来自[ ](generic_handle_IRQ+0x2C/0x3c)
[237.657001] r7:00000001 R6:00000000 R5:00000000 R4:c0aa84ac
[237.662724][ ](generic_handle_IRQ)、来自[ ](_handle_domain_IRQ+0x64/bb)
[237.671465][ ](_handle_domain_IRQ)、来自[ ](GIC_Handle_IRQ+0x40/0x7c)
[237.679849] R8:fa213000 r7:fa212000 r6:c0aadef0 r5:fa21200c r4:c0aae97c r3:c0aadef0
[237.687678][ ](GIC_Handle_IRQ)、来自[ ](_IRQ_Svc+0x40/0x74)
[237.695195]异常堆栈(0xc0aadef0至0xc0aadf38)
[237.700271] DEe0:00000001 00000000 fe600000 00000000
[237.708487] df00:c0aae56c 00000000 c0aadf60 c0aae5b8 c0652a24 c0aac000 c0aadf4c
[237.716703] df20:c0aadf2c c0aadf40 c0027940 c0010568 60070013 ffffff
[237.723346] R8:c0aae5b8 r7:c0aadf24 r6:ffff r5:60070013 r4:c0010568 r3:c0027940
[237.731178][ ](arch_cpu_idle)从[ ](DEFAULT_IDLE_CALL + 0x28/0x34)
[237.739310][ ](DEFAULT_IDLE_CALL)从[ ](CPU_STARTUP_END+0x1fc/0x260)
[237.747968][ ](CPU_STARTUP_INPUK)、来自[ ](REST_INIT+0x90/0x94)
[237.755741] r7:00000000
[237.758300][ ](REST_INIT)从[ ](start_kernel+0x418/0x424)
[237.765812] R4:c0af8050 R3:c0aac000
[237.769424][ ](start_kernel)从[<80008090>](0x80008090)
注:
- 虽然 DSP1启动似乎只会导致单个 L3自定义错误、但 DSP2启动会导致 ARM 产生无穷的错误。
- DSP1
- DSP1的 L3自定义错误主控器/启动器似乎始终是 MDMA
- DSP1的 L3自定义错误目标通常为 L4_PER1_P3或 L4_PER3_P3
- DSP2
- DSP2的 L3自定义错误主/启动器似乎始终是 DMA
- DSP2的 L3自定义错误目标会有所不同(L4_PER#_P#、DMM_P#等)
为什么我在具有相同固件映像的 DSP1和 DSP2之间看到这种不同的行为?
此时、我们的固件映像未将 DMA 用于任何内容;为什么我看到主器件/启动器显示为 MDMA/DMA?
如果您能帮助您了解从何处开始、我们将不胜感激。
谢谢
处理器 SDK 03.02.00.05