-
gtq 发表于 2024-12-3 15:55
哇塞,学到啦,超感谢!多多积累经验哈,盼着有那么一天能派上用场呢。
一起学习!
-
希望能为你的工作提供些许可借鉴之处。
其实软件安装中还有一些其他Tips,但不一定具有普遍性。比如有些版本的Windows上没有安装Hyper-V,需要自行安装。但限于篇幅,没有面面俱到。
-
wangerxian 发表于 2024-11-30 16:18
感觉要知道一些ARM相关的内核和指令,看这个会更有收益。
嗯,比较学习会更有帮助。
-
李晨33 发表于 2024-11-29 15:26
本书的作者是奔跑吧Linux社区的创始人笨叔
对的,这本书的作者是奔跑吧Linux社区的创始人笨叔。
-
本帖最后由 goldjack 于 2024-11-29 07:45 编辑
活动的链接里有,所以上文中没有赘述,这里再转发一下。谢谢!
https://bbs.eeworld.com.cn/elecplay/content/4f88f037#F5
书籍目录
第1章 RISC-V体系结构基础知识
第2章 搭建RISC-V实验环境
第3章 基础指令集
第4章 函数调用规范与栈
第5章 GNU汇编器
第6章 链接器与链接脚本
第7章 内嵌汇编代码
第8章 异常处理
第9章 中断处理与中断控制器
第10章 内存管理
第11章 高速缓存
第12章 缓存一致性
第13章 TLB管理
第14章 原子操作
第15章 内存屏障指令
第16章 合理使用内存屏障指令
第17章 与操作系统相关的内容
第18章 可伸缩矢量计算与优化
第19章 压缩指令扩展
第20章 虚拟化扩展
第21章 RISC-V高性能处理器架构分析
RISC-V体系结构自测题
附录A RISC-V体系结构自测题的参考答案与提示
附录B RV64I指令速查表
附录C RV64M指令速查表
附录D RV64常用伪指令速查表
-
第6章:
1.什么是链接器?为什么链接器简称LD?
答:链接器是用来完成链接过程的工具。而链接指的是把编译过程中生成的目标文件(也包括用到的标准库函数目标文件)的代码段、数据段以及符号表等内容收集起来,并按照某种格式(如ELF)组合成一个可执行二进制文件的过程。操作系统发展的早期并没有链接器的概念,操作系统的加载器(Loader,LD)做了所有的工作。后来操作系统越来越复杂,慢慢出现了链接器,所以LD成为链接器的代名词。
2.链接脚本中的输入段和输出段有什么区别?
答:链接脚本中的输入段用来告诉链接器如何输入文件映射到内存布局。输入段包括输入文件以及对应的输入段。输出段是链接器处理输入段后生成的最终可执行文件中的部分。一个输出段有虚拟内存地址(VMA)和加载内存地址(LMA)两个地址。
3.什么是加载地址和虚拟地址?
答:加载地址(Load Memory Address,LMA)通常指的是指令中指定的内存地址,用于指示CPU从该地址读取数据。加载地址可以是虚拟地址或物理地址,取决于是否启用了虚拟地址。虚拟地址(Virtual Memory Address, VMA)是CPU生成的一个地址,用于访问主存,必须经过地址翻译转换为物理地址。
-
本帖最后由 goldjack 于 2024-11-26 19:14 编辑
第5章:
1.什么是汇编器?
答:汇编器是将汇编代码翻译为机器目标代码的程序。
2.如何给汇编代码添加注释?
答:“#”字符开始,表明其后的内容为注释。
3.什么是符号?
答:符号是一个核心概念。程序员使用符号命名事物,连接器使用符号链接,调试器使用符号调试。符号可以代表它所在的地址,也可以当做变量或者函数使用。
4.什么是伪指令?
答:伪指令是对汇编器发出的命令,它在源程序汇编期间由汇编器处理。伪指令是由汇编器预处理的指令,可以分解为几条指令的集合。
-
不错!来学习!
-
个人信息无误,确认可以完成阅读计划和打卡任务
-
好活动,积极参与!
-
好书啊,支持!
-
好活动,支持!~~~
-
不错!
-
谢谢soso, EEWorld, Fairchild! :)