[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 5.15.36-xilinx-v2022.2 (oe-user@oe-host) (aarch64-xilinx-linux-gcc (GCC) 11.2.0, GNU ld (GNU Binutils) 2.37.20210721) #1 SMP Mon Oct 3 07:50:07 UTC 2022 [ 0.000000] Machine model: xlnx,zynqmp [ 0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8') [ 0.000000] printk: bootconsole [cdns0] enabled [ 0.000000] efi: UEFI not found. [ 0.000000] Zone ranges: [ 0.000000] DMA32 [mem 0x0000000000000000-0x00000000ffffffff] [ 0.000000] Normal [mem 0x0000000100000000-0x000000097fffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000000000-0x000000007fefffff] [ 0.000000] node 0: [mem 0x0000000800000000-0x000000097fffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000097fffffff] [ 0.000000] On node 0, zone Normal: 256 pages in unavailable ranges [ 0.000000] cma: Reserved 256 MiB at 0x000000006b800000 [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.1 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: MIGRATE_INFO_TYPE not supported. [ 0.000000] psci: SMC Calling Convention v1.2 [ 0.000000] percpu: Embedded 18 pages/cpu s34776 r8192 d30760 u73728 [ 0.000000] Detected VIPT I-cache on CPU0 [ 0.000000] CPU features: detected: ARM erratum 845719 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 2064132 [ 0.000000] Kernel command line: earlycon console=ttyPS0,115200 clk_ignore_unused root=/dev/mmcblk0p2 rw rootwait [ 0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear) [ 0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear) [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off [ 0.000000] Unable to handle kernel paging request at virtual address ffff00007fc00000 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000047 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x07: level 3 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000047 [ 0.000000] CM = 0, WnR = 1 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00007fc00000] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8008 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8008] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Unable to handle kernel paging request at virtual address ffff00097fff8128 [ 0.000000] Mem abort info: [ 0.000000] ESR = 0x96000006 [ 0.000000] EC = 0x25: DABT (current EL), IL = 32 bits [ 0.000000] SET = 0, FnV = 0 [ 0.000000] EA = 0, S1PTW = 0 [ 0.000000] FSC = 0x06: level 2 translation fault [ 0.000000] Data abort info: [ 0.000000] ISV = 0, ISS = 0x00000006 [ 0.000000] CM = 0, WnR = 0 [ 0.000000] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000001378000 [ 0.000000] [ffff00097fff8128] pgd=180000097fff8003, p4d=180000097fff8003 [ 0.000000] Insufficient stack space to handle exception! [ 0.000000] ESR: 0x96000006 -- DABT (current EL) [ 0.000000] FAR: 0xffff00097fff8128 [ 0.000000] Task stack: [0xffff8000093a0000..0xffff8000093a4000] [ 0.000000] IRQ stack: [0x0000000000000000..0x0000000000004000] [ 0.000000] Overflow stack: [0xffff00097ef6c2b0..0xffff00097ef6d2b0] [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 5.15.36-xilinx-v2022.2 #1 [ 0.000000] Hardware name: xlnx,zynqmp (DT) [ 0.000000] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 0.000000] pc : show_pte+0x18c/0x238 [ 0.000000] lr : show_pte+0x15c/0x238 [ 0.000000] sp : ffff8000093a0020 [ 0.000000] x29: ffff8000093a0020 x28: ffff8000093b4e80 x27: 000000007fc8d978 [ 0.000000] x26: 0000000000000000 x25: 0000000000000000 x24: ffff00097efb6f80 [ 0.000000] x23: ffff800009107000 x22: ffff800009178000 x21: 0000000000000128 [ 0.000000] x20: ffff00097fff8000 x19: ffff00097fff8128 x18: ffffffffffffffff [ 0.000000] x17: 3030666666662073 x16: 736572646461206c x15: ffff8000094a7030 [ 0.000000] x14: 0000000000000010 x13: ffff8000093c6128 x12: 00000000000003ba [ 0.000000] x11: 000000000000013e x10: ffff8000093c6128 x9 : ffff8000093c6128 [ 0.000000] x8 : 00000000fffff7ff x7 : ffff8000093f2128 x6 : ffff8000093f2128 [ 0.000000] x5 : 0000000000005ff4 x4 : 40000000fffff93e x3 : 0000000000000000 [ 0.000000] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff8000090037e8 [ 0.000000] Kernel panic - not syncing: kernel stack overflow zynqmp板卡内核打印这个错误如何解决

时间: 2025-07-26 10:30:57 AIGC 浏览: 57
<think>我们正在解决ZynqMP板卡启动时出现的内核栈溢出('kernel stackoverflow')错误导致内核崩溃的问题。根据之前提供的解决思路,结合ZynqMP平台特性,以下是具体解决方案: ###1. **增大内核线程栈大小(立即缓解措施)**ZynqMP默认内核线程栈为16KB(ARM64架构),在复杂驱动初始化时可能不足。修改方法:```bashpetalinux-config-ckernel```进入配置菜单:-定位到`Kernel Features` →`Threadstack size(KB)`,将值从16改为32(或64)-保存退出后重新编译:```bashpetalinux-build```###2.**诊断栈溢出根源****步骤1:捕获崩溃现场**-在U-Boot启动参数中添加`earlyconloglevel=8`:```bashsetenvbootargs"earlycon loglevel=8"saveenv```-从串口日志中定位崩溃前的最后调用栈(关键信息如`Calltrace:`)**步骤2:分析溢出函数**若日志显示类似:```Kernel panic- notsyncing: kernelstack overflow:0xffffffc008e2ffb8-0xffffffc008e30000Call trace:[<ffffff800808f1d4>] dump_backtrace+0x0/0x1a0[<ffffff8008090c58>]show_stack+0x18/0x70```则需关注栈回溯中重复出现的函数(通常是递归或大局部变量)。**步骤3:针对性修复**- **案例A:驱动递归调用**常见于中断处理中重复触发中断。修复方法:在ISR中及时清除中断标志。- **案例B:大尺寸局部数组**如函数内定义`charbuffer[8192];`(占8KB栈空间)。修改为动态分配:```c//原代码voidfoo(){char buffer[8192];//危险!}//修改后void foo() {char*buffer= kmalloc(8192, GFP_KERNEL);//使用buffer...kfree(buffer);}```###3.**启用栈保护机制(主动防御)**在Petalinux内核配置中启用栈溢出检测:```bashpetalinux-config-ckernel```开启选项:-`CONFIG_STACKPROTECTOR=y`(基本保护)- `CONFIG_STACKPROTECTOR_STRONG=y`(强保护)- `CONFIG_DEBUG_STACK_USAGE=y`(栈使用统计) ###4. **ZynqMP多核同步问题排查**若栈溢出发生在从核(CPU1~CPU3)启动阶段:- **临时禁用从核**:在设备树`project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi`中添加:```dts/ {cpus {cpu@1{status ="disabled"; };cpu@2{ status= "disabled";};cpu@3 {status ="disabled"; };};};```-若单核启动正常,则问题出在多核同步:-检查PMU固件版本(需与Petalinux版本匹配)-验证IPI(核间中断)设备树配置###5.**硬件相关栈溢出(DDR配置)**ZynqMP启动阶段DDR初始化错误可能引发伪栈溢出:-使用XilinxVitis检查DDR控制器配置(尤其是`psu_ddr_*`寄存器)-在FSBL阶段启用DDR ECC校验(若使用ECC内存)>**技术点**:Linux内核线程栈与进程用户栈分离,默认大小由编译选项确定[^1]。ZynqMP的Cortex-A53核使用`SP_EL0`作为用户栈指针,`SP_EL1`作为内核栈指针,溢出会触发`SP_EL1`异常[^2]。 ###最终验证流程1.编译新镜像并启动:```bashpetalinux-buildpetalinux-package--boot--fsbl images/linux/zynqmp_fsbl.elf --u-boot```2.通过串口观察启动日志,确认`kernel stackoverflow`消失。§§相关问题§§1.如何永久修改Petalinux工程中的内核线程栈大小? 2. ZynqMP多核启动时如何调试核间通信(IPI)问题?3.Linux内核栈溢出诊断工具有哪些? 4. Petalinux中如何调整DDR控制器参数?5.Cortex-A53架构中SP_EL0和SP_EL1的区别是什么?[^1]:Linux内核线程栈实现机制[^2]: ARMv8异常级别与栈指针寄存器设计</think>### 解决ZynqMP板卡内核栈溢出崩溃问题 针对ZynqMP板卡启动时出现的"kernel stack overflow"错误,以下是系统化的解决方案: #### 1. **增大内核线程栈大小(最直接方案)** ```bash # 修改内核配置 petalinux-config -c kernel ``` 在配置菜单中: - 导航到 `Kernel Features` → `Thread stack size (KB)` - 将默认值 **16** 改为 **32** 或 **64**(ARM64架构最大支持64KB) - 保存后重新编译: ```bash petalinux-build ``` > **原理**:ZynqMP的Cortex-A53内核默认16KB栈空间,复杂驱动初始化时可能不足[^1]。 #### 2. **诊断栈溢出根源** **步骤1:捕获崩溃现场** - 在U-Boot中修改启动参数: ```bash setenv bootargs "earlycon loglevel=8 panic=10" saveenv ``` - 从串口日志中定位崩溃前的最后调用栈(关键字段:`Call trace:`) **步骤2:分析可疑函数** 常见问题模式: - **递归函数失控**:检查驱动中未正确退出的递归逻辑 - **大尺寸局部变量**:如`char buffer[8192];`(占50%栈空间) - **深度调用链**:特别是中断处理函数嵌套 **步骤3:启用栈保护** ```bash # 内核配置中启用 CONFIG_STACKPROTECTOR=y CONFIG_STACKPROTECTOR_STRONG=y CONFIG_DEBUG_STACK_USAGE=y # 栈使用统计 ``` #### 3. **ZynqMP特定优化** **多核同步问题处理**: ```dts // system-user.dtsi 中添加 /cpus/cpu@1 { status = "disabled"; // 先禁用从核测试 }; ``` **PMU固件验证**: ```bash # 检查PMU版本兼容性 petalinux-boot --jtag --pmufw images/linux/pmufw.elf ``` #### 4. **内存配置检查** ZynqMP DDR配置错误会导致伪栈溢出: ```bash # 在FSBL阶段验证DDR初始化 petalinux-boot --jtag --prebuilt 3 --hw_server-url tcp:localhost:3121 ``` 关键参数: - DDR控制器时序(`psu_ddr_*`寄存器) - 内存映射冲突(检查`mem=xxxM`启动参数) #### 5. **高级调试方法** **JTAG栈分析**: 1. 启动到U-Boot后暂停 2. 加载内核镜像到内存: ```bash petalinux-boot --jtag --kernel --initrd ``` 3. 在GDB中设置断点: ```gdb b panic if strstr(msg, "stack overflow") ``` **栈使用监控**: ```bash # 运行后查看栈使用峰值 cat /proc/$(pidof kthreadd)/stack ``` ### 典型修复案例 **场景**:PL端自定义IP驱动导致溢出 **修复**: ```c // 修改前:大数组在栈上 void isr_handler() { char buffer[16384]; // 危险! } // 修改后:动态分配 void isr_handler() { char *buffer = kmalloc(16384, GFP_ATOMIC); // ... kfree(buffer); } ``` > **关键点**:ZynqMP启动时所有驱动初始化共享同一栈空间,复杂FPGA设计需特别注意[^2]。 ### 验证流程 ```mermaid graph TD A[增大栈大小至32KB] --> B{启动成功?} B -->|是| C[问题解决] B -->|否| D[捕获崩溃日志] D --> E[分析调用栈] E --> F[修改问题函数] F --> G[重新编译测试] ```
阅读全文

相关推荐

解析一下这个开机流程: Ver:20230302-T40XP adc:1955 -1 3300, EV:38, SEC_EV:-1, is night:0, pwm duty:-1, led mode:close [ 0.000000] Linux version 4.4.94 (root@LAPTOP-7UK6Q288) (gcc version 7.2.0 (Ingenic Linux-Release5.1.1.a-Default(xburst2(fp64)+glibc2.29) 2022.03-01 09:37:14) ) #8 SMP PREEMPT Fri Sep 5 16:03:30 CST 2025 [ 0.000000] CPU0 RESET ERROR PC:FFFFFFCB [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 00132100 (Ingenic XBurst@II) [ 0.000000] FPU revision is: 00f32100 [ 0.000000] MIPS: machine is ingenic,shark [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 00613000 @ 00010000 (usable) [ 0.000000] memory: 0003d000 @ 00623000 (usable after init) [ 0.000000] User-defined physical RAM map: [ 0.000000] memory: 08000000 @ 00000000 (usable) [ 0.000000] Initial ramdisk at: 0x80800000 (8073728 bytes) [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x0000000000000000-0x0000000007ffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000000000-0x0000000007ffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff] [ 0.000000] [SMP] Slave CPU(s) 1 available. [ 0.000000] Primary instruction cache 32kB, VIPT, 8-way, linesize 32 bytes. [ 0.000000] Primary data cache 32kB, 8-way, VIPT, no aliases, linesize 32 bytes [ 0.000000] =======found ...... ingenic sc cache ops ...!, found: 1 [ 0.000000] [ 0.000000] Unified secondary cache 128kB 8-way, linesize 64 bytes. [ 0.000000] PERCPU: Embedded 10 pages/cpu @81117000 s8432 r8192 d24336 u40960 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping off. Total pages: 32512 [ 0.000000] Kernel command line: console=ttyS1,115200n8 mem=128M@0x0 rmem=96M@0x8000000 nmem=32M@0xE000000 root=/dev/ram0 rw rdinit=/linuxrc mtdparts=jz_sfc:256K(boot),288K(tag),3584k(kernel),3584k(rootfs),3584K(recovery),4576K(system),512K(config),16M@0(all) lpj=11968512 senv;[HW];init_vw=1936;init_vh=1280;nrvbs=2;mode=0;sensor_num=1;debug;eenv; lzo_size=3373666 rd_start=0x80800000 rd_size=0x7b3200 [ 0.000000] ir_switch_parse mode: 2 threshold min:2000 max:2500 [ 0.000000] ir_switch_parse width:1936 height:1280 nrvbs:2 [ 0.000000] ir_switch_parse hight framerate mode change num:5 [ 0.000000] ir_switch_parse dayEv:0 nightEv:0 coeff:0 wbr:0 wbb:0 [ 0.000000] Sensor Calibration Mode:0 [ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes) [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Memory: 115180K/131072K available (4996K kernel code, 444K rwdata, 772K rodata, 244K init, 172K bss, 15892K reserved, 0K cma-reserved) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=2, Nodes=1 [ 0.000000] Preemptible hierarchical RCU implementation. [ 0.000000] Build-time adjustment of leaf fanout to 32. [ 0.000000] NR_IRQS:419 [ 0.000000] parse cpu-intc-iomap, intc define in dt is too large! [ 0.000000] core irq setup finished [ 0.000000] percpu irq inited. [ 0.000000] t40 Clock Power Management Unit init! [ 0.000000] =========== t40 clocks: ============= [ 0.000000] apll = 900000000 , mpll = 1200000000 [ 0.000000] cpu_clk = 900000000 , l2c_clk = 450000000 [ 0.000000] ahb0_clk = 200000000 , ahb2_clk = 200000000 [ 0.000000] apb_clk = 100000000 , ext_clk = 24000000 [ 0.000000] [ 0.000000] parse cpu-ost-iomap, ost number define in dt is too large! [ 0.000000] percpu cpu_num:0 timerevent init [ 0.000000] clockevents_config_and_register success. [ 0.000000] clocksource: jz_clocksource: mask: 0x7fffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns [ 0.000000] sched_clock: 64 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns [ 0.000094] ERROR epc 0xffffffcb [ 0.003318] Calibrating delay loop (skipped) preset value.. 2393.70 BogoMIPS (lpj=11968512) [ 0.011756] pid_max: default: 32768 minimum: 301 [ 0.016528] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.023162] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.030842] [SMP] Prepare 2 cores., cpu: 0 [ 0.041753] [SMP] Booting CPU1 ... [ 0.045154] CPU1 RESET ERROR PC:FFFBFFEE [ 0.045170] Primary instruction cache 32kB, VIPT, 8-way, linesize 32 bytes. [ 0.045175] Primary data cache 32kB, 8-way, VIPT, no aliases, linesize 32 bytes [ 0.045179] =======found ...... ingenic sc cache ops ...!, found: 1 [ 0.045179] [ 0.045182] Unified secondary cache 128kB 8-way, linesize 64 bytes. [ 0.045237] #### now starting init for cpu : 1 [ 0.045244] percpu irq inited. [ 0.045247] percpu cpu_num:1 timerevent init [ 0.045260] clockevents_config_and_register success. [ 0.045266] CPU1 revision is: 00132100 (Ingenic XBurst@II) [ 0.045268] FPU revision is: 00f32100 [ 0.045357] Brought up 2 CPUs [ 0.045852] [SMP] slave cpu1 start up finished. [ 0.112181] devtmpfs: initialized [ 0.120871] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.130859] futex hash table entries: 512 (order: 2, 16384 bytes) [ 0.137078] pinctrl core: initialized pinctrl subsystem [ 0.142715] NET: Registered protocol family 16 [ 0.152317] ingenic pinctrl 10010000.pinctrl: 4 gpio chip add success, pins 128 [ 0.160387] ingenic pinctrl 10010000.pinctrl: ingenic pinctrl probe success [ 0.177605] dmmu_init 807 PTRS_PER_PTE = 1024 [ 0.181975] Can't analyze schedule() prologue at 804ec944 [ 0.189841] ingenic-i2c 10050000.i2c: register i2c0 success. [ 0.196028] ingenic-i2c 10051000.i2c: register i2c1 success. [ 0.202354] ingenic-i2c 10052000.i2c: register i2c2 success. [ 0.208518] ingenic-i2c 10053000.i2c: register i2c3 success. [ 0.239265] ingenic-dma 13420000.dma: INGENIC SoC DMA initialized [ 0.246630] usbcore: registered new interface driver usbfs [ 0.252350] usbcore: registered new interface driver hub [ 0.257911] usbcore: registered new device driver usb [ 0.263179] inno phy probe success [ 0.266993] media: Linux media interface: v0.10 [ 0.271690] Linux video capture interface: v2.00 [ 0.276467] t40 set isp clk is 300000000 [ 0.280426] AE Para ADDR = a3700000 [ 0.283913] Tuning mode is:0 [ 0.289291] @@@@ tx-isp-probe ok (version H20221213a), compiler date: Mar 14 2023 15:44:53 @@@@@ [ 0.298350] The apll was not found! [ 0.301905] fast_wdr_mode = 0 [ 0.301905] main_user_wdr = 0 [ 0.307888] Main sensor name = isr2006 i2c = 0x60 [ 0.313226] probe ok ------->isr2006 build:Sep 5 2025 16:03:15 [ 0.319280] set sensor mclk(1) gpio [ 0.322787] isr2006 chip found @ 0x60 (i2c1) [ 0.327104] sensor driver version H20211019a [ 0.331672] Create framechan0 OK! [ 0.335444] Create framechan1 OK! [ 0.339218] Create framechan2 OK! [ 0.342942] Calibration ADDR = a3810000 [ 0.352061] Calibration len = 204800 [ 0.355684] Calibration len = 204800 [ 0.359267] Load Sensor Setting DATE:calibration mode 0 MD5:calibration crc 3473617380 [ 0.367296] Calibration len = 204800 [ 0.372307] *********** fliker print ********************** [ 0.377911] para1 = 5 [ 0.380197] para2 = 14 [ 0.382572] thr_fliker = 20 [ 0.385399] thr_energe_value = 30 [ 0.585785] Main sensor NCU: size = 5407744 paddr = 0x8000000 [ 0.591680] fs0 start ev is 38 [ 0.594998] isr2006 stream on [ 0.597986] TTFF frame_channel_fast_start 261 W:1936 H:1280 N:2 [ 0.603941] TTFF isp_vic_interrupt_service_routine0:1301 Chn:0 Frame 0 Start:1215 [ 0.611659] buf_id = 0 buf_ptr = 8529000 buf_len = 3717120 [ 0.617400] buf_id = 1 buf_ptr = 88b4800 buf_len = 3717120 [ 0.619409] TTFF isp_vic_interrupt_service_routine0:1301 Chn:0 Frame 1 Start:1230 [ 0.633483] clocksource: Switched to clocksource jz_clocksource [ 0.639553] TTFF isp_vic_interrupt_service_routine0:1301 Chn:0 Frame 2 Start:1250 [ 0.649619] NET: Registered protocol family 2 [ 0.654594] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.661615] TCP bind hash table entries: 1024 (order: 1, 8192 bytes) [ 0.661686] TTFF isp_vic_interrupt_service_routine0:1301 Chn:0 Frame 3 Start:1273 [ 0.662033] TTFF frame_channel_buffer_done:255 Chn:0 Buf:0 Write Done:1273 [ 0.681678] TTFF isp_vic_interrupt_service_routine0:1301 Chn:0 Frame 4 Start:1293 [ 0.682014] TTFF frame_channel_buffer_done:255 Chn:0 Buf:1 Write Done:1293 [ 0.697449] TCP: Hash tables configured (established 1024 bind 1024) [ 0.701363] TTFF isp_vic_interrupt_service_routine0:1301 Chn:0 Frame 5 Start:1312 [ 0.711564] UDP hash table entries: 256 (order: 1, 8192 bytes) [ 0.717490] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes) [ 0.718873] TTFF isp_vic_interrupt_service_routine0:1301 Chn:0 Frame 6 Start:1330 [ 0.731623] NET: Registered protocol family 1 [ 0.737406] RPC: Registered named UNIX socket transport module. [ 0.739216] TTFF isp_vic_interrupt_service_routine0:1301 Chn:0 Frame 7 Start:1350 [ 0.751092] RPC: Registered udp transport module. [ 0.755823] RPC: Registered tcp transport module. [ 0.760561] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.760636] TTFF isp_vic_interrupt_service_routine0:1301 Chn:0 Frame 8 Start:1372 [ 0.774963] Trying to unpack rootfs image as initramfs... [ 0.780372] TTFF isp_vic_interrupt_service_routine0:1301 Chn:0 Frame 9 Start:1391 [ 0.797146] TTFF isp_vic_interrupt_service_routine0:1301 Chn:0 Frame 10 Start:1408 [ 0.832436] Freeing initrd memory: 7884K [ 0.862486] jitterentropy: Initialization failed with host not compliant with requirements: 2 [ 0.871917] io scheduler noop registered [ 0.875892] io scheduler deadline registered [ 0.880197] io scheduler cfq registered (default) [ 0.885666] vs021xrm display-dsi:panel_VS021XRM@0: invalid gpio backlight.gpio: -2 [ 0.893307] registered panel driver(vs021xrm) to mipi-dsi driver. [ 0.905366] vsync_skip_ratio = 9 [ 0.908561] vsync_skip_map = 0x000003ff [ 0.912497] dsi->video_config->h_total_pixels: 1650 [ 0.917452] dsi->video_config->v_total_lines: 1500 [ 0.922315] jzfb_pdata.modes->refresh: 50 [ 0.926393] jzfb_pdata.bpp: 24 [ 0.929444] dsi->video_config->no_of_lanes: 4 [ 0.933900] ---dsi->video_config->byte_clock: 0 [ 0.938613] +++++++++++++warning: DATALANE_BPS is over lcd max_bps allowed ,auto set it lcd max_bps 92812 [ 0.948407] jzdsi_init, 1102 byte_clock 92812 KHz, pixel_clock:123762 KHz [ 0.955594] dsi phy address = 0xb0004000 [ 0.959500] init_dsi_phy,497 step0 do nothing now. [ 0.964489] init_dsi_phy,511 reg write error. Step1 [ 0.969382] reg:0x03, value:0x1 [ 0.972560] init_dsi_phy,526 reg write error. Step2 [ 0.977620] reg:0x04, value:0x8c [ 0.980819] reg:0x01, value:0xe4 [ 0.984131] reg:0x00, value:0x7d [ 0.987351] reg:0x01, value:0xe0 [ 1.013544] reg:0x20, value:0x1e [ 1.016809] reg:0x20, value:0x1f [ 1.033538] init_dsi_phy,642 dsi phy init over now... [ 1.038733] before setting dsi phy: pll_clk_sel: 0xc0, set_pll_clk_sel: 0x2 [ 1.045818] after setting dsi phy: pll_clk_sel: 0x2, output_freq: 742496000 [ 1.052807] configure master-phy is ok [ 1.543891] ingenic-fb 13050000.dpu: uboot is not display logo! [ 1.551430] JZ DBOX probe ok!!!! [ 1.556952] 10031000.serial: ttyS1 at MMIO 0x10031000 (irq = 58, base_baud = 6250000) is a uart1 [ 1.566047] console [ttyS1] enabled [ 1.566047] console [ttyS1] enabled [ 1.573187] bootconsole [early0] disabled [ 1.573187] bootconsole [early0] disabled [ 1.581880] 10032000.serial: ttyS2 at MMIO 0x10032000 (irq = 57, base_baud = 6250000) is a uart2 [ 1.604496] brd: module loaded [ 1.610458] loop: module loaded [ 1.615556] zram: Added device: zram0 [ 1.620091] zram: Added device: zram1 [ 1.626314] ingenic SADC driver registeres over! [ 1.631649] ingenic sadc aux probe success [ 1.636330] ingenic sadc aux probe success [ 1.640891] ingenic sadc aux probe success [ 1.645510] ingenic sadc aux probe success [ 1.650091] ingenic sadc aux probe success [ 1.654740] ingenic sadc aux probe success [ 1.661035] ingenic-tcu 10002000.tcu: Ingenic TCU driver register completed ret = 0 [ 1.683542] Bus Mode Reg after reset: 0x00020101, cnt=0 [ 1.693298] libphy: ingenic_mii_bus: probed [ 1.698419] dwc-mac 134b0000.mac: Ingenic on-chip Ethernet MAC driver, Version 1.0 [ 1.723881] dwc2 13500000.otg: Configuration mismatch. Forcing host mode [ 1.730981] OTG CLK 1c1e5f80 [ 1.734846] CPCCR CLK 1580 [ 1.937218] dwc2 13500000.otg: DWC OTG Controller [ 1.942181] dwc2 13500000.otg: new USB bus registered, assigned bus number 1 [ 1.949618] dwc2 13500000.otg: irq 29, io mem 0x00000000 [ 1.956134] hub 1-0:1.0: USB hub found [ 1.960124] hub 1-0:1.0: 1 port detected [ 1.964867] ingenic,watchdog 10002000.watchdog: Failed to get mfd cell [ 1.971711] ingenic,watchdog: probe of 10002000.watchdog failed with error -12 [ 1.980189] Netfilter messages via NETLINK v0.30. [ 1.985245] ip_set: protocol 6 [ 1.988595] ip_tables: (C) 2000-2006 Netfilter Core Team [ 1.994307] NET: Registered protocol family 17 [ 2.000401] run=0, wait=0 [ 2.005302] Freeing unused kernel memory: 244K [ 2.107666] Enter 'CDT' mode. [ 2.110776] Enter 'DMA Descriptor chain' mode. [ 2.115649] the id code = ef4018, the flash name is WIN25Q128 [ 2.130653] ingenic-sfc 13440000.sfc: nor flash quad mode is set, now use quad mode! [ 2.138851] 8 cmdlinepart partitions found on MTD device jz_sfc [ 2.145076] Creating 8 MTD partitions on "jz_sfc": [ 2.150101] 0x000000000000-0x000000040000 : "boot" [ 2.157440] 0x000000040000-0x000000088000 : "tag" [ 2.168286] 0x000000088000-0x000000408000 : "kernel" [ 2.179364] 0x000000408000-0x000000788000 : "rootfs" [ 2.189351] 0x000000788000-0x000000b08000 : "recovery" [ 2.202104] 0x000000b08000-0x000000f80000 : "system" [ 2.212722] 0x000000f80000-0x000001000000 : "config" [ 2.223105] 0x000000000000-0x000001000000 : "all" [ 2.232190] ingenic-sfc 13440000.sfc: SPI NOR MTD LOAD OK [ 2.253111] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. [ 2.267513] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 2.281396] jffs2: notice: (608) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found. [ 2.306282] zram0: detected capacity change from 0 to 16777216 Setting up swapspace version 1, size = 16773120 bytes UUID=f09220ba-239e-458e-98cf-d[ 2.319858] Adding 16380k swap on /dev/zram0. Priority:-1 extents:1 across:16380k SS cf2b749d9c5 [ 2.336618] Bus Mode Reg after reset: 0x00020101, cnt=0 [ 2.349153] Bus Mode Reg after reset: 0x00020101, cnt=0 / sh: write error: Invalid argument [ 2.421576] jz_pwm_probe[328] d_name = ingenic,tcu_chn3 [ 2.427821] jz_pwm_probe[328] d_name = ingenic,tcu_chn4 [ 2.433888] jz_pwm_probe[328] d_name = ingenic,tcu_chn5 [ 2.444752] The version of PWM driver is H20210412a [ 2.460654] request pwm channel 3 successfully [ 2.465502] request pwm channel 4 successfully [ 2.470126] request pwm channel 5 successfully [ 2.475180] pwm-jz pwm-jz: jz_pwm_probe register ok ! Zeratul login: [ 3.047453] RTW: module init start [ 3.051013] RTW: rtl8188eu v5.15.11-0-g96e5f190c.20231003 [ 3.056698] RTW: build time: Sep 1 2025 15:53:12 [ 3.061670] RTW: rtw_inetaddr_notifier_register [ 3.066635] usbcore: registered new interface driver rtl8188eu [ 3.072714] RTW: module init ret=0 [ 3.098832] sdhci: Secure Digital Host Controller Interface driver [ 3.105303] sdhci: Copyright(c) Pierre Ossman [ 3.113665] mmc gpio ingenic,cd-gpios num:122 en-level: 0 [ 3.119498] ingenic,sdhci 13060000.msc: allocated mmc-pwrseq [ 3.163531] mmc0: SDHCI controller on ingenic-sdhci [13060000.msc] using ADMA [ 3.171270] mmc0: card removed [ 3.213551] mmc1: SDHCI controller on ingenic-sdhci [13070000.msc] using ADMA [ 4.693728] dwc-mac 134b0000.mac eth0: Link is Up - 100Mbps/Full - flow control rx/tx TF card is not mount, please mount tf card at first ! root Jan 1 00:00:11 login[625]: root login on 'console' Hello Zeratul! [root@Zeratul:~]# lsmod ingenic_sdhci_sdio 8544 - - Live 0xc0965000 sdhci 23856 - - Live 0xc0956000 mmc_block 25136 - - Live 0xc0941000 mmc_core 79088 - - Live 0xc091e000 8188eu 1867280 - - Live 0xc072e000 (O) sample_pwm_hal 3296 - - Live 0xc042d000 (O) sample_pwm_core 2400 - - Live 0xc0425000 (O) squashfs 23920 - - Live 0xc03e3000 jffs2 113504 - - Live 0xc036a000 zlib_deflate 18192 - - Live 0xc0336000 jz_sfc 22288 - - Live 0xc0326000 [root@Zeratul:~]# [ 14.649909] random: nonblocking pool is initialized ls bin dev linuxrc opt root sys usr config etc media proc run system var config_bak lib mnt re.sh sbin tmp [root@Zeratul:~]#

[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050] [ 0.000000] Linux version 5.10.184+ (bj32lxm@LinuxServer3) (aarch64-linux-gnu-gcc (Linaro GCC 7.5-2019.12) 7.5.0, GNU ld (Linaro_Binutils-2019.12) 2.28.2.20170706) #1 SMP PREEMPT Thu Jun 26 14:52:18 CST 2025 [ 0.000000] Machine model: sun55iw3 [ 0.000000] earlycon: uart8250 at MMIO32 0x0000000002500000 (options '') [ 0.000000] printk: bootconsole [uart8250] enabled [ 0.131327] AW BSP version: aae35493d7, 2024-08-06 11:27:03 +0800 [ 1.311003] register hilog error -16 [ 2.088815] Unable to handle kernel execute from non-executable memory at virtual address ffffff80058e3780 [ 2.099649] Mem abort info: [ 2.102783] ESR = 0x8600000f [ 2.106210] EC = 0x21: IABT (current EL), IL = 32 bits [ 2.112163] SET = 0, FnV = 0 [ 2.115581] EA = 0, S1PTW = 0 [ 2.119104] swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000041532000 [ 2.126619] [ffffff80058e3780] pgd=00000000bfff9003, p4d=00000000bfff9003, pud=00000000bfff9003, pmd=00000000bffd5003, pte=00680000458e3707 [ 2.140676] Internal error: Oops: 8600000f [#1] PREEMPT SMP [ 2.146917] Modules linked in: [ 2.150336] CPU: 2 PID: 141 Comm: hdmi hpd Not tainted 5.10.184+ #1 [ 2.157355] Hardware name: sun55iw3 (DT) [ 2.161747] pstate: 20c00005 (nzCv daif +PAN +UAO -TCO BTYPE=--) [ 2.168478] pc : 0xffffff80058e3780 [ 2.172384] lr : drm_client_dev_hotplug+0x78/0xc0 [ 2.177653] sp : ffffffc01265bcd0 [ 2.181356] x29: ffffffc01265bcd0 x28: ffffff80058d9380 [ 2.187304] x27: 0000000000000085 x26: ffffffc011339c38 [ 2.193257] x25: ffffffc01137f5d0 x24: ffffffc01137f570 [ 2.199211] x23: ffffff8003659910 x22: ffffff8003659930 [ 2.205163] x21: ffffffc0113887b0 x20: ffffff8003659800 [ 2.211113] x19: ffffff8002815ba8 x18: ffffffffffffffff [ 2.217066] x17: 0000000000000000 x16: 0000000000000000 [ 2.223017] x15: ffffffc011458678 x14: ffffff8005397a1c [ 2.228967] x13: ffffff80053972c9 x12: 0000000000000038 [ 2.234918] x11: 0000000005f5e0ff x10: ffffffc01265bbc0 [ 2.240863] x9 : ffffff80ffffffd0 x8 : 0000000000000725 [ 2.246813] x7 : ffffffc01265bc50 x6 : ffffffc01100f290 [ 2.252762] x5 : ffffff8005396000 x4 : 0000000000000000 [ 2.258711] x3 : ffffff8003659910 x2 : ffffff80058d3500 [ 2.264663] x1 : ffffff80058e3780 x0 : ffffff8002815ba8 [ 2.270620] Call trace: [ 2.273357] 0xffffff80058e3780 [ 2.276875] drm_kms_helper_hotplug_event+0x34/0x48 [ 2.282338] drm_helper_hpd_irq_event+0x174/0x1b8 [ 2.287610] _sunxi_drv_hdmi_hpd_set+0x64/0xd0 [ 2.292584] _sunxi_drv_hdmi_thread+0xc4/0x230 [ 2.297563] kthread+0x154/0x158 [ 2.301177] ret_from_fork+0x10/0x30 [ 2.305177] Code: 00000000 00000000 00000000 00000000 (034d4700) [ 2.312001] ---[ end trace 00618baa6892a69e ]--- [ 2.317172] Kernel panic - not syncing: Oops: Fatal exception [ 2.323615] SMP: stopping secondary CPUs [ 2.328064] Kernel Offset: disabled [ 2.331969] CPU features: 0x00040026,2a00a238 [ 2.336845] Memory Limit: none [ 2.340273] ---[ end Kernel panic - not syncing: Oops: Fatal exception ]--- 我使用t527 tina版本的代码可以点亮hdmi,然后使用openharmony系统一样的dts,但是报错了

Booting Linux on physical CPU 0x0 Linux version 4.14.0-xilinx (linux@linux-VirtualBox) (gcc version 7.3.1 20180314 (Linaro GCC 7.3-2018.04-rc3)) #1 SMP PREEMPT Mon May 26 16:16:52 CST 2025 CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache OF: fdt: Machine model: xlnx,zynq-7000 earlycon: cdns0 at MMIO 0xe0001000 (options '115200n8') bootconsole [cdns0] enabled Memory policy: Data cache writealloc cma: Reserved 16 MiB at 0x3f000000 Unable to handle kernel paging request at virtual address fe8ee000 pgd = c0004000 [fe8ee000] *pgd=00000000 Internal error: Oops - BUG: 5 [#1] PREEMPT SMP ARM Modules linked in: CPU: 0 PID: 0 Comm: swapper Not tainted 4.14.0-xilinx #1 Hardware name: Xilinx Zynq Platform task: c0a07000 task.stack: c0a00000 PC is at fdt_check_header+0x0/0x74 LR is at __unflatten_device_tree+0x28/0xfc pc : [<c063571c>] lr : [<c05007b0>] psr: a00000d3 sp : c0a01f48 ip : 00a61d43 fp : efffeec0 r10: c0a0fd80 r9 : c0a4c388 r8 : 00000000 r7 : fe8ee000 r6 : c0a57554 r5 : c091e388 r4 : c091e388 r3 : c091e388 r2 : c0a57554 r1 : 00000000 r0 : fe8ee000 Flags: NzCv IRQs off FIQs off Mode SVC_32 ISA ARM Segment none Control: 18c5387d Table: 0000404a DAC: 00000051 Process swapper (pid: 0, stack limit = 0xc0a00210) Stack: (0xc0a01f48 to 0xc0a02000) 1f40: c091e388 c0a0815c c0a3b9c0 c0a06d00 00000000 c091f160 1f60: 00000000 0000000c c092bd80 c0903dc8 ffffffff 18c5387d c0a03c40 c083e494 1f80: 413fc090 00000000 00000000 c015120c c07dcb45 c0a01fb4 00000001 c0a3bb14 1fa0: c0a3b880 ffffffff c0a03c40 0000406a 413fc090 00000000 00000000 c0900904 1fc0: 00000000 00000000 00000000 00000000 00000000 c0933a30 00000000 c0a3bb14 1fe0: c0a03c58 c0933a2c c0a08284 0000406a 413fc090 0000807c 00000000 00000000 [<c063571c>] (fdt_check_header) from [<c05007b0>] (__unflatten_device_tree+0x28/0xfc) [<c05007b0>] (__unflatten_device_tree) from [<c091f160>] (unflatten_device_tree+0x24/0x40) [<c091f160>] (unflatten_device_tree) from [<c0903dc8>] (setup_arch+0x5e0/0x9d8) [<c0903dc8>] (setup_arch) from [<c0900904>] (start_kernel+0x4c/0x364) [<c0900904>] (start_kernel) from [<0000807c>] (0x807c) Code: ebf2fa21 e28dd014 e49df004 c063560c (e5903000) random: get_random_bytes called from init_oops_id+0x20/0x3c with crng_init=0 ---[ end trace 0000000000000000 ]--- Kernel panic - not syncing: Attempted to kill the idle task! ---[ end Kernel panic - not syncing: Attempted to kill the idle task!

2025.09.01 17:12:49 INFO app[][o.s.a.AppFileSystem] Cleaning or creating temp directory D:\sonarqube-25.8.0.112029\temp 2025.09.01 17:12:49 INFO app[][o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:{}] 2025.09.01 17:12:49 INFO app[][o.s.a.ProcessLauncherImpl] Launch process[ELASTICSEARCH] from [D:\sonarqube-25.8.0.112029\elasticsearch]: C:\Program Files\Java\jdk-17\bin\java -Xms4m -Xmx64m -XX:+UseSerialGC -Dcli.name=server -Dcli.script=./bin/elasticsearch -Dcli.libs=lib/tools/server-cli -Des.path.home=D:\sonarqube-25.8.0.112029\elasticsearch -Des.path.conf=D:\sonarqube-25.8.0.112029\temp\conf\es -Des.distribution.type=tar -cp D:\sonarqube-25.8.0.112029\elasticsearch\lib\*;D:\sonarqube-25.8.0.112029\elasticsearch\lib\cli-launcher\* org.elasticsearch.launcher.CliToolLauncher 2025.09.01 17:12:49 INFO app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running 2025.09.01 17:13:01 INFO app[][o.s.a.SchedulerImpl] Process[es] is up 2025.09.01 17:13:01 INFO app[][o.s.a.ProcessLauncherImpl] Launch process[WEB_SERVER] from [D:\sonarqube-25.8.0.112029]: C:\Program Files\Java\jdk-17\bin\java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=D:\sonarqube-25.8.0.112029\temp -XX:-OmitStackTraceInFastThrow --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED -Xms2g -Xmx2g -XX:+HeapDumpOnOutOfMemoryError -Dhttp.nonProxyHosts=localhost|127.*|[::1] -cp ./lib/sonar-application-25.8.0.112029.jar;D:\sonarqube-25.8.0.112029\lib\jdbc\postgresql\postgresql-42.7.7.jar org.sonar.server.app.WebServer D:\sonarqube-25.8.0.112029\temp\sq-process13355518771531867007properties 2025.09.01 17:13:04 INFO app[][o.s.a.SchedulerImpl] Process[Web Server] is stopped 2025.09.01 17:13:04 INFO app[][o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped 2025.09.01 17:13:04 INFO app[][o.s.a.SchedulerImpl] SonarQube is stopped

一份新log选段的格式如下。代码没解析出数据,检查输出文件和图都是完全空白,哪里错了? [2025-07-31 21:26:28.200] n萔兄@刃兄豥@蘊耯@z灶Pggddddd吕J蔲f豥鴍麼OTICE: Booting HSN2155 BL1 Firmware [2025-07-31 21:26:45.758] NOTICE: Built : 15:59:30, Feb 6 2025 [2025-07-31 21:26:45.760] NOTICE: Strap boot mode: 0xde [2025-07-31 21:26:45.762] NOTICE: SPI NAND pagesize: 2048 [2025-07-31 21:26:45.785] VERBOSE: secure_ctrl offset 112. [2025-07-31 21:26:45.788] INFO: Loading BL2 [2025-07-31 21:26:45.791] VERBOSE: Step size x20000 [2025-07-31 21:26:45.792] NOTICE: Booting @ flash address 0x0... [2025-07-31 21:26:45.795] VERBOSE: Header magic looks OK [2025-07-31 21:26:45.848] VERBOSE: Secure flags: 0x0 [2025-07-31 21:26:45.850] NOTICE: Secure boot enable: 0 [2025-07-31 21:26:45.869] VERBOSE: Payload check integrity succeeded [2025-07-31 21:26:45.896] [2025-07-31 21:26:45.896] ###### Hsn2155 Set PLL And Init DDR ###### [2025-07-31 21:26:45.900] Set pcm pll succ! [2025-07-31 21:26:45.902] Set serdes pll succ! [2025-07-31 21:26:45.903] Set cpu pll 1.2G succ! [2025-07-31 21:26:45.905] DDR init succ! [2025-07-31 21:26:45.906] Switch CPU PLL [2025-07-31 21:26:45.908] Switch BUS DIVIDE [2025-07-31 21:26:46.330] zq value check : 0xc0c0c0c [2025-07-31 21:26:46.357] vref: 0x0 [2025-07-31 21:26:46.367] 0x38c: 1f [2025-07-31 21:26:46.379] PHY_160_zq_result : 0x0 [2025-07-31 21:26:46.381] PHY_280_wrlvl_byte0 : 0xff0080 [2025-07-31 21:26:46.384] PHY_380_wrlvl_byte1 : 0xff0080 [2025-07-31 21:26:46.387] PHY_284_gate_byte0 : 0x280 [2025-07-31 21:26:46.389] PHY_384_gate_byte1 : 0x285 [2025-07-31 21:26:46.391] PHY_2a0_read : 0x0 [2025-07-31 21:26:46.393] PHY_2a4_read : 0x0 [2025-07-31 21:26:46.395] PHY_294_read : 0x7f7f7f7f [2025-07-31 21:26:46.397] PHY_298_read : 0x7f7f7f7f [2025-07-31 21:26:46.402] dq0 max_read_point : 0 [2025-07-31 21:26:46.402] dq0 min_read_point : 127 [2025-07-31 21:26:46.404] dq0 read_windows : -127 [2025-07-31 21:26:46.406] dq1 max_read_point : 0 [2025-07-31 21:26:46.408] dq1 min_read_point : 127 [2025-07-31 21:26:46.410] dq1 read_windows : -127 [2025-07-31 21:26:46.413] dq2 max_read_point : 0 [2025-07-31 21:26:46.416] dq2 min_read_point : 127 [2025-07-31 21:26:46.417] dq2 read_windows : -127 [2025-07-31 21:26:46.419] dq3 max_read_point : 0 [2025-07-31 21:26:46.422] dq3 min_read_point : 127 [2025-07-31 21:26:46.424] dq3 read_windows : -127 [2025-07-31 21:26:46.426] dq4 max_read_point : 0 [2025-07-31 21:26:46.427] dq4 min_read_point : 127 [2025-07-31 21:26:46.431] dq4 read_windows : -127 [2025-07-31 21:26:46.432] dq5 max_read_point : 0 [2025-07-31 21:26:46.435] dq5 min_read_point : 127 [2025-07-31 21:26:46.437] dq5 read_windows : -127 [2025-07-31 21:26:46.439] dq6 max_read_point : 0 [2025-07-31 21:26:46.441] dq6 min_read_point : 127 [2025-07-31 21:26:46.443] dq6 read_windows : -127 [2025-07-31 21:26:46.445] dq7 max_read_point : 0 [2025-07-31 21:26:46.447] dq7 min_read_point : 127 [2025-07-31 21:26:46.450] dq7 read_windows : -127 [2025-07-31 21:26:46.451] PHY_3a0_read : 0x0 [2025-07-31 21:26:46.453] PHY_3a4_read : 0x0 [2025-07-31 21:26:46.455] PHY_394_read : 0x7f7f7f7f [2025-07-31 21:26:46.458] PHY_398_read : 0x7f7f7f7f [2025-07-31 21:26:46.459] dq8 max_read_point : 0 [2025-07-31 21:26:46.462] dq8 min_read_point : 127 [2025-07-31 21:26:46.464] dq8 read_windows : -127 [2025-07-31 21:26:46.467] dq9 max_read_point : 0 [2025-07-31 21:26:46.469] dq9 min_read_point : 127 [2025-07-31 21:26:46.471] dq9 read_windows : -127 [2025-07-31 21:26:46.473] dq10 max_read_point : 0 [2025-07-31 21:26:46.475] dq10 min_read_point : 127 [2025-07-31 21:26:46.477] dq10 read_windows : -127 [2025-07-31 21:26:46.480] dq11 max_read_point : 0 [2025-07-31 21:26:46.482] dq11 min_read_point : 127 [2025-07-31 21:26:46.484] dq11 read_windows : -127 [2025-07-31 21:26:46.486] dq12 max_read_point : 0 [2025-07-31 21:26:46.489] dq12 min_read_point : 127 [2025-07-31 21:26:46.491] dq12 read_windows : -127 [2025-07-31 21:26:46.493] dq13 max_read_point : 0 [2025-07-31 21:26:46.495] dq13 min_read_point : 127 [2025-07-31 21:26:46.498] dq13 read_windows : -127 [2025-07-31 21:26:46.500] dq14 max_read_point : 0 [2025-07-31 21:26:46.502] dq14 min_read_point : 127 [2025-07-31 21:26:46.504] dq14 read_windows : -127 [2025-07-31 21:26:46.507] dq15 max_read_point : 0 [2025-07-31 21:26:46.511] dq15 min_read_point : 127 [2025-07-31 21:26:46.512] dq15 read_windows : -127 [2025-07-31 21:26:46.513] PHY_2e0_read : 0x0 [2025-07-31 21:26:46.516] PHY_2e4_read : 0x0 [2025-07-31 21:26:46.517] PHY_2c4_read : 0xffffffff [2025-07-31 21:26:46.520] PHY_2c8_read : 0xffffffff [2025-07-31 21:26:46.522] dq0 max_write_point : 0 [2025-07-31 21:26:46.524] dq0 min_write_point : 255 [2025-07-31 21:26:46.527] dq0 write_windows : -255 [2025-07-31 21:26:46.529] dq1 max_write_point : 0 [2025-07-31 21:26:46.531] dq1 min_write_point : 255 [2025-07-31 21:26:46.533] dq1 write_windows : -255 [2025-07-31 21:26:46.536] dq2 max_write_point : 0 [2025-07-31 21:26:46.538] dq2 min_write_point : 255 [2025-07-31 21:26:46.540] dq2 write_windows : -255 [2025-07-31 21:26:46.542] dq3 max_write_point : 0 [2025-07-31 21:26:46.545] dq3 min_write_point : 255 [2025-07-31 21:26:46.547] dq3 write_windows : -255 [2025-07-31 21:26:46.549] dq4 max_write_point : 0 [2025-07-31 21:26:46.551] dq4 min_write_point : 255 [2025-07-31 21:26:46.554] dq4 write_windows : -255 [2025-07-31 21:26:46.556] dq5 max_write_point : 0 [2025-07-31 21:26:46.558] dq5 min_write_point : 255 [2025-07-31 21:26:46.560] dq5 write_windows : -255 [2025-07-31 21:26:46.563] dq6 max_write_point : 0 [2025-07-31 21:26:46.565] dq6 min_write_point : 255 [2025-07-31 21:26:46.567] dq6 write_windows : -255 [2025-07-31 21:26:46.569] dq7 max_write_point : 0 [2025-07-31 21:26:46.572] dq7 min_write_point : 255 [2025-07-31 21:26:46.574] dq7 write_windows : -255 [2025-07-31 21:26:46.576] PHY_3e0_read : 0x0 [2025-07-31 21:26:46.578] PHY_3e4_read : 0x0 [2025-07-31 21:26:46.580] PHY_3c4_read : 0xffffffff [2025-07-31 21:26:46.583] PHY_3c8_read : 0xffffffff [2025-07-31 21:26:46.585] dq8 max_write_point : 0 [2025-07-31 21:26:46.586] dq8 min_write_point : 255 [2025-07-31 21:26:46.589] dq8 write_windows : -255 [2025-07-31 21:26:46.592] dq9 max_write_point : 0 [2025-07-31 21:26:46.593] dq9 min_write_point : 255 [2025-07-31 21:26:46.596] dq9 write_windows : -255 [2025-07-31 21:26:46.597] dq10 max_write_point : 0 [2025-07-31 21:26:46.600] dq10 min_write_point : 255 [2025-07-31 21:26:46.602] dq10 write_windows : -255 [2025-07-31 21:26:46.606] dq11 max_write_point : 0 [2025-07-31 21:26:46.607] dq11 min_write_point : 255 [2025-07-31 21:26:46.610] dq11 write_windows : -255 [2025-07-31 21:26:46.612] dq12 max_write_point : 0 [2025-07-31 21:26:46.615] dq12 min_write_point : 255 [2025-07-31 21:26:46.617] dq12 write_windows : -255 [2025-07-31 21:26:46.620] dq13 max_write_point : 0 [2025-07-31 21:26:46.621] dq13 min_write_point : 255 [2025-07-31 21:26:46.624] dq13 write_windows : -255 [2025-07-31 21:26:46.626] dq14 max_write_point : 0 [2025-07-31 21:26:46.628] dq14 min_write_point : 255 [2025-07-31 21:26:46.631] dq14 write_windows : -255 [2025-07-31 21:26:46.633] dq15 max_write_point : 0 [2025-07-31 21:26:46.635] dq15 min_write_point : 255 [2025-07-31 21:26:46.638] dq15 write_windows : -255 [2025-07-31 21:26:47.014] zq value check : 0xc0c0c0c [2025-07-31 21:26:47.041] vref: 0x1 [2025-07-31 21:26:47.051] 0x38c: 1f [2025-07-31 21:26:47.064] PHY_160_zq_result : 0x0 [2025-07-31 21:26:47.066] PHY_280_wrlvl_byte0 : 0xff0080 [2025-07-31 21:26:47.069] PHY_380_wrlvl_byte1 : 0xff0080 [2025-07-31 21:26:47.072] PHY_284_gate_byte0 : 0x280 [2025-07-31 21:26:47.074] PHY_384_gate_byte1 : 0x284 [2025-07-31 21:26:47.077] PHY_2a0_read : 0x0 [2025-07-31 21:26:47.078] PHY_2a4_read : 0x0 [2025-07-31 21:26:47.080] PHY_294_read : 0x7f7f7f7f [2025-07-31 21:26:47.082] PHY_298_read : 0x7f7f7f7f [2025-07-31 21:26:47.084] dq0 max_read_point : 0 [2025-07-31 21:26:47.086] dq0 min_read_point : 127 [2025-07-31 21:26:47.089] dq0 read_windows : -127 [2025-07-31 21:26:47.091] dq1 max_read_point : 0 [2025-07-31 21:26:47.093] dq1 min_read_point : 127 [2025-07-31 21:26:47.095] dq1 read_windows : -127 [2025-07-31 21:26:47.097] dq2 max_read_point : 0 [2025-07-31 21:26:47.099] dq2 min_read_point : 127 [2025-07-31 21:26:47.102] dq2 read_windows : -127 [2025-07-31 21:26:47.105] dq3 max_read_point : 0 [2025-07-31 21:26:47.107] dq3 min_read_point : 127 [2025-07-31 21:26:47.109] dq3 read_windows : -127 [2025-07-31 21:26:47.110] dq4 max_read_point : 0 [2025-07-31 21:26:47.113] dq4 min_read_point : 127 [2025-07-31 21:26:47.115] dq4 read_windows : -127 [2025-07-31 21:26:47.117] dq5 max_read_point : 0 [2025-07-31 21:26:47.120] dq5 min_read_point : 127 [2025-07-31 21:26:47.122] dq5 read_windows : -127 [2025-07-31 21:26:47.123] dq6 max_read_point : 0 [2025-07-31 21:26:47.125] dq6 min_read_point : 127 [2025-07-31 21:26:47.129] dq6 read_windows : -127 [2025-07-31 21:26:47.130] dq7 max_read_point : 0 [2025-07-31 21:26:47.132] dq7 min_read_point : 127 [2025-07-31 21:26:47.135] dq7 read_windows : -127 [2025-07-31 21:26:47.136] PHY_3a0_read : 0x0 [2025-07-31 21:26:47.138] PHY_3a4_read : 0x0 [2025-07-31 21:26:47.139] PHY_394_read : 0x7f7f7f7f [2025-07-31 21:26:47.142] PHY_398_read : 0x7f7f7f7f [2025-07-31 21:26:47.144] dq8 max_read_point : 0 [2025-07-31 21:26:47.146] dq8 min_read_point : 127 [2025-07-31 21:26:47.148] dq8 read_windows : -127 [2025-07-31 21:26:47.151] dq9 max_read_point : 0 [2025-07-31 21:26:47.153] dq9 min_read_point : 127 [2025-07-31 21:26:47.155] dq9 read_windows : -127 [2025-07-31 21:26:47.158] dq10 max_read_point : 0 [2025-07-31 21:26:47.159] dq10 min_read_point : 127 [2025-07-31 21:26:47.162] dq10 read_windows : -127 [2025-07-31 21:26:47.165] dq11 max_read_point : 0 [2025-07-31 21:26:47.166] dq11 min_read_point : 127 [2025-07-31 21:26:47.169] dq11 read_windows : -127 [2025-07-31 21:26:47.170] dq12 max_read_point : 0 [2025-07-31 21:26:47.174] dq12 min_read_point : 127 [2025-07-31 21:26:47.175] dq12 read_windows : -127 [2025-07-31 21:26:47.178] dq13 max_read_point : 0 [2025-07-31 21:26:47.180] dq13 min_read_point : 127 [2025-07-31 21:26:47.183] dq13 read_windows : -127 [2025-07-31 21:26:47.184] dq14 max_read_point : 0 [2025-07-31 21:26:47.187] dq14 min_read_point : 127 [2025-07-31 21:26:47.189] dq14 read_windows : -127 [2025-07-31 21:26:47.191] dq15 max_read_point : 0 [2025-07-31 21:26:47.194] dq15 min_read_point : 127 [2025-07-31 21:26:47.195] dq15 read_windows : -127 [2025-07-31 21:26:47.198] PHY_2e0_read : 0x0 [2025-07-31 21:26:47.200] PHY_2e4_read : 0x0 [2025-07-31 21:26:47.202] PHY_2c4_read : 0xffffffff [2025-07-31 21:26:47.204] PHY_2c8_read : 0xffffffff [2025-07-31 21:26:47.206] dq0 max_write_point : 0 [2025-07-31 21:26:47.208] dq0 min_write_point : 255 [2025-07-31 21:26:47.211] dq0 write_windows : -255 [2025-07-31 21:26:47.213] dq1 max_write_point : 0 [2025-07-31 21:26:47.215] dq1 min_write_point : 255 [2025-07-31 21:26:47.217] dq1 write_windows : -255 [2025-07-31 21:26:47.220] dq2 max_write_point : 0 [2025-07-31 21:26:47.222] dq2 min_write_point : 255 [2025-07-31 21:26:47.224] dq2 write_windows : -255 [2025-07-31 21:26:47.226] dq3 max_write_point : 0 [2025-07-31 21:26:47.229] dq3 min_write_point : 255 [2025-07-31 21:26:47.231] dq3 write_windows : -255 [2025-07-31 21:26:47.233] dq4 max_write_point : 0 [2025-07-31 21:26:47.235] dq4 min_write_point : 255 [2025-07-31 21:26:47.238] dq4 write_windows : -255 [2025-07-31 21:26:47.240] dq5 max_write_point : 0 [2025-07-31 21:26:47.243] dq5 min_write_point : 255 [2025-07-31 21:26:47.244] dq5 write_windows : -255 [2025-07-31 21:26:47.247] dq6 max_write_point : 0 [2025-07-31 21:26:47.249] dq6 min_write_point : 255 [2025-07-31 21:26:47.251] dq6 write_windows : -255 [2025-07-31 21:26:47.253] dq7 max_write_point : 0 [2025-07-31 21:26:47.256] dq7 min_write_point : 255 [2025-07-31 21:26:47.258] dq7 write_windows : -255 [2025-07-31 21:26:47.260] PHY_3e0_read : 0x0 [2025-07-31 21:26:47.262] PHY_3e4_read : 0x0 [2025-07-31 21:26:47.264] PHY_3c4_read : 0xffffffff [2025-07-31 21:26:47.267] PHY_3c8_read : 0xffffffff [2025-07-31 21:26:47.268] dq8 max_write_point : 0 [2025-07-31 21:26:47.271] dq8 min_write_point : 255 [2025-07-31 21:26:47.273] dq8 write_windows : -255 [2025-07-31 21:26:47.276] dq9 max_write_point : 0 [2025-07-31 21:26:47.278] dq9 min_write_point : 255 [2025-07-31 21:26:47.280] dq9 write_windows : -255 [2025-07-31 21:26:47.282] dq10 max_write_point : 0 [2025-07-31 21:26:47.285] dq10 min_write_point : 255 [2025-07-31 21:26:47.286] dq10 write_windows : -255 [2025-07-31 21:26:47.290] dq11 max_write_point : 0 [2025-07-31 21:26:47.291] dq11 min_write_point : 255 [2025-07-31 21:26:47.294] dq11 write_windows : -255 [2025-07-31 21:26:47.296] dq12 max_write_point : 0 [2025-07-31 21:26:47.299] dq12 min_write_point : 255 [2025-07-31 21:26:47.300] dq12 write_windows : -255 [2025-07-31 21:26:47.303] dq13 max_write_point : 0 [2025-07-31 21:26:47.306] dq13 min_write_point : 255 [2025-07-31 21:26:47.308] dq13 write_windows : -255 [2025-07-31 21:26:47.310] dq14 max_write_point : 0 [2025-07-31 21:26:47.313] dq14 min_write_point : 255 [2025-07-31 21:26:47.316] dq14 write_windows : -255 [2025-07-31 21:26:47.317] dq15 max_write_point : 0 [2025-07-31 21:26:47.319] dq15 min_write_point : 255 [2025-07-31 21:26:47.322] dq15 write_windows : -255 [2025-07-31 21:26:47.699] zq value check : 0xc0c0c0c

检查bug,在这份LOG中,前面的这些组数据,全没识别,从0X10才开始识别。 行 23: [2025-07-31 22:07:24.355] vref: 0x0 行 143: [2025-07-31 22:07:25.040] vref: 0x1 行 263: [2025-07-31 22:07:25.725] vref: 0x2 行 383: [2025-07-31 22:07:26.409] vref: 0x3 行 503: [2025-07-31 22:07:27.094] vref: 0x4 行 623: [2025-07-31 22:07:27.779] vref: 0x5 行 743: [2025-07-31 22:07:28.463] vref: 0x6 行 863: [2025-07-31 22:07:29.148] vref: 0x7 行 983: [2025-07-31 22:07:29.832] vref: 0x8 行 1103: [2025-07-31 22:07:30.517] vref: 0x9 行 1223: [2025-07-31 22:07:31.201] vref: 0xa 行 1343: [2025-07-31 22:07:31.886] vref: 0xb 行 1463: [2025-07-31 22:07:32.571] vref: 0xc 行 1583: [2025-07-31 22:07:33.255] vref: 0xd 行 1703: [2025-07-31 22:07:33.939] vref: 0xe 行 1823: [2025-07-31 22:07:34.624] vref: 0xf LOG形式如下: [2025-07-31 22:07:23.752] NOTICE: Booting HSN2155 BL1 Firmware [2025-07-31 22:07:23.755] NOTICE: Built : 15:59:30, Feb 6 2025 [2025-07-31 22:07:23.757] NOTICE: Strap boot mode: 0xde [2025-07-31 22:07:23.760] NOTICE: SPI NAND pagesize: 2048 [2025-07-31 22:07:23.784] VERBOSE: secure_ctrl offset 112. [2025-07-31 22:07:23.787] INFO: Loading BL2 [2025-07-31 22:07:23.789] VERBOSE: Step size x20000 [2025-07-31 22:07:23.791] NOTICE: Booting @ flash address 0x0... [2025-07-31 22:07:23.795] VERBOSE: Header magic looks OK [2025-07-31 22:07:23.847] VERBOSE: Secure flags: 0x0 [2025-07-31 22:07:23.849] NOTICE: Secure boot enable: 0 [2025-07-31 22:07:23.867] VERBOSE: Payload check integrity succeeded [2025-07-31 22:07:23.895] [2025-07-31 22:07:23.895] ###### Hsn2155 Set PLL And Init DDR ###### [2025-07-31 22:07:23.898] Set pcm pll succ! [2025-07-31 22:07:23.900] Set serdes pll succ! [2025-07-31 22:07:23.902] Set cpu pll 1.2G succ! [2025-07-31 22:07:23.904] DDR init succ! [2025-07-31 22:07:23.905] Switch CPU PLL [2025-07-31 22:07:23.906] Switch BUS DIVIDE [2025-07-31 22:07:24.329] zq value check : 0xc0c0c0c [2025-07-31 22:07:24.355] vref: 0x0 [2025-07-31 22:07:24.366] 0x38c: 1f [2025-07-31 22:07:24.378] PHY_160_zq_result : 0x0 [2025-07-31 22:07:24.380] PHY_280_wrlvl_byte0 : 0xff0080 [2025-07-31 22:07:24.383] PHY_380_wrlvl_byte1 : 0xff0080 [2025-07-31 22:07:24.386] PHY_284_gate_byte0 : 0x283 [2025-07-31 22:07:24.388] PHY_384_gate_byte1 : 0x289 [2025-07-31 22:07:24.391] PHY_2a0_read : 0x0 [2025-07-31 22:07:24.393] PHY_2a4_read : 0x0 [2025-07-31 22:07:24.395] PHY_294_read : 0x7f7f7f7f [2025-07-31 22:07:24.396] PHY_298_read : 0x7f7f7f7f [2025-07-31 22:07:24.398] dq0 max_read_point : 0 [2025-07-31 22:07:24.401] dq0 min_read_point : 127 [2025-07-31 22:07:24.403] dq0 read_windows : -127 [2025-07-31 22:07:24.405] dq1 max_read_point : 0 [2025-07-31 22:07:24.408] dq1 min_read_point : 127 [2025-07-31 22:07:24.409] dq1 read_windows : -127 [2025-07-31 22:07:24.412] dq2 max_read_point : 0 [2025-07-31 22:07:24.414] dq2 min_read_point : 127 [2025-07-31 22:07:24.415] dq2 read_windows : -127 [2025-07-31 22:07:24.419] dq3 max_read_point : 0 [2025-07-31 22:07:24.421] dq3 min_read_point : 127 [2025-07-31 22:07:24.422] dq3 read_windows : -127 [2025-07-31 22:07:24.425] dq4 max_read_point : 0 [2025-07-31 22:07:24.427] dq4 min_read_point : 127 [2025-07-31 22:07:24.429] dq4 read_windows : -127 [2025-07-31 22:07:24.431] dq5 max_read_point : 0 [2025-07-31 22:07:24.433] dq5 min_read_point : 127 [2025-07-31 22:07:24.436] dq5 read_windows : -127 [2025-07-31 22:07:24.438] dq6 max_read_point : 0 [2025-07-31 22:07:24.440] dq6 min_read_point : 127 [2025-07-31 22:07:24.442] dq6 read_windows : -127 [2025-07-31 22:07:24.444] dq7 max_read_point : 0 [2025-07-31 22:07:24.446] dq7 min_read_point : 127 [2025-07-31 22:07:24.449] dq7 read_windows : -127 [2025-07-31 22:07:24.450] PHY_3a0_read : 0x0 [2025-07-31 22:07:24.453] PHY_3a4_read : 0x0 [2025-07-31 22:07:24.454] PHY_394_read : 0x7f7f7f7f [2025-07-31 22:07:24.457] PHY_398_read : 0x7f7f7f7f [2025-07-31 22:07:24.459] dq8 max_read_point : 0 [2025-07-31 22:07:24.461] dq8 min_read_point : 127 [2025-07-31 22:07:24.463] dq8 read_windows : -127 [2025-07-31 22:07:24.466] dq9 max_read_point : 0 [2025-07-31 22:07:24.468] dq9 min_read_point : 127 [2025-07-31 22:07:24.470] dq9 read_windows : -127 [2025-07-31 22:07:24.473] dq10 max_read_point : 0 [2025-07-31 22:07:24.474] dq10 min_read_point : 127 [2025-07-31 22:07:24.476] dq10 read_windows : -127 [2025-07-31 22:07:24.479] dq11 max_read_point : 0 [2025-07-31 22:07:24.481] dq11 min_read_point : 127 [2025-07-31 22:07:24.483] dq11 read_windows : -127 [2025-07-31 22:07:24.485] dq12 max_read_point : 0 [2025-07-31 22:07:24.488] dq12 min_read_point : 127 [2025-07-31 22:07:24.490] dq12 read_windows : -127 [2025-07-31 22:07:24.492] dq13 max_read_point : 0 [2025-07-31 22:07:24.494] dq13 min_read_point : 127 [2025-07-31 22:07:24.497] dq13 read_windows : -127 [2025-07-31 22:07:24.499] dq14 max_read_point : 0 [2025-07-31 22:07:24.501] dq14 min_read_point : 127 [2025-07-31 22:07:24.504] dq14 read_windows : -127 [2025-07-31 22:07:24.506] dq15 max_read_point : 0 [2025-07-31 22:07:24.508] dq15 min_read_point : 127 [2025-07-31 22:07:24.510] dq15 read_windows : -127 [2025-07-31 22:07:24.512] PHY_2e0_read : 0x0 [2025-07-31 22:07:24.515] PHY_2e4_read : 0x0 [2025-07-31 22:07:24.516] PHY_2c4_read : 0xffffffff [2025-07-31 22:07:24.519] PHY_2c8_read : 0xffffffff [2025-07-31 22:07:24.521] dq0 max_write_point : 0 [2025-07-31 22:07:24.523] dq0 min_write_point : 255 [2025-07-31 22:07:24.526] dq0 write_windows : -255 [2025-07-31 22:07:24.527] dq1 max_write_point : 0 [2025-07-31 22:07:24.529] dq1 min_write_point : 255 [2025-07-31 22:07:24.532] dq1 write_windows : -255 [2025-07-31 22:07:24.536] dq2 max_write_point : 0 [2025-07-31 22:07:24.537] dq2 min_write_point : 255 [2025-07-31 22:07:24.539] dq2 write_windows : -255 [2025-07-31 22:07:24.541] dq3 max_write_point : 0 [2025-07-31 22:07:24.543] dq3 min_write_point : 255 [2025-07-31 22:07:24.545] dq3 write_windows : -255 [2025-07-31 22:07:24.548] dq4 max_write_point : 0 [2025-07-31 22:07:24.550] dq4 min_write_point : 255 [2025-07-31 22:07:24.553] dq4 write_windows : -255 [2025-07-31 22:07:24.555] dq5 max_write_point : 0 [2025-07-31 22:07:24.557] dq5 min_write_point : 255 [2025-07-31 22:07:24.559] dq5 write_windows : -255 [2025-07-31 22:07:24.562] dq6 max_write_point : 0 [2025-07-31 22:07:24.564] dq6 min_write_point : 255 [2025-07-31 22:07:24.566] dq6 write_windows : -255 [2025-07-31 22:07:24.568] dq7 max_write_point : 0 [2025-07-31 22:07:24.571] dq7 min_write_point : 255 [2025-07-31 22:07:24.573] dq7 write_windows : -255 [2025-07-31 22:07:24.575] PHY_3e0_read : 0x0 [2025-07-31 22:07:24.577] PHY_3e4_read : 0x0 [2025-07-31 22:07:24.578] PHY_3c4_read : 0xffffffff [2025-07-31 22:07:24.582] PHY_3c8_read : 0xffffffff [2025-07-31 22:07:24.583] dq8 max_write_point : 0 [2025-07-31 22:07:24.586] dq8 min_write_point : 255 [2025-07-31 22:07:24.587] dq8 write_windows : -255 [2025-07-31 22:07:24.590] dq9 max_write_point : 0 [2025-07-31 22:07:24.592] dq9 min_write_point : 255 [2025-07-31 22:07:24.594] dq9 write_windows : -255 [2025-07-31 22:07:24.596] dq10 max_write_point : 0 [2025-07-31 22:07:24.599] dq10 min_write_point : 255 [2025-07-31 22:07:24.601] dq10 write_windows : -255 [2025-07-31 22:07:24.604] dq11 max_write_point : 0 [2025-07-31 22:07:24.606] dq11 min_write_point : 255 [2025-07-31 22:07:24.608] dq11 write_windows : -255 [2025-07-31 22:07:24.611] dq12 max_write_point : 0 [2025-07-31 22:07:24.613] dq12 min_write_point : 255 [2025-07-31 22:07:24.615] dq12 write_windows : -255 [2025-07-31 22:07:24.617] dq13 max_write_point : 0 [2025-07-31 22:07:24.619] dq13 min_write_point : 255 [2025-07-31 22:07:24.622] dq13 write_windows : -255 [2025-07-31 22:07:24.624] dq14 max_write_point : 0 [2025-07-31 22:07:24.628] dq14 min_write_point : 255 [2025-07-31 22:07:24.629] dq14 write_windows : -255 [2025-07-31 22:07:24.632] dq15 max_write_point : 0 [2025-07-31 22:07:24.635] dq15 min_write_point : 255 [2025-07-31 22:07:24.637] dq15 write_windows : -255 [2025-07-31 22:07:25.013] zq value check : 0xc0c0c0c

V27960021@dg03podv27960021kj4p:~/存储/moscow$ python storage.py dual 测试机 对比机 output_diff.xlsx 运行双机对比模式... 设备1: 测试机, 设备2: 对比机 开始解析: 测试机/18_lpdump.txt 文件内容预览: Slot 0: Metadata version: 10.2 Metadata size: 2640 bytes Metadata max size: 65536 bytes Metadata slot count: 3 Header flags: virtual_ab_device Partition table: ------------------------ Name: system_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 1527575 linear super 2048 ------------------------ Name: system_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: system_ext_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 2482807 linear super 1529856 ------------------------ Name: system_ext_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: vendor_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 715543 linear super 4014080 ------------------------ Name: vendor_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ----------------------... 错误: 未找到分区信息,请检查文件格式 开始解析: 对比机/18_lpdump.txt 文件内容预览: Slot 0: Metadata version: 10.2 Metadata size: 2640 bytes Metadata max size: 65536 bytes Metadata slot count: 3 Header flags: virtual_ab_device Partition table: ------------------------ Name: system_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 1540119 linear super 2048 ------------------------ Name: system_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: system_ext_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 2511655 linear super 1544192 ------------------------ Name: system_ext_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: vendor_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 714599 linear super 4057088 ------------------------ Name: vendor_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ----------------------... 错误: 未找到分区信息,请检查文件格式 扫描目录: 测试机 扫描目录: 对比机 创建总览Sheet页 无法获取 system 分区大小 无法获取 vendor 分区大小 无法获取 product 分区大小 无法获取 odm 分区大小 无法获取 my_product 分区大小 无法获取 my_engineering 分区大小 无法获取 my_stock 分区大小 无法获取 my_heytap 分区大小 无法获取 my_company 分区大小 无法获取 my_carrier 分区大小 无法获取 my_region 分区大小 无法获取 my_preload 分区大小 无法获取 data 分区大小 无法获取 my_bigball 分区大小 无法获取 my_manifest 分区大小 无法获取 cache 分区大小 对比报告已成功生成: output_diff.xlsx 对比报告已成功生成: output_diff.xlsx V27960021@dg03podv27960021kj4p:~/存储/moscow$ python storage.py dual 测试机 对比机 output_diff.xlsx 以下是18_lpdump.txt的内容Slot 0: Metadata version: 10.2 Metadata size: 2640 bytes Metadata max size: 65536 bytes Metadata slot count: 3 Header flags: virtual_ab_device Partition table: ------------------------ Name: system_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 1527575 linear super 2048 ------------------------ Name: system_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: system_ext_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 2482807 linear super 1529856 ------------------------ Name: system_ext_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: vendor_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 715543 linear super 4014080 ------------------------ Name: vendor_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: product_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 16159 linear super 4730880 ------------------------ Name: product_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: my_product_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 4165551 linear super 4747264 ------------------------ Name: my_product_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: odm_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 2075367 linear super 8912896 ------------------------ Name: odm_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: my_engineering_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 655 linear super 10989568 ------------------------ Name: my_engineering_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: vendor_dlkm_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 164735 linear super 10991616 ------------------------ Name: vendor_dlkm_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: system_dlkm_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 839 linear super 11157504 ------------------------ Name: system_dlkm_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: my_stock_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 4617279 linear super 11159552 ------------------------ Name: my_stock_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: my_heytap_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 655 linear super 15777792 ------------------------ Name: my_heytap_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: my_carrier_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 655 linear super 15779840 ------------------------ Name: my_carrier_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: my_region_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 168575 linear super 15781888 ------------------------ Name: my_region_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: my_company_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 655 linear super 15951872 ------------------------ Name: my_company_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: my_preload_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 3191663 linear super 15953920 ------------------------ Name: my_preload_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: my_bigball_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 655 linear super 19146752 ------------------------ Name: my_bigball_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Name: my_manifest_a Group: qti_dynamic_partitions_a Attributes: readonly Extents: 0 .. 911 linear super 19148800 ------------------------ Name: my_manifest_b Group: qti_dynamic_partitions_b Attributes: readonly Extents: ------------------------ Super partition layout: ------------------------ super: 2048 .. 1529624: system_a (1527576 sectors) super: 1529856 .. 4012664: system_ext_a (2482808 sectors) super: 4014080 .. 4729624: vendor_a (715544 sectors) super: 4730880 .. 4747040: product_a (16160 sectors) super: 4747264 .. 8912816: my_product_a (4165552 sectors) super: 8912896 .. 10988264: odm_a (2075368 sectors) super: 10989568 .. 10990224: my_engineering_a (656 sectors) super: 10991616 .. 11156352: vendor_dlkm_a (164736 sectors) super: 11157504 .. 11158344: system_dlkm_a (840 sectors) super: 11159552 .. 15776832: my_stock_a (4617280 sectors) super: 15777792 .. 15778448: my_heytap_a (656 sectors) super: 15779840 .. 15780496: my_carrier_a (656 sectors) super: 15781888 .. 15950464: my_region_a (168576 sectors) super: 15951872 .. 15952528: my_company_a (656 sectors) super: 15953920 .. 19145584: my_preload_a (3191664 sectors) super: 19146752 .. 19147408: my_bigball_a (656 sectors) super: 19148800 .. 19149712: my_manifest_a (912 sectors) ------------------------ Block device table: ------------------------ Partition name: super First sector: 2048 Size: 12348030976 bytes Flags: none ------------------------ Group table: ------------------------ Name: default Maximum size: 0 bytes Flags: none ------------------------ Name: qti_dynamic_partitions_a Maximum size: 12343836672 bytes Flags: none ------------------------ Name: qti_dynamic_partitions_b Maximum size: 12343836672 bytes Flags: none ------------------------ --------------- Snapshot state: --------------- Update state: none Using snapuserd: 0 Using userspace snapshots: 0 Using io_uring: 0 Using o_direct: 0 Using XOR compression: 1 Current slot: _a Boot indicator: booting from unknown slot Rollback indicator: No such file or directory Forward merge indicator: No such file or directory Source build fingerprint:

大家在看

recommend-type

lingo语法例子。。PPT

这个PPT是清华大学制作的 我觉得很好很全面 欢迎大家下载
recommend-type

宏碁Acer 4741G驱动合集 for winxp 官方版_宏碁个人笔记本XP驱动

宏碁Acer4741G驱动合集包含了显卡、网卡、声卡等驱动,都是xp版本,因为笔记本自带win7系统,有想要装xp系统的就需要这个驱动包。哈哈,买回来的Acer4741G,宏基的本本,性价比高,I5的CPU才4K多点,系统是win7家庭版,感觉还是XP好用,就要换回来了,想把驱动找全,欢迎下载体验
recommend-type

cpp-sdk-samples:适用于Windows和Linux的Affdex SDK的示例应用

cpp-sdk-samples:适用于Windows和Linux的Affdex SDK的示例应用
recommend-type

ray-optics:光学系统的几何光线追踪

射线光学 安装 要使用pip安装rayoptics ,请使用 > pip install rayoptics 或者,可以使用conda从conda - forge渠道安装rayoptics > conda install rayoptics --channel conda-forge 文献资料 射线光学位于“ 成像光学设计和分析工具 RayOptics是一个Python几何光学和成像光学库。 它为分析成像和相干光学系统提供了几何射线追踪基础。 在此基础上提供了许多标准的几何分析选项,例如横向射线和波前像差分析。 y-ybar图和镜头布局视图中近轴光线的图形编辑也支持光学系统的近轴布局。 支持导入Zemax .zmx和CODEV .seq文件。 RayOptics可用于Python脚本,Python和IPython外壳,Jupyter笔记本以及基于Qt的图形用户界面应用程序中。 笔记 该项
recommend-type

java读取kml文件数据

自己做的用java读取kml文件数据,并保存为json文件。方便其它地方解析。

最新推荐

recommend-type

tika-parser-font-module-3.1.0.jar中文-英文对照文档.zip

1、压缩文件中包含: 中文-英文对照文档、jar包下载地址、Maven依赖、Gradle依赖、源代码下载地址。 2、使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 3、特殊说明: (1)本文档为人性化翻译,精心制作,请放心使用; (2)只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; (3)不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 4、温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件。 5、本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册。
recommend-type

perl-SelfLoader-1.23-420.el8.tar.gz

# 适用操作系统:Centos8 #Step1、解压 tar -zxvf xxx.el8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm
recommend-type

HTML时间格式化工具及测试页面介绍

标题 "BoolStudio.github.io" 暗示这是一个与GitHub相关的在线资源,具体来说是与BoolStudio相关的网页地址。GitHub是一个著名的代码托管平台,它支持Git版本控制系统,允许用户在云端存储和共享代码。BoolStudio可能是GitHub上的一个用户或组织账户名称,而该页面可能是他们托管的项目或个人页面的入口。 描述中的信息包含了HTML元素和JavaScript代码片段。这段描述展示了一个测试页文件的部分代码,涉及到HTML的标题(title)和内嵌框架(iframe)的使用,以及JavaScript中Date对象的扩展功能。 从描述中我们可以分析出以下知识点: 1. HTML标题(Title): 在HTML中,`<title>`标签用于定义网页的标题,它会显示在浏览器的标题栏或页面的标签上。在描述中出现了`<title>现在时间</title>`,这表明网页的标题被设置为了“现在时间”。 2. 微软时间: 这可能指的是在网页中嵌入微软产品的日期和时间显示。尽管这部分内容在描述中被删除了,但微软时间通常与Windows操作系统的日期和时间显示相关联。 3. iframe元素: `<iframe>`标签定义了一个内嵌框架,可以在网页中嵌入另一个文档。在描述中出现的是`<iframe src"></iframe>`,这表示创建了一个空的iframe元素,其src属性为空,实际上没有嵌入任何内容。通常src属性会被设置为另一个HTML文档的URL,用来在当前页面中显示外部页面的内容。 4. JavaScript日期格式化: 描述中包含了一段JavaScript代码,这段代码扩展了Date对象的功能,允许它根据提供的格式字符串(fmt)返回格式化的日期和时间。例如,如果fmt是'y年M月d日 h时m分s秒',则该函数会按照这个格式返回当前日期和时间。 具体到代码实现,以下步骤展示了如何在JavaScript中扩展Date对象并格式化日期: - 首先创建了一个对象o,该对象包含日期和时间的不同部分,例如年(y)、月(M)、日(d)、时(h)、分(m)、秒(s)。 - 使用正则表达式检查格式字符串fmt中是否包含年份的占位符(y+),如果存在则将其替换为四位数的年份,不足部分用0补齐。 - 使用for...in循环遍历对象o中的每一个键值对,并使用正则表达式测试这些键(如年、月、日等)是否在格式字符串中存在。如果存在,则替换为相应的日期时间值。 这个知识点展示了在JavaScript中如何自定义对象的方法,以及如何使用正则表达式进行字符串的搜索和替换。 标签 "HTML" 表明这个文件主要涉及到超文本标记语言(HTML),这是构建网页内容的标准标记语言,它允许开发者使用标签来定义网页的结构和内容。HTML文件通常包含各种元素,如段落、链接、图片、表格和表单等。 压缩包子文件的文件名称列表中的 "BoolStudio.github.io-main" 可能指的是一个包含 "BoolStudio.github.io" 网站主要文件的压缩包。通常,网站项目会包含多个文件和资源,为了便于管理和分发,开发者会将这些文件打包成一个压缩文件。在本例中,"main" 可能表示该压缩包包含了网站的主要文件和代码。 通过对给定文件信息的分析,我们可以了解到网页设计和开发的相关知识点,特别是HTML文档结构、JavaScript对象和函数扩展以及如何在网站项目中组织文件。这些知识对于前端开发者来说是非常重要的,能够帮助他们创建更加动态和功能丰富的网页应用。
recommend-type

Elixir测试:从用例执行到覆盖率分析

### Elixir 测试:从用例执行到覆盖率分析 #### 1. 测试用例执行 在测试中,以 `Test` 结尾且包含 `use ExUnit` 的模块被视为测试用例。测试用例本质上是设置回调和测试的集合。测试用例的执行方式有两种:并发执行或顺序执行。使用 `async: true` 选项的测试用例将并发执行,其余的则按定义顺序(默认随机)顺序执行。 测试用例的执行流程如下: 1. 执行所有 `setup_all` 回调。 2. 执行所有测试及其特定的设置和拆卸回调。 `setup_all` 回调按定义顺序在同一进程中执行。在运行任何测试之前,测试用例将生成一个进程,在该进程中运行所有
recommend-type

Android Studio 时间延时

<think> 我们参考多个引用,总结在Android Studio中实现时间延时的方法。根据引用[1]和[2],我们知道有几种常见的延时方法,包括使用Handler的postDelayed方法、使用Timer和TimerTask以及使用Thread.sleep。引用[3]和[5]则展示了具体代码示例。 具体方法如下: 1. **使用Handler的postDelayed方法**(推荐在主线程中使用,避免直接操作UI线程的问题): ```java new Handler().postDelayed(new Runnable() { @Override
recommend-type

IMS Open Corpus Workbench:打造高效大型文本语料库管理工具

IMS Open Corpus Workbench(以下简称CWB)是一个强大的开源工具集,它专门用于管理和查询大型的、带有语言注释的文本语料库。这项工具有着广泛的应用领域,包括语言学研究、自然语言处理、人文科学研究等。 ### 标题知识点: #### 大型文本语料库的索引和查询工具 大型文本语料库指的是含有大量文本数据的数据库,其中包含的文本量通常以百万计。这些数据可能是书面文本、口语录音文字转写等形式。对于如此庞大的数据集,索引是必要的,它可以帮助研究者快速定位到感兴趣的片段,而查询工具则提供了从这些大量数据中提取特定信息的能力。 #### 开源 CWB作为一个开源工具,意味着其源代码对所有人开放,并且可以免费使用和修改。开源项目通常是由社区驱动,有着活跃的开发者和用户群体,不断对工具进行改进和拓展。这种模式促进了创新,并且有利于长期维护和升级。 ### 描述知识点: #### 管理和查询带有语言注释的文本 在语料库中,文本数据经常会被加上各种形式的语言注释,比如句法结构、词性标注、语义角色等。CWB支持管理这类富含语言信息的语料库,使其不仅仅保存原始文本信息,还整合了深层的语言知识。此外,CWB提供了多种查询语言注释数据的方式,使得用户可以针对特定的注释信息进行精确查询。 #### 核心组件:CQP(Corpus Query Processor) CQP是CWB中的核心组件,是一个高度灵活和高效的查询处理器。它支持在终端会话中交互式地使用,这为熟悉命令行界面的用户提供了一个强大的工具。同时,CQP也可以嵌入到其他程序中,比如Perl脚本,从而提供编程式的语料库访问方式。这为高级用户提供了一个强大的平台,可以编写复杂的查询,并将查询结果集成到其他程序中。 #### 基于Web的GUI CQPweb 除了命令行界面外,CWB还提供了一个基于Web的图形用户界面CQPweb,使得不熟悉命令行的用户也能够方便地使用CWB的强大功能。CQPweb通常允许用户通过网页直接构建查询,并展示查询结果,极大地降低了使用门槛。 ### 标签知识点: #### 开源软件 CWB作为开源软件,其主要特点和优势包括: - **社区支持**:开放源代码鼓励了全球开发者共同参与,提供错误修正、功能增强、新特性开发等。 - **定制化**:用户可以根据自己的需求对源代码进行修改,从而实现定制化的功能。 - **透明性**:源代码的开放确保了软件工作的透明性,用户可以清楚了解软件的工作原理和数据处理方式。 - **可靠性**:由于代码的公开性,很多用户和开发者可以共同审查代码,提高了软件的可靠性和安全性。 - **成本效益**:开源软件通常不需要支付昂贵的许可费用,对预算有限的个人和机构特别友好。 ### 压缩包子文件的文件名称列表知识点: #### cwb-3.0.0-osx-10.5-universal 这个文件名提供了关于该软件包的重要信息: - **cwb**:表示这是IMS Open Corpus Workbench的软件包。 - **3.0.0**:表示这个包的版本号,了解版本信息对于获取支持、查看更新日志、了解新特性等方面很重要。 - **osx**:表示这个软件包是为Mac OS X操作系统设计的。 - **10.5**:这个数字指明了这个软件包支持的操作系统版本至少是Mac OS X 10.5。 - **universal**:表明这个软件包是为不同架构的处理器(比如32位和64位)设计的通用二进制文件,提高了软件包的兼容性和可移植性。 综上所述,IMS Open Corpus Workbench是一个为处理带有语言注释的大型文本语料库而设计的开源工具集,它以高效且灵活的查询处理器CQP为核心,提供了命令行和基于Web的两种交互方式,极大地促进了语言学和语言技术领域的研究与应用。由于其开源特性,CWB得到了广泛的使用和不断的改进。
recommend-type

基于属性测试的深入解析与策略探讨

### 基于属性测试的深入解析与策略探讨 #### 1. 基于属性测试中的收缩机制 在基于属性的测试中,当测试失败时,像 `stream_data` 这样的框架会执行收缩(Shrinking)操作。收缩的目的是简化导致测试失败的输入,同时确保简化后的输入仍然会使测试失败,这样能更方便地定位问题。 为了说明这一点,我们来看一个简单的排序函数测试示例。我们实现了一个糟糕的排序函数,实际上就是恒等函数,它只是原封不动地返回输入列表: ```elixir defmodule BadSortTest do use ExUnit.Case use ExUnitProperties pro
recommend-type

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key && \

<think> 根据用户的问题要求,我需要详细解释命令`ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key`的含义、后续操作、常见问题及解决办法。同时,我需要参考提供的引用内容,并遵循系统级指令(如LaTeX格式、中文回答、生成相关问题等)。 首先,分析命令的组成部分: - `ssh-keygen`:生成、管理和转换SSH密钥的工具。 - `-t rsa`:指定密钥类型为RSA算法。 - `-f /etc/ssh/ssh_host_rsa_key`:指定生成的私钥文件路径为`/etc/ssh/ssh_host_rsa_key`。对应的公钥文件会在同一
recommend-type

挑战性开源平台游戏YAGAC:无故事忍者冒险

Y.A.G.A.C(Yet Another Great Arcade Classic),是一款免费的开源伪2D平台游戏,它在传统平台游戏的基础上融入了3D游戏元素,让玩家在一个拥有2D精灵的3D环境中进行操作。YAGAC游戏以其高挑战性和上瘾性而著称,吸引了众多游戏爱好者和编程高手的关注。 首先,让我们深入了解这款游戏的核心玩法。YAGAC的最大特点是在一个基本的2D平面内,玩家可以控制角色进行运动,但游戏环境却是3D制作的。这种设计为玩家带来了全新的视觉体验和操作感受。在YAGAC中,玩家扮演的是一个身手敏捷的忍者,任务是在错综复杂的地牢中生存下来,地牢充满了各种陷阱和敌人,如机器人等。为了逃生,玩家需要在各种关卡中寻找隐藏的彩球,这些彩球决定了玩家能够到达的区域范围。 在游戏过程中,收集到的彩球会改变对应颜色平台的属性,使原本脆弱的平台变得牢固,从而为玩家打开新的道路。这样的设计不仅考验玩家的反应和速度,还考验他们的策略和记忆能力。YAGAC的游戏关卡设计非常巧妙,经常需要玩家反复尝试,每一次尝试都可能发现新的线索和策略,这样的设计增加了游戏的重复可玩性。 YAGAC使用的引擎在游戏流畅性方面表现出色,这也是游戏的一大强项。一款游戏引擎的强大与否直接关系到游戏体验的好坏,YAGAC的开发团队选择或者开发了一个能够高效处理3D图形和2D动作的引擎,确保了游戏在各种配置的计算机上都能保持良好的运行状态和响应速度。 接下来,我们来探讨YAGAC的开源属性。由于YAGAC是开源的,这意味着游戏的源代码是开放的,任何个人或组织都可以访问、修改并重新分发该软件。开源软件通常由社区维护,并且鼓励用户贡献代码,共同改进游戏。对于像YAGAC这样的游戏来说,开源可以吸引更多的开发者参与进来,共同完善游戏体验。玩家和开发者可以对游戏进行本地化、修改游戏机制,甚至是增加新的内容和关卡。 开源平台游戏的概念不仅限于提供免费的游戏体验,它还鼓励创新和协作。开源文化促进知识共享和技术进步,这在软件开发领域尤为重要。同时,玩家也可以从中学到编程知识,因为游戏的开源性质允许用户查看和学习游戏背后的代码。 最后,关于YAGAC的文件名称“yagac”,这很可能是游戏的主程序文件名或者主目录名。当玩家在计算机上进行下载和安装时,可能会遇到这样的文件名,识别这一点有助于玩家快速定位和管理游戏文件。 总的来说,Y.A.G.A.C.作为一款开源平台游戏,在游戏玩法设计、开源文化和3D游戏引擎的流畅性等方面,都显示出其独特的优势。游戏的挑战性和上瘾性,以及社区驱动的开发模式,都为游戏爱好者和开源爱好者提供了一个理想的游戏和学习平台。对于对游戏开发感兴趣的玩家来说,YAGAC无疑是一个研究和实践的良好起点。
recommend-type

状态化属性测试与测试数据随机化及测试生命周期解析

# 状态化属性测试与测试数据随机化及测试生命周期解析 ## 状态化属性测试 ### 状态化系统测试的引入 之前我们主要探讨了针对纯无状态函数的属性测试,这类函数接收输入并返回输出。然而,属性测试同样适用于有状态系统的测试。有状态系统是指那些会携带状态的系统,例如数据库。 在之前的示例中,我们仅使用属性测试来生成数据,然后将其输入到代码中并对结果进行断言。但对于有状态系统,情况有所不同:我们需要处理状态的设置,并仅在系统处于特定状态时执行某些操作。 ### 对有状态系统进行建模 我们可以利用属性测试框架生成随机数据的能力,为有状态系统生成随机命令。例如,若有状态系统是数据库,我们就能生成针