zoukankan      html  css  js  c++  java
  • Rocket

    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

  • 相关阅读:
    卡特兰数
    混合运算改进(代码)
    典型用户和场景
    混合运算
    四则运算
    计算
    感想
    git
    附加导航 affix,side--toolbar(可结合博客园使用~)
    对python-rrdtool模块的浅研究。
  • 原文地址:https://www.cnblogs.com/wjcdx/p/12897595.html
Copyright © 2011-2022 走看看