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

 

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

 

riscv - boot - head

 

1. vmlinux.lds.S

 

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

riscv - boot - head

其中:

a. 输出的架构是riscv;

b. entry point是_start;

c. 起始地址是LOAD_OFFSET;

d. _start放在最前面;

 

2. head.S

 

_start定义在head.S文件中:

riscv - boot - head

 

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

riscv - boot - head

 

1) head.i

 

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

 

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

riscv - boot - head

 

如下:

riscv - boot - head

 

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

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

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-12
  • 2021-07-29
  • 2022-12-23
  • 2022-12-23
  • 2021-10-15
  • 2021-07-27
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案