2404017_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2404017_zh-CN

2404017_zh-CN

i.MX8MP: SError & Page Fault when running M7 with SAI3 audio enabled

NXP 官方团队,您好:

我们在使用 i.MX 8M Plus 平台开发系统,运行 Linux A53FreeRTOS M7。在尝试将 SAI3 音频接口分配给 Linux 使用的同时运行 M7 时,遇到了内核崩溃(SError / 页错误)。


1. 软件版本与环境:

Kernel 版本:Linux 5.10.72

U-Boot 版本:U-Boot 2021.04

M7 SDK:MCUXpresso SDK for i.MX8MP (rpmsg_lite_str_echo_rtos)

参考官方文章:NXP Knowledge Base: Test SAI3 while running M7 firmware with remoteproc


2. 系统配置情况:

 

<1> M7 固件(m7.bin)存放在系统分区,并在 U-Boot 阶段通过 bootaux 0x007e0000 命令直接启动。

<2> 在 Cortex-A53 Linux 侧,我们使用挂载在 SAI3 + I2C3 + SDMA3 总线上的物理声卡芯片(SGTL5000)。

<3> Cortex-M7 负责 GPIO2_IO09 管脚上的 采集并触发高频采样中断,并通过 RPMsg 虚拟串口(/dev/ttyRPMSG30)与 A53 Linux 进行跨核数据交互。


3. 遇到的问题:

不调整声卡资源到A53的话,/dev/ttyRPMSG30设备操作是正常的;

目前需要应用A53的声卡设备,参考了官方帖子<Test SAI3 while running M7 firmware with remoteproc>后做出了以下调整,但内核启动会存在问题,改动部分如下:

<1> 内核 dts配置已恢复声卡配置到A53,如附件

<2> u-boot dts: 分配了声卡资源到A53,如

<3> ATF,将 SAI3、sdma3 和 i2c3 分配给 A53,修改imx8mp_bl31_setup.c,如:

<4> M7 SDK: 注释BOARD_BootClockRUN和BOARD_RdcInit函数涉及AUDIO的改动,如附件


4. 内核 dmesg 崩溃日志:

开机进入内核会卡主,log如下:

[    2.992289] i2c i2c-1: IMX I2C adapter registered
[    2.997631] SError Interrupt on CPU2, code 0xbf000002 -- SError
[    2.997634] CPU: 2 PID: 135 Comm: kworker/2:1 Not tainted 5.10.72-gf8ca51a867fa-dirty #56
[    2.997636] Hardware name: EMB-3512-V11-M7 (DT)
[    2.997638] Workqueue: events deferred_probe_work_func
[    2.997642] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO BTYPE=--)
[    2.997644] pc : i2c_imx_probe+0x31c/0x8fc
[    2.997645] lr : i2c_imx_probe+0x2b0/0x8fc
[    2.997647] sp : ffff8000126a3af0
[    2.997648] x29: ffff8000126a3af0 x28: ffff80001135c3f0 
[    2.997654] x27: ffff0000c50aa880 x26: 0000000000000023 
[    2.997660] x25: ffff0000c50aaca0 x24: ffff0000c50aa8f0 
[    2.997666] x23: ffff800011d7c090 x22: ffff0000c4410e40 
[    2.997672] x21: ffff80001135c428 x20: ffff0000c041d800 
[    2.997677] x19: ffff0000c041d810 x18: 0000000000000020 
[    2.997683] x17: 0000000000000000 x16: 0000000000000000 
[    2.997689] x15: ffff0000c44112b8 x14: 0000000000000000 
[    2.997695] x13: ffff0000c4410e40 x12: ffff8000126a3a70 
[    2.997700] x11: aaaaaaaaaaaaaaab x10: 0000000000000060 
[    2.997706] x9 : ffff800011b993b4 x8 : ffff800011b99000 
[    2.997712] x7 : 00007dfed2122a00 x6 : 000000000007a120 
[    2.997718] x5 : 0000000000b71aff x4 : 0000000000000002 
[    2.997723] x3 : 0000000000000002 x2 : 0000000000000000 
[    2.997729] x1 : ffff0000ff86ea08 x0 : ffff800013c8000c 
[    2.997736] Kernel panic - not syncing: Asynchronous SError Interrupt
[    2.997741] CPU: 2 PID: 135 Comm: kworker/2:1 Not tainted 5.10.72-gf8ca51a867fa-dirty #56
[    2.997742] Hardware name: EMB-3512-V11-M7 (DT)
[    2.997744] Workqueue: events deferred_probe_work_func
[    2.997747] Call trace:
[    2.997748]  dump_backtrace+0x0/0x1a0
[    2.997750]  show_stack+0x18/0x70
[    2.997751]  dump_stack+0xd0/0x12c
[    2.997752]  panic+0x16c/0x334
[    2.997754]  nmi_panic+0x8c/0x90
[    2.997755]  arm64_serror_panic+0x78/0x84
[    2.997757]  do_serror+0x64/0x6c
[    2.997758]  el1_error+0x90/0x110
[    2.997760]  i2c_imx_probe+0x31c/0x8fc
[    2.997762]  platform_drv_probe+0x54/0xb0
[    2.997763]  really_probe+0xec/0x4d0
[    2.997765]  driver_probe_device+0x58/0xc0
[    2.997766]  __device_attach_driver+0xa8/0x10c
[    2.997768]  bus_for_each_drv+0x78/0xd0
[    2.997769]  __device_attach+0xd8/0x180
[    2.997771]  device_initial_probe+0x14/0x20
[    2.997773]  bus_probe_device+0x9c/0xa4
[    2.997774]  deferred_probe_work_func+0x80/0xc0
[    2.997776]  process_one_work+0x1cc/0x350
[    2.997777]  worker_thread+0x2bc/0x46c
[    2.997779]  kthread+0x154/0x160
[    2.997780]  ret_from_fork+0x10/0x30
[    2.998109] SMP: stopping secondary CPUs
[    2.998111] Kernel Offset: disabled
[    2.998113] CPU features: 0x0240002,2000200c
[    2.998114] Memory Limit: none



请帮忙看看问题点,是否有相关文档和改动可以解决,期待你们的建议和答复!感谢!

回复: i.MX8MP: SError & Page Fault when running M7 with SAI3 audio enabled已解决,需要完整关闭M7端的音频配置才可以
Tags (1)
No ratings
Version history
Last update:
yesterday
Updated by: