ARM Cortex A系列编程指南
文章平均质量分 73
ARM Cortex A系列编程指南
sjwangjinbao
这个作者很懒,什么都没留下…
展开
-
ARM Cortex-A系列编程指南之ARMv8 A -- 第六章 A64指令集
多数写应用程序的开发者不需要写汇编程序,但是当需要高度优化的代码的时候,汇编代码就变得很有用。这种情况包括写编译器代码,或者需要实现低层级特性但是C语言中又没有;启动代码、设备驱动、或者开发操作系统时也需要。会阅读汇编代码,也会对调试C语言时有帮助,特别是了解C语言和这些指令直接的映射关系。6.1 指令助记符A64的汇编语言重载实现了指令助记符,并根据操作数寄存器的名字来进行区分。比如ADD指令,有不同的参数,我们只需要记住ADD这个指令,汇编器会自动根据参数(操作数)来选择正确的调用:ADD原创 2022-01-03 23:22:23 · 1036 阅读 · 0 评论 -
ARM Cortex-A系列编程指南之ARMv8 A -- 第五章 ARMv8指令集介绍
ARMv8体系结构增加了64位指令集,是对现存的32位指令集的补充,被叫做A64(运行在AArch64运行状态下)。运行在AArch32运行状态下的指令集是A32和T32。如果想详细了解A64的汇编语言,可以参考Documentation – Arm Developer,《Arm Compiler armasm User Guide Version 6.12》。5.1 ARMv8指令集5.1.1 区分32位和64位A64指令在A64指令集的指令有2种形式,或者32位,或者64位。1)寄存原创 2022-01-02 21:46:14 · 1594 阅读 · 0 评论 -
ARM Cortex-A系列编程指南之ARMv8 A -- 第四章 ARMv8寄存器
1、通用寄存器AArch64运行环境提供了31个64bit的通用寄存器:X0~X31,同时他们也都有32bit的形式:W0~W31,他们对应映射到64bit寄存器的低32位。读取W寄存器,将会只读X的低32位;写W寄存器,将会将X的高32位写为0。也就是说设置W0为0xFFFFFFFF,结果设置X0为0x00000000FFFFFFFF。2、AArch64特殊寄存器除了31个核心寄存器外,还有一些特殊寄存器。在AArch64运行状态,异常返回的状态,保存在每个异常等级的.原创 2021-12-12 22:47:22 · 1672 阅读 · 0 评论 -
ARM Cortex-A系列编程指南之ARMv8 A -- 第三章 ARMv8基础
1、异常等级ARMv8处理器运行时,运行在4种异常等级的其中一个等级。和ARMv7的特权等级类似,在AArch64运行状态,异常等级决定了特权等级。EL0~EL3,数字越高,异常等级越高。EL0 普通用户应用 EL1 操作系统内核 EL2 Hypervisor EL3 低层级固件(包括Secure Monitor) 一般情况下,应用程序、操作系统内核、Hypervisor,占有一个单独的异常等级。但是有个例外,就是像KVM这样的在内核中的Hyperviso原创 2021-12-06 23:50:11 · 1151 阅读 · 0 评论 -
ARM Cortex-A系列编程指南之ARMv8 A -- 第二章 ARMv8 A架构和处理器
从1985年开始ARM架构经历了如下阶段:ARMv4及早期版本 早期的使用ARM32bit指令集 ARMv4T ARM32bit指令集的基础上,追加了Thumb16bit指令集。 这是第一个被广泛授权的ARM架构。 ARM7TDMI®和ARM9TDMI®处理器。 ARMv5TE The ARMv5TE architecture added improvements for DSP-type operations, sa.原创 2021-12-05 23:25:34 · 2593 阅读 · 0 评论 -
ARM Cortex-A系列编程指南之ARMv8 A -- 第一章 简介
ARMv8既包括32bit运行状态(execution state),又包括64bit运行状态。ARMv8可以对64bit宽的寄存器进行操作,但是也向后兼容ARMv7的软件(32bit的),也就是说ARMv7的软件(32bit的)可以在ARMv8上运行。通常用“AArch64”来表示64bit运行状态,“AArch32”来表示32bit运行状态(几乎和ARMv7是一样的)。因为ARMv8的很对概念,在ARMv7中都有,所以不是所有详细的概念都在这里包含了。对ARMv7架构的介绍,可以参考《ARM®原创 2021-11-30 23:26:55 · 744 阅读 · 0 评论 -
ARM Cortex-A系列编程指南之ARMv8 A -- 前言
2013年,ARM发布了64bit ARMv8架构。这是2007年ARMv7以来,ARM架构的重大变更,也是自ARM架构被创建以来最基础,影响也最深远的变更。写这份指南的作者,绝大部分也是《Cortex-A Series Programmer’s GuideCortex-A Series Programmer’s Guide》的作者。这份指南是如下资料的补充:每个处理器的《Technical Reference Manuals (TRMs)》、具体设备和板子的相关资料、《ARM Architectu原创 2021-11-30 22:29:49 · 297 阅读 · 0 评论 -
ARM Cortex-A系列编程指南之ARMv8 A
此系列文章是对《ARM® Cortex®-A Series Programmer's Guide for ARMv8-A》的重点解读,目的是对ARMv8 A的官方编程指南进行解读和重点内容整理,方便网友和自己深入使用。其下载路径在:Documentation – Arm Developer=========================================================================注意:本文为本人原创,版权所属为个人所有,欢迎转载,但是转载原创 2021-11-30 22:12:55 · 696 阅读 · 0 评论