高通SDX55 SDK离线编译方法及问题汇总

一.离线编译方法

 

原始SDK在联网状态下已经编译成功一次的基础上,如果想离线编译,执行以下命令:

cd SDX55_apps/app_proc/poky

source build/conf/set_bb_env.sh

#必须执行这个,告诉编译系统当前为离线编译

export BB_NO_NETWORK="1"

build-sdxprairie-image

 

二.遇到问题及解决方法

 

1.ERROR: ExpansionError during parsing /home/sdx55-le-1-2_amss_standard_oem/SDX55_apps/apps_proc/poky/meta-qti-data/recipes/zonedetect/zonedetect.bb

 

ERROR: ExpansionError during parsing /home/sdx55-le-1-2_amss_standard_oem-r00085/SDX55_apps/apps_proc/poky/meta-qti-data/recipes/zonedetect/zonedetect.bb

Traceback (most recent call last):

bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception NetworkAccess: Network access disabled through BB_NO_NETWORK (or set indirectly due to use of BB_FETCH_PREMIRRORONLY) but access requested with command git -c core.fsyncobjectfiles=0 ls-remote CodeLinaro / le / ZoneDetect · GitLab (for url https://git.codelinaro.org/clo/le/ZoneDetect.git)

 

问题原因:

SRCREV用于指定Git仓库的提交版本号(即commit hash),Yocto在编译时会根据此版本号拉取对应的源码。例如:SRCREV = "abc123..." # 显式指定提交哈希

AUTOREV是一个特殊变量,表示自动获取Git仓库的最新提交版本号。Yocto在编译时会通过git ls-remote命令查询远程仓库的最新哈希。

在离线编译中,必须显式指定所有Git仓库的SRCREV,否则 Yocto 无法解析版本号。

 

解决方法:

打开文件SDX55_apps/apps_proc/poky/meta-qti-data/recipes/zonedetect/zonedetect.bb 按照如下修改:

#SRCREV = "${AUTOREV}"

SRCREV = "f4aef3b5437edfc7ec0ab3fa63454fe274e51839"

注意:用浏览器打开 Files · caf_migration/BertoldVdb/master · CodeLinaro / le / ZoneDetect · GitLab,选择对应的库,然后复制右边的哈希值,这个哈希值就是上面需要的值,我们把值填写到SRCREV = "f4aef3b5437edfc7ec0ab3fa63454fe274e51839"

除了上面方法,如果你的项目没用到这个软件,也可以直接给zonedetect.bb改个名字,让编译系统不知道还要编译这个。

执行如下命令:

mv SDX55_apps/apps_proc/poky/meta-qti-data/recipes/zonedetect/zonedetect.bb SDX55_apps/apps_proc/poky/meta-qti-data/recipes/zonedetect/zonedetect.bb.org

2.ERROR: ExpansionError during parsing /home/sdx55-le-1-2_amss_standard_oem/SDX55_apps/apps_proc/poky/meta-qti-bsp/recipes-devtools/jsoncpp/jsoncpp10_1.0.0.bb

 

ERROR: ExpansionError during parsing /home/sdx55-le-1-2_amss_standard_oem-r00085/SDX55_apps/apps_proc/poky/meta-qti-bsp/recipes-devtools/jsoncpp/jsoncpp10_1.0.0.bb

Traceback (most recent call last):

bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception NetworkAccess: Network access disabled through BB_NO_NETWORK (or set indirectly due to use of BB_FETCH_PREMIRRORONLY) but access requested with command git -c core.fsyncobjectfiles=0 ls-remote CodeLinaro / la / platform / external / jsoncpp · GitLab (for url Log in | CodeLinaro GitLab Service

 

解决方法:

打开文件SDX55_apps/apps_proc/poky/meta-qti-bsp/recipes-devtools/jsoncpp/jsoncpp10_1.0.0.bb

按照如下修改:

#SRCREV = "${AUTOREV}"

除了上面方法,如果你的项目没用到这个软件,也可以直接给jsoncpp10_1.0.0.bb改个名字,让编译系统不知道要编译这个。

执行如下命令:

mv SDX55_apps/apps_proc/poky/meta-qti-bsp/recipes-devtools/jsoncpp/jsoncpp10_1.0.0.bb SDX55_apps/apps_proc/poky/meta-qti-bsp/recipes-devtools/jsoncpp/jsoncpp10_1.0.0.bb.org
高通SDX12是一种移动芯片平台,支持最新的USB连接技术。在使用USB连接设备时,为了达到更高的数据传输效率和稳定性,可以进行USB眼图调优。 USB眼图是通过观察USB信号的时域波形来评估数据传输的质量。当接收端正确接收到数据时,眼图的开口足够大,表示数据传输质量良好;反之,如果眼图的开口较小,可能导致数据传输错误或丢失。 要进行USB眼图调优,可以采取以下措施: 1. 保持良好的信号完整性:使用高质量的USB连接线和连接器,尽量减少信号的损耗和失真。确保信号线不过长,避免干扰和干扰。 2. 优化供电环境:提供稳定的供电电源,减少功率波动和干扰。使用优质的电源适配器或电池供电,避免共地和干扰。 3. 适当调整传输速率:根据设备和系统的性能要求,选择适当的USB传输速率。较高的传输速率可能导致数据传输质量下降,因此在保证速度的同时,需要权衡信号质量。 4. 确保正确的数据编码和解码:在设备端和主机端使用正确的数据编码和解码协议,以确保数据传输的正确性和一致性。 5. 消除干扰源:降低共地干扰和电磁干扰对USB信号的影响。确保设备和连接线远离其他电磁辐射源,如无线电设备、电源适配器等。 总之,通过技术手段优化USB眼图,可以提高USB连接的数据传输效能和稳定性,提升设备的整体性能和用户体验。高通SDX12作为一种先进的移动芯片平台,可为USB连接提供高质量的信号和传输效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乄江逸尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值