我已经编写了一个.bbappend
文件来填充为16-byte alignment
生成的图像。但是,我无法在bash
或python
文件中写入填充逻辑,因为它会引发错误
以下是文件中的片段:
# Anonymous python function to set the padding size variable
python () {
d.setVar("TEE_SIZE", "0xac000")
}
do_deploy () {
install -d ${DEPLOYDIR}
${TARGET_PREFIX}objcopy -O binary ${B}/core/tee.elf ${DEPLOYDIR}/tee_tmp.bin
# Padding for 16 byte alignment
bbnote "Padding to ${TEE_SIZE}"
${TARGET_PREFIX}objcopy -I binary -O binary --pad-to ${TEE_SIZE} --gap-fill=0x0 ${DEPLOYDIR}/tee_tmp.bin ${DEPLOYDIR}/tee.${PLATFORM_FLAVOR}.bin
# Deleting temp TEE, after padding
rm -f ${DEPLOYDIR}/tee_tmp.bin
}
我想得到${DEPLOYDIR}/tee_tmp.bin
的大小,并将其填充到下一个可被0x10
整除的数字
bitbake
文件中执行算术运算李>提前谢谢
从我发现的情况来看,在使用shell语法编写的食谱中,不能使用Bash语法编写算术。您可以做的是让应用程序bc执行算法。如果我正确理解了您的问题,您可以这样做来计算填充:
请注意
TEE_SIZE
和TEE_SIZE_PADDED
都是十进制的,而不是十六进制的,但是这应该可以很好地用于objcopy(尽管我现在还没有测试它)请注意,您的配方现在取决于系统根目录中安装的bc native,因此您必须向配方中添加如下内容:
相关问题 更多 >
编程相关推荐