首页 > 其他 > 详细

Rocket - devices - bootrom

时间:2020-05-15 22:44:51      阅读:54      评论:0      收藏:0      [点我收藏+]

https://mp.weixin.qq.com/s/PylfNmJDRasTUj9fGp7gLQ

 

简单介绍bootrom目录中各个文件的实现。

 

技术分享图片

 

1. Makefile

 

1) make过程

 

Makefile用于简化生成bootrom.img,只需要执行make命令即可:

技术分享图片

主要过程为:

a. 根据链接脚本,使用gcc把汇编代码,编译为elf格式的目标文件;

b. 把elf目标文件拷贝为bin格式;

c. 把bin文件拷贝128字节成为img文件;

 

2) Makefile

 

Makefile文件内容如下:

技术分享图片

其中:

a. 默认目标为第一条规则的目标,即all;

b. all依赖于变量bootrom_img的值,也就是bootrom.img;

c. 生成bootrom.img使用如下通配规则:

技术分享图片

这里%代表的是bootrom,先决条件是bootrom.bin,执行的命令是dd;

d. 生成bootrom.bin使用如下通配规则:

技术分享图片

bootrom.bin依赖于bootrom.elf,使用的命令是OBJCOPY,即riscv64-unknown-elf-objcopy;

e. 生成bootrom.elf使用如下通配规则:

技术分享图片

bootrom.elf依赖于bootrom.S和linker.ld,使用的命令是GCC,即riscv64-unknown-elf-gcc;

 

3) bin/img

 

从bootrom.bin生成bootrom.img,使用了dd命令。dd命令只是单纯的拷贝动作,并且指定拷贝128个字节。两者之间的差异是什么呢?

 

为了使bootrom.bin不被自动删除,我们向Makefile中添加一条.SENCONDARY规则:


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

Rocket - devices - bootrom

原文:https://www.cnblogs.com/wjcdx/p/12897595.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!