fn_u-boot-spl.bin 和 u-boot-spl.bin区别是什么? 如何从u-boot-spl.bin生成fn_u-boot-spl.bin?

Viewed 11

重现步骤

期待结果和实际结果

软硬件版本信息

错误日志

尝试解决过程

补充材料

1 Answers

fn_u-boot-spl.bin = bootrom头 + u-boot-spl.bin ;生成过程见后面代码片段;

bootrom头(格式详见) + u-boot-spl.bin(标准的一级uboot) = fn_u-boot-spl.bin

add_firmHead  u-boot-spl.bin
#add_firmHead  xxx.bin  "-n"
#output fn_$1 fa_$1 fs_$1
add_firmHead()
{

	# $(UBOOT_BUILD_DIR)/tools/firmware_gen_no_securiy.py
	local filename="$1"
	#export PATH=\"${PATH#*host\/bin:}
	local firmware_gen="python3  ${UBOOT_BUILD_DIR}/tools/firmware_gen_no_securiy.py "

	if [ $# -ge 2 ]; then
		firmArgs="$2" #add k230 firmware head
		cp ${filename} ${filename}.t; ${firmware_gen}   -i ${filename}.t -o f${firmArgs##-}${filename} ${firmArgs};

	else
		#add k230 firmware head
		firmArgs="-n"; cp ${filename} ${filename}.t; ${firmware_gen}   -i ${filename}.t -o f${firmArgs##-}_${filename} ${firmArgs};
		if [ "${CONFIG_GEN_SECURITY_IMG}" = "y" ];then
			firmArgs="-s";cp ${filename} ${filename}.t;	 ${firmware_gen}   -i ${filename}.t -o f${firmArgs##-}_${filename} ${firmArgs};
			firmArgs="-a";cp ${filename} ${filename}.t;	${firmware_gen}   -i ${filename}.t -o f${firmArgs##-}_${filename} ${firmArgs};
		fi
	fi
	rm -rf  ${filename}.t

}

详见 https://github.com/kendryte/k230_linux_sdk/blob/dev/buildroot-overlay/board/canaan/k230-soc/post-build.shhttps://github.com/kendryte/k230_linux_sdk/blob/dev/buildroot-overlay/board/canaan/k230-soc/genimage.cfg