【昇腾】关于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的ds[0]配置成SATA(图一);hboot2会将dtb PCIE节点删掉(图二);三路PCIE只生成两路(图三);SATA盘识别正常(图四)

macro0的ds[0]配置成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

相关推荐
辰海Coding5 小时前
MiniSpring框架学习笔记-解决循环依赖的简化IoC容器
笔记·学习
晓梦林5 小时前
cp520靶场学习笔记
android·笔记·学习
心中有国也有家6 小时前
cann-recipes-infer:昇腾 NPU 推理的“菜谱集合”
经验分享·笔记·学习·算法
Upsy-Daisy6 小时前
AI Agent 项目学习笔记(八):Tool Calling 工具调用机制总览
人工智能·笔记·学习
LuminousCPP8 小时前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习
魔法阵维护师8 小时前
从零开发游戏需要学习的c#模块,第十四章(保存和加载)
学习·游戏·c#
_李小白9 小时前
【android opencv学习笔记】Day 17: 目标追踪(MeanShift)
android·opencv·学习
一只机电自动化菜鸟9 小时前
一建机电备考笔记(40) 建筑机电施工—排水管道施工(含考频+题型)
经验分享·笔记·学习·职场和发展·课程设计
2301_818730569 小时前
numpy的学习(笔记)
学习·numpy
GHL28427109010 小时前
Logon failed, use ctrl+c to cancel basic credential prompt
学习·prompt