Open zdtyuiop4444 opened 3 weeks ago
环境:官方SDK
之前尝试在 milkv_duo_sd 上测试 sample_audio_rtos 时发现 ION 分配失败,排查后发现 arduino 分支下 milkv_duo_sd 默认 ION_SIZE 为 0,尝试修改 ION_SIZE 为 4m,之后烧录到板子上时直接无法进入 linux 系统。
串口输出如下:
..4:08:27:210 [ 0.241199] Ion: ion_parse_dt_heap_common: id 0 type 2 name carveout align 1000 ..4:08:27:211 [ 0.249094] Ion: rmem_ion_device_init: heap carveout base 0x0000000083a28700 size 0x0000000000400000 dev (____ptrval____) ..4:08:27:211 [ 0.260383] ion_carveout_heap_create, size=0x400000 ..4:08:27:236 [ 0.265604] cvi_get_rtos_ion_size, rtos ion_size get:0x0 ..4:08:27:237 [ 0.290569] platform carveout: [ion] add heap id 0, type 2, base 0x83a28700, size 0x400000 ..4:08:27:237 [ 0.299581] Advanced Linux Sound Architecture Driver Initialized. ..4:08:27:266 [ 0.305948] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 ..4:08:27:288 [ 0.314943] Oops [#1] ..4:08:27:289 [ 0.317359] Modules linked in: ..4:08:27:289 [ 0.320593] CPU: 0 PID: 1 Comm: swapper Not tainted 5.10.4-tag- #1 ..4:08:27:289 [ 0.327041] epc: ffffffe000282ee6 ra : ffffffe000282e94 sp : ffffffe000a5fc40 ..4:08:27:317 [ 0.334476] gp : ffffffe00086a898 tp : ffffffe000a60000 t0 : ffffffe000bb7800 ..4:08:27:317 [ 0.342002] t1 : 0000001e00000000 t2 : 00000000000000b0 s0 : 0000000000000000 ..4:08:27:317 [ 0.349528] s1 : 0000000000000cc0 a0 : 0000000000000001 a1 : 0000000000000001 ..4:08:27:327 [ 0.357055] a2 : 0000000000000000 a3 : 0000000000000cc0 a4 : 000000000000000f ..4:08:27:327 [ 0.364582] a5 : ffffffe003a28410 a6 : 0000000000000cc0 a7 : 0000000000000063 ..4:08:27:327 [ 0.372108] s2 : 0000000000000004 s3 : 0000000200000022 s4 : ffffffe00074e238 ..4:08:27:327 [ 0.379635] s5 : 0000000000000000 s6 : 0000000000000001 s7 : ffffffe00079ae10 ..4:08:27:353 [ 0.387161] s8 : 0000000000000004 s9 : 0000000000000cc0 s10: 0000000000000001 ..4:08:27:354 [ 0.394688] s11: 0000000000000010 t3 : 0000000000000000 t4 : 8080808080808080 ..4:08:27:375 [ 0.402213] t5 : ffffffe003e69698 t6 : ffffffe000a33251 ..4:08:27:376 [ 0.407769] status: 0000000200000100 badaddr: 0000000000000000 cause: 000000000000000d ..4:08:27:376 [ 0.416010] Call Trace: ..4:08:27:376 [ 0.418634] [<ffffffe000282ee6>] pcpu_alloc+0x242/0x3e2 ..4:08:27:402 [ 0.424086] [<ffffffe00020207a>] rdinit_setup+0x26/0x2a ..4:08:27:403 [ 0.429554] [<ffffffe000438380>] loopback_xmit+0xae/0xb2 ..4:08:27:403 [ 0.435113] [<ffffffe000538e0e>] alloc_netdev_mqs+0x9e/0x286 ..4:08:27:403 [ 0.441020] [<ffffffe000214024>] loopback_net_init+0x26/0x74 ..4:08:27:428 [ 0.446928] [<ffffffe00021ae0e>] netdev_init+0x2a/0x4e ..4:08:27:428 [ 0.452312] [<ffffffe00052ecde>] ops_init.constprop.0+0xb6/0xd2 ..4:08:27:428 [ 0.458489] [<ffffffe00052ed74>] register_pernet_operations+0x7a/0xa2 ..4:08:27:428 [ 0.465208] [<ffffffe00052edfa>] register_pernet_device+0x24/0x56 ..4:08:27:438 [ 0.471567] [<ffffffe00021ae2e>] netdev_init+0x4a/0x4e ..4:08:27:438 [ 0.476944] [<ffffffe00021af48>] net_dev_init+0x116/0x16e ..4:08:27:438 [ 0.482598] [<ffffffe000228104>] do_one_initcall+0x58/0xf2 ..4:08:27:439 [ 0.488324] [<ffffffe00020207a>] rdinit_setup+0x26/0x2a ..4:08:27:439 [ 0.493791] [<ffffffe000202b38>] kernel_init_freeable+0x186/0x1a6 ..4:08:27:468 [ 0.500161] [<ffffffe000616df0>] rest_init+0xba/0xbe ..4:08:27:468 [ 0.505348] [<ffffffe000616dfe>] kernel_init+0xa/0xd6 ..4:08:27:491 [ 0.510633] [<ffffffe000616df0>] rest_init+0xba/0xbe ..4:08:27:491 [ 0.515832] [<ffffffe00022906c>] ret_from_syscall_rejected+0x8/0xc ..4:08:27:492 [ 0.522335] ---[ end trace 52f94406434d5200 ]--- ..4:08:27:492 [ 0.527142] note: swapper[1] exited with preempt_count 1 ..4:08:27:492 [ 0.532697] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b ..4:08:27:509 [ 0.540650] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b ]---
环境:官方SDK
之前尝试在 milkv_duo_sd 上测试 sample_audio_rtos 时发现 ION 分配失败,排查后发现 arduino 分支下 milkv_duo_sd 默认 ION_SIZE 为 0,尝试修改 ION_SIZE 为 4m,之后烧录到板子上时直接无法进入 linux 系统。
串口输出如下: