【昇腾】关于Atlas 200I A2加速模块macro0配置3路PCIE+1路SATA在hboot2中的一个bug_20250812

一、问题的现象:

以下分析是基于Ascend HDK 24.1.0.3 源码包进行分析(Ascend HDK 25.0.RC1.1此问题也仍存在)

1.1 SATA与PCIE二选一

macro0的ds0配置成SATA(图一);hboot2会将dtb PCIE节点删掉(图二);三路PCIE只生成两路(图三);SATA盘识别正常(图四)

macro0的ds0配置成PCIE(图一);hboot2会将dtb SATA节点删掉(图二);三路PCIE只生成两路,SATA盘识别不到(图三)

1.2 分析HBOOT2源码

drivers/firmware/bios/HwPkg/UEFI/Products/as310b/Common/Library/DevTreeImageLib/FdtUpdateLib.c +1197

1.3 修改HBOOT2源码

将SsdBootUpdateFdt函数的逻辑修改成不要将sata@0xa6000000或pcie@0x820000000的dts 节点删掉,重新编译出fd文件

1.4 生效HBOOT2失败

执行以下命令将,编译好的AS310B_HBOOT2_UEFI.fd文件升级到设备端

bash 复制代码
/var/davinci/driver/upgrade-tool --device_index 0 --component hboot2 --path ./AS310B_HBOOT2_UEFI.fd

1.5 一个偏门的办法

它不是把sata@0xa6000000删掉吗?弹性配置文件就不配成sata了,就配成sata1

相关推荐
海绵宝宝转agent4 小时前
learn-claude-code第1-5章开源学习笔记分享
人工智能·笔记·python·学习
每天都要写算法(努力版)5 小时前
【行业前沿报告】DAgger:让智能体在自己走到的状态上学习
人工智能·学习·机器学习
sunshine22 girl8 小时前
Java学习六 Java常见API-2--String-3-字符串的截取替换和其他方法
java·开发语言·学习
sunshine22 girl9 小时前
Java学习六 Java常见API-1-Radom随机数
java·开发语言·学习
Alice-YUE10 小时前
RAF 渲染帧速通:从渲染帧到性能优化
性能优化
Answer1st10 小时前
【嵌入式学习】嵌入式原理知识-DMA(九)
学习
传奇开心果编程10 小时前
【ArkUI进阶练中学】第11课:安全与合规进阶
学习·ui·华为·harmonyos
Mr_Macallon12 小时前
C++回顾(基础)(01)
c语言·开发语言·c++·学习
sunoo-22913 小时前
【ARM嵌入式学习笔记第十天】i.MX6ULL eLCDIF控制器驱动RGB LCD全解析(硬件原理+寄存器配置+裸机代码)
arm开发·笔记·学习
kaiyou202613 小时前
用户研究岗秋招,统计分析能力怎么学习和证明?
数据库·python·学习