riscv - boot - head

https://mp.weixin.qq.com/s/9lHolIPqRQow33ToIhGLOA

 

简单介绍arch/riscv/kernel/head.S中的启动流程。

 

 

1. vmlinux.lds.S

 

vmlinux.lds.S是用于链接vmlinux的链接脚本文件:

其中:

a. 输出的架构是riscv;

b. entry point是_start;

c. 起始地址是LOAD_OFFSET;

d. _start放在最前面;

 

2. head.S

 

_start定义在head.S文件中:

 

head.S中定义了linux kernel启动的流程:

 

1) head.i

 

head.S中包含了很多条件编译选项,可以生成预处理之后的文件head.i作为参考。

 

使用如下两条命令,可以获取编译head.S的命令:

 

如下:

 

调整一下该命令,即可生成head.i:

-----------------------------------------------------------------------------
这是一篇付费文章,请移步付费阅读全文,谢谢!
文章链接:https://mp.weixin.qq.com/s/9lHolIPqRQow33ToIhGLOA

posted @ 2021-09-04 14:09  wjcdx  阅读(275)  评论(0编辑  收藏  举报