yocto杂记

本文档详述了在使用Yocto过程中如何进行调试,包括不同级别的log用法,如plain、debug、note、warn和error。同时介绍了如何在Python和Shell中设置与操作环境变量,例如获取、设置、追加以及检查环境变量中的特定配置。此外,还展示了如何判断环境变量中是否存在特定项的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

yocto杂记

本节记录yocto使用过程中的一些细枝末节的小知识点,供参考查阅:

调试篇

bitbake允许使用log等调试工具。最常用的几个log等级:
plain debug note warn error fatal

bb.debug(1, "Appending 'st_multivolume_ubifs' to IMAGE_POSTPROCESS_COMMAND.")
bb.note("Appending 'st_multivolume_ubifs' to IMAGE_POSTPROCESS_COMMAND.")

bbnote ">>> DONE"

上面示例的bbnote是shell中使用的,bb.note是在python中使用的
warn error fatal等级会被输出到控制台。
debug是通过增加-D参数到BitBake的命令行来设置的。-D ->1 -DD->2 -DDD->3
普通消息永远不被写到控制台。

变量篇

在各种class和bb文件中经常看见在python和shell函数中获取环境变量和对环境变量进行操作,下面记录了一些最常见的变量:

//获取环境变量
 d.getVar('INITRAMFS_IMAGE') or ""
 //获取环境变量标志,有点类似python的字典
 d.getVarFlags('PARTITIONS_CONFIG')
 //设置环境变量
 d.setVar('IMAGE_SUMMARY_LIST', image_summary_list)
 //追加环境变量
d.appendVar('IMAGE_POSTPROCESS_COMMAND', 'st_multivolume_ubifs;')
//追加环境变量标志
d.appendVarFlag('do_image_complete', 'depends', ' %s:do_image_complete' % partition)

//判断环境变量中是否包含某项配置
${@bb.utils.contains('TF_A_CONFIG', 'optee', 'TF_A_CONFIG_optee', '', d)}
${@bb.utils.contains_any('BOOTSCHEME_LABELS', 'optee trusted', 'virtual/trusted-firmware-a', '', d)}

${@' '.join('%s.dtb' % d for d in '${STM32MP_DEVICETREE}'.split())}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值