《ARM体系结构编程与实践奔跑吧Linux社区著基于树莓派4B开发板系统介绍arm体系结构书籍》[51M]百度网盘|pdf下载|亲测有效
《ARM体系结构编程与实践奔跑吧Linux社区著基于树莓派4B开发板系统介绍arm体系结构书籍》[51M]百度网盘|pdf下载|亲测有效

ARM体系结构编程与实践奔跑吧Linux社区著基于树莓派4B开发板系统介绍arm体系结构书籍 pdf下载

出版社 兰兴达图书专营店
出版年 2022-03
页数 390页
装帧 精装
评分 8.7(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供ARM体系结构编程与实践奔跑吧Linux社区著基于树莓派4B开发板系统介绍arm体系结构书籍电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com



本书旨在详细介绍ARM64体系结构的相关技术。本书*先介绍了ARM64体系结构的基础知识、搭建树莓派实验环境的方法,然后讲述了ARM64指令集中的加载与存储指令、算术与移位指令、比较与跳转等指令以及ARM64指令集中的陷阱,接着讨论了GNU汇编器、*器、*脚本、GCC内嵌汇编代码、异常处理、中断处理、GIC-V2,后剖析了内存管理、*速缓存、缓存**性、TLB管理、内存屏障指令、原子作、作系统等内容。


本书适合嵌入式开发人员阅读。





奔跑吧Linu社区  由*志同道合的工程师组成,*力于Linu等开源软件与推广,为广大工程师和读者提供深入的开源知识分享。





*章 ARM64体系结构基础知识 *

*.* ARM介绍 *

*.2 ARMv8体系结构基础知识 2

*.2.* ARMv8体系结构 2

*.2.2 采用ARMv8体系结构的常见处理器内核 3

*.2.3 ARMv8体系结构中的基本概念 3

*.2.4  A64指令集 4

*.2.5 ARMv8处理器执行状态 4

*.2.6 ARMv8支持的数据宽度 5

*.3 ARMv8寄存器 5

*.3.* 通用寄存器 5

*.3.2 处理器状态 6

*.3.3 *殊寄存器 7

*.3.4 系统寄存器 *0

*.4 Corte-A72处理器介绍 *0

*.5 ARMv9体系结构介绍 *3

2章 搭建树莓派实验环境 *4

2.* 树莓派介绍 *4

2.2 搭建树莓派实验环境 *5

2.2.*  配置串口线 *6

2.2.2  安装树莓派官方OS *8

2.2.3  实验2-*:输出“Welcome BenOS!”     *9

2.2.4  实验2-2:使用GDB与QEMU虚拟机调试BenOS 20

2.2.5  实验2-3:使用J-Link EDU仿真器调试树莓派 2*

2.3 BenOS基础实验代码解析 27

2.4 QEMU虚拟机与ARM64实验平台 32

3章 A64指令集*——加载与存储指令 35

3.* A64指令集介绍 36

3.2 A64指令编码格式 37

3.3 加载与存储指令 38

3.3.*  基于基地址的寻址模式 39

3.3.2  变基模式 4*

3.3.3  PC相对地址模式 42

3.3.4  LDR伪指令 43

3.4 加载与存储指令的变种 44

3.4.*  *同位宽的加载与存储指令 44

3.4.2  *可扩展的加载和存储指令 45

3.4.3  多字节内存加载和存储指令 46

3.4.4 *占内存访问指令 48

3.4.5 隐含加载-获取/存储-释放

内存屏障原语 48

3.4.6 非*权访问级别的加载和存储指令 48

3.5 入栈与出栈 49

3.6 MOV指令 5*

3.7 陷阱:你用对加载与存储指令了吗 52

3.8 实验 53

3.8.*  实验3-*:熟悉MOV和LDR指令 53

3.8.2  实验3-2:前变基与后变基寻址模式* 53

3.8.3  实验3-3:前变基与后变基寻址模式2 54

3.8.4  实验3-4:PC相对地址寻址 54

3.8.5  实验3-5:memcpy()函数的实现 54

3.8.6  实验3-6:LDP和STP指令的使用 55

4章 A64指令集2——算术与移位指令 56

4.* 条件作码 57

4.2 加法与减法指令 57

4.2.*  ADD指令 58

4.2.2  ADDS指令 60

4.2.3  ADC指令 6*

4.2.4  SUB指令 6*

4.2.5  SUBS指令 64

4.2.6  SBC指令 64

4.3 CMP指令 65

4.4 关于条件标志位的示例 67

4.5 移位指令 68

4.6 位作指令 68

4.6.*  与作指令 68

4.6.2  或作指令 69

4.6.3  位*作指令 7*

4.6.4  CLZ指令 7*

4.7 位段作指令 7*

4.7.*  位段插入作指令 7*

4.7.2  位段提取作指令 72

4.8 实验 73

4.8.*  实验4-*:测试ADDS和CMP指令的C标志位 73

4.8.2  实验4-2:条件标志位的使用 74

4.8.3  实验4-3:测试ANDS指令以及Z标志位 74

4.8.4  实验4-4:测试位段作指令 74

4.8.5  实验4-5:使用位段指令来读取寄存器 74

5章 A64指令集3——比较指令与跳转指令 76

5.* 比较指令 76

5.*.*  CMN指令 76

5.*.2  CSEL指令 77

5.*.3  CSET指令 78

5.*.4  CSINC指令 78

5.2 跳转与返回指令 79

5.2.*  跳转指令 79

5.2.2  返回指令 80

5.2.3  比较并跳转指令 80

5.3 陷阱:为什么在RET指令之后系统*崩溃了 80

5.4 实验 82

5.4.*  实验5-*:CMP和CMN指令 82

5.4.2  实验5-2:条件选择指令 82

5.4.3  实验5-3:子函数跳转 82

6章 A64指令集4——其他重要指令 83

6.* PC相对地址加载指令 83

6.2 LDR和ADRP指令的区别 85

6.3 内存*占访问指令 85

6.4 异常处理指令 86

6.5 系统寄存器访问指令 87

6.6 内存屏障指令 88

6.7 实验 88

6.7.*  实验6-*:测试ADRP和LDR伪指令 88

6.7.2  实验6-2:ADRP和LDR伪指令的陷阱 89