Rocket - devices - bootrom
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
最新文章
- Lambda 表达式[MSDN]
- php运行出现Call to undefined function curl_init()的解决方法
- wget cooikes 下载
- hadoop 突然断电数据丢失问题
- Hduacm—5497
- Android——多线程编程练习题
- CSU1306:Manor(优先队列)
- [Java] JavaMail 简单案例
- Delphi 10.1 柏林更新内容简译
- Java简单知识梳理
- BZOJ 3569: DZY Loves Chinese II [高斯消元XOR 神题]
- shell 常用命令语法简介
- 第三次java作业
- 关于在vscode中以https方式请求!不是以file文件夹访问!vscode中 ajax请求
- WIN10 企业版 LTSC 激活
- UOJ176 新年的繁荣
- 一、Windows10下python3和python2同时安装
- SNF快速开发平台--规则引擎整体介绍及使用说明书
- Kubernetes1.91(K8s)安装部署过程(七)--coredns安装
- Go随机数的使用