ARM基础知识

ARM处理器模式:

模式可以理解为 工作环境。

异常模式:SVC管理模式、 FIQ 快速中断模式 、 IRQ中断模式、Abort中止、Undef 未定义模式;

正常模式:System系统模式、 User 用户模式

1-6 模式称为特权模式,7为非特权模式。

?

PC机里面有一个运行级别的概念。

?

某些程序运行在这个模式下,另一些程序在另一个模式下。

ARM状态:

执行arm指令。Pc值字对齐(32位)代码量变小。

Thumb状态:

执行thumb指令。Pc值半字对齐(16位)。

?

ARM处理器有37个32位长的寄存器。

?

通用寄存器:

参与运算,保存运算结果。(凡是运算涉及到的寄存器都是通用寄存器)

Add r0, r1,r2 (r1+r2 = r0)

?

R0~R15 在用户模式与系统模式下

R13 :堆栈指针寄存器 stack poiter 堆栈指针。(sp)

R14:链接寄存器(记录上一次记录的位置)

R15:程序计数器pc,永远指向取值的的指令地址。

代码区 、 数据区、 bss段。

内存里面一般不能没有栈。栈的位置与代码放入内存的顺序相反。

把2、3、5等的地址放入其地址。

?

?

状态寄存器:

?

?

通用寄存器:

Usr/sys :

Ro – R15

Irq:

?

状态寄存器:

Cpsr current program state register。当前程序状态寄存器。

以上总结下,总共37个寄存器。

?

?

汇编代码:

伪指令+指令

数据传送指令:MOV + 立即数、寄存器、寄存器移位

比较指令:CMP 15种条件。

(logic shift right 逻辑右移R4位)

?


?

时间: 2024-10-17 15:03:21

ARM基础知识的相关文章

ARM基础知识学习笔记

/*****************数电知识*******************/ PN结(Positive-Negative) 三极管:BJT(双极结型三极管Bipolar Junction Transistor)               FET(场效应管Field Effect Transistor)          (单极结型) 1.MOSFET (金属氧化物半导体Metal Oxide Semiconductor FET)               2.JFET(结型Junct

Ok6410裸机驱动学习(二)ARM基础知识

1.ARM工作模式 ARM微处理器支持7种工作模式,分别为: l  用户模式(usr):ARM处理器正常的程序执行状态(Linux用户态程序) l  快速中断模式(fiq):用于高速数据传输或通道处理 l  外部中断模式(irq):用于通用的中断处理 l  管理模式(svc):操作系统使用的保护模式(Linux内核) l  中止模式(abt):当数据或指令预取终止时进入该模式,用于虚拟存储及存储保护 l  未定义指令模式(und):当未定义的指令执行时进入该模式,用于支持硬件协处理器的软件仿真

【ARM】arm系列知识框架

[ARM编程模型] 硬件: 电路原理图 软件: 体系结构, 指令集, 寄存器组 [ARM编程技术] 汇编/C语言 编译, 链接, 烧写和调试 windows: MDK linux  : gcc [ARM接口编程] 电路原理图 datasheet ------> 裸机程序(不带操作系统,直接操作硬件) 中断技术 初始化程序 [ ARM基础知识] 1. 冯·诺依曼结构特点:      采用二进制表示数据和程序      事先存储程序      利用控制流来驱动程序      五大部件  2. CPU

ARM Cortex-A7 MPCore架构基础知识

1.前言 ARM Cortex-A7 MPCore架构非常庞大和复杂,本文仅仅是记录一些ARM架构相关的基础知识,以便于后续的ARM汇编学习. 2.ARM Cortex-A7 MPCore简介 3.ARM Cortex-A处理器运行模式 4.ARM Cortex-A寄存器组 原文地址:https://www.cnblogs.com/Cqlismy/p/12382303.html

驱动实现led,pwm和中断基础知识

2015.4.8星期三 晴天 今天老师讲的内容是内核编写led和pwm驱动,实现花样灯和放歌的功能.理解应用和驱动的对接,最后自己实现了在放歌的时候根据歌曲的节奏亮灭一个小灯,应为两个独立的驱动都已经写好,想要组合其实很简单,只要在主调函数里面打开两个驱动的设备节点,分别进行操作并有机的组合在一起就行了.最后老师复习了中断的一些基础知识,总结一下: 异常处理:当异常发送时:nand flash 拷贝到sdram中运行,这是和nor flash 的区别之一 1.拷贝cpsr到spsr2.设置适当的

jni的一些基础知识和概念

11.1基础知识 JNI(Java Native Interface,JAVA原生接口) 使用JNI可以使Java代码和其他语言写的代码(如C/C++代码)进行交互. 问:为什么要进行交互? |-  首先,Java语言提供的类库无法满足要求,且在数学运算,实时渲染的游戏上,音视频处理等方面上与C/C++相比效率稍低. |-  然后,Java语言无法直接操作硬件,C/C++代码不仅能操作硬件而且还能发挥硬件最佳性能. |-  接着,使用Java调用本地的C/C++代码所写的库,省去了重复开发的麻烦

嵌入式Linux基础知识

一.构建嵌入式开发环境 1.编译bootloader并烧写到板子中---uboot, 可以自己定制bootloader and logo 2.编译file system 并烧写--内嵌APP 3.编译linux kernel----定制drivers and logo 4.编译APP 5.编译file system 备份---内嵌APP 6.安装交叉编译工具 7.安装调试工具 二.嵌入式编程基础知识 一般的c/c++文件要变成可执行文件需要经过预处理.编译.汇编.和连接等4个步骤 1)预处理 以

马哥2013年运维视频笔记 day01 系统基础知识

没有什么可说的,马哥的Linux视频真的是精品,这里把我学习以后的笔记整理到这里,以备不时之需. day01 ①.Linux学习的一些方法论 做好总结,必须学习完一个知识点以后要用自己的思想把它彻底的给别人讲明白,这样这个知识就真的融入你们的知识体系了,否则看着会了,其实是一知半懂.比较好的方法就是写总结,记笔记,然后汇总成博客,这样可以锻炼你对问题条理化理解,这会影响你们的一生,是隐形的影响. 都说Linux很难,不然怎么体现你的价值啊?只有基础打牢,之后的中高级内容才能从容不迫.要做好知识结

操作系统相关硬件基础知识

http://blog.csdn.net/oqq_5518/article/details/35232097 相关知识:数字逻辑电路.计算机组成原理. 操作系统 开关呈开启状态,给予一定的电压,通电,1. 开关呈关闭状态,断电,0. 运算器.控制器.存储器.输入设备.输出设备 利用控制位实现线路复用,利用寄存器解决线路复用带来的数据覆盖问题(暂存). ROM: RAM:内存 中断机制解决CPU不断进行对IO设备轮询的问题,减少CPU的中断次数,提高性能. 北桥(高速总线控制器):内存 现在的内存