You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xilinx ZU5自定义PCB上A53内核启动失败:是否为硬件问题?

ZU5自定义PCB启动Linux内核故障排查分析

现象对比

  • ZU9EG ZCU102开发板:使用相同设备树可正常启动Linux 5.15.19,能检测到PSCI v1.1
  • ZU5自定义PCB:启动报错后触发内核panic,关键日志:

    OF: fdt: Invalid device tree blob header
    Failed to find device node for boot cpu
    Unable to initialise architected timer
    全程未检测到PSCI

故障根源定位与验证步骤

1. 先排除设备树加载的硬件传输问题

OF: fdt: Invalid device tree blob header 说明内核接收的DTB数据存在损坏或格式错误,优先排查硬件环节:

  • 检查启动介质(SD卡/QSPI Flash)的硬件连接:确认SD卡数据线阻抗匹配、QSPI时钟信号完整性,劣质连接易导致DTB传输时出现比特错误
  • 核对BOOT模式配置:确保ZU5的BOOT引脚配置与ZCU102一致(如均为SD卡启动),错误的BOOT模式会导致UBOOT加载DTB异常
  • UBOOT内验证DTB完整性:执行命令 fdt addr <dtb_addr>; crc32 <dtb_addr> <dtb_size>,将校验值与ZCU102上的结果对比,若不一致则说明DTB在存储/传输过程中损坏,需排查存储介质硬件可靠性

2. 验证PSCI与CPU节点初始化问题

Failed to find device node for boot cpu和PSCI未检测到的关联问题:

  • 核对ATF适配配置:ZU5与ZU9EG的PSCI依赖ARM Trusted Firmware(ATF),需确认自定义板的ATF是否针对ZU5编译(指定正确的平台参数、CPU核数、中断控制器配置)
  • 检查CPU电源域硬件:确认ZU5的A53核心电源域正常上电,若电源引脚虚焊、电源芯片输出电压异常,会导致CPU核心无法初始化,进而无法识别CPU节点与PSCI
  • 排查GIC中断控制器连接:架构定时器依赖GIC中断信号,若GIC信号线焊接不良、阻抗不匹配,会导致定时器初始化失败

3. 定位架构定时器panic的直接原因

Unable to initialise architected timer是最终panic触发点,需结合前置问题验证:

  • 检查系统时钟配置:架构定时器时钟源来自PS时钟树,确认自定义板的时钟芯片输出(如PS_REF_CLK的频率、电平)符合ZU5规格,错误时钟会导致定时器无法正常计数
  • UBOOT内测试定时器:执行timer test命令,若UBOOT中定时器也无法工作,基本可确定是时钟或定时器模块的硬件问题

结论判定

若满足以下条件,可确认故障由硬件问题导致:

  1. UBOOT内DTB校验值与ZCU102一致,排除DTB传输损坏
  2. 更换适配ZU5的ATF后,仍无法识别PSCI与CPU节点
  3. UBOOT定时器测试失败,或CPU电源/时钟硬件检测存在异常

反之,若更换ATF、修正BOOT配置后故障消失,则属于软件/配置问题。

内容的提问来源于stack exchange,提问作者rbe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 14:36:19