risc的loader.bin

risc v除了支持各种压缩格式的Image外,还支持一个loader.bin
我们看看loader.bin是如何生成的
arch/risc/boot/Makefile


$(obj)/loader.o: $(src)/loader.S $(obj)/Image

$(obj)/loader: $(obj)/loader.o $(obj)/Image $(obj)/loader.lds FORCE
	$(Q)$(LD) -T $(obj)/loader.lds -o $@ $(obj)/loader.o

$(obj)/loader.bin: $(obj)/loader FORCE
	$(call if_changed,objcopy)

从这里看loader.bin是有loader通过objcopy生成的,而loader是由loader.lsd和loader.o
链接生成,而loader.o 又是有loaderS生成的,我们看看loader.S

/* SPDX-License-Identifier: GPL-2.0 */

	.align 4
	.section .payload, "ax", %progbits
	.globl _start
_start:
	.incbin "arch/riscv/boot/Image"
loader.S 中只包含了一行语句.incbin "arch/riscv/boot/Image",就是把通过incbin讲Image 包含尽量放在
payload这个段中。这里的incbin的全称是include binary.
这里就明白了,loader.bin 就是将Image放在payload这个段中.

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值