![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ARM汇编
Leo丶Fun
这个作者很懒,什么都没留下…
展开
-
ARM体系结构与编程笔记
存储器映射基本概念ARM处理器产生的地址叫虚拟地址,把这个虚拟地址按照某种规则转换到另一个物理地址去的方法称为地址映射。这个物理地址表示了被访问的存储器的位置。它是一个地址范围,该范围内可以写入程序代码。存储器映射控制的必要性为了让运行在不同存储器空间中的程序对异常进行控制。可以通过存储器映射控制,将位于不同存储空间的异常向量表重新映射至固定地址0x00~0x3F处转载 2018-01-31 16:02:37 · 398 阅读 · 0 评论 -
ARM 堆栈操作
1、寄存器 R13 在 ARM 指令中常用作堆栈指针2、对于 R13 寄存器来说,它对应6个不同的物理寄存器,其中的一个是用户模式与系统模式共用,另外5个物理寄存器对应于其他5种不同的运行模式。采用以下的记号来区分不同的物理寄存器:R13_<mode>其中,mode为以下几种模式之一:usr、fiq、irq、svc、abt、und。3、寄存器R13在ARM指令中常用作堆栈...转载 2018-09-15 14:55:40 · 6235 阅读 · 1 评论 -
ARM的三大工具链
前言 学习linux的过程中,看到过多很多程序并且编译过,使用过很多嵌入式集成开发平台,如IAR,Keil MDK-ARM,DS-5等。有时候会遇到很奇怪的现象:对于同一种功能的代码,不同的平台下程序的框架大致相同,但是程序指令会不一样;对源文件的编译,连接等操作的指令也出出现不同;对于段section的含义表述相同呢,但是在编写是语法不同;对于分散加载文件的含义表述相同,但是在编写是语...转载 2018-09-15 14:41:05 · 4145 阅读 · 1 评论 -
18年ARM笔记
1.软中断和未定义中断优先级最低,复位(reset)的中断优先级最高。2.异常/中断发生时,lr寄存器存放的是异常/中断的返回地址。3.中断控制器用于连接多个外部中断到ARM的两个中断请求之一。复杂的控制器可以通过编程来选择、决定一个外部中断源产生的是IRQ还是FIQ中断。4.中断延迟:从外部中断请求信号发出到取出对应的中断服务程序(ISR)的第一条指令,这期间的间隔时间。中断延迟依赖...原创 2018-09-12 19:07:18 · 236 阅读 · 0 评论 -
Thumb指令集
Thumb指令集概述为兼容数据总线宽度为16位的应用系统,ARM体系结构除了支持执行效率很高的32位ARM指令集以外,同时支持16位的Thumb指令集。Thumb指令集是ARM指令集的一个子集,是针对代码密度问题而提出的,它具有16位的代码宽度。与等价的32位代码相比较,Thumb指令集在保留32位代码优势的同时,大大的节省了系统的存储空间。Thumb不是一个完整的体系结构,不能指望处理器只执...转载 2018-08-23 10:28:11 · 10010 阅读 · 0 评论 -
17年ARM笔记
1. 说多了也没什么用,简单来说,arm是单片机的一种,51也是,但arm的ROM和RAM远大于51,而且IO口功能和处理速度也是两个级别的,arm能上很多操作系统,51只能勉强上极其简单的实时操作系统(RTOS),所以arm常用来开发手机等多媒体产品,51只能完成有限的实时控制功能,形象一点说,51和arm的等级差别就像手机和个人电脑的等级差别。2.DMA总线:直接内存总线,IO直接跳过CPU和...原创 2018-04-11 21:26:00 · 318 阅读 · 0 评论 -
ARM中断源之定时器中断
实时时钟请求中断。在控制中遇到定时检测和控制,为此常采用一个外部时钟电路(可编程)控制其时间间隔。需要定时时,CPU发出命令使时钟电路开始工作,一旦到达规定时间,时钟电路发出中断请求,由CPU转去完成检测和控制工作。走到这里,大家肯定对Linux的中断处理有概念了,下面我们通过一个具体的实例,来了解Linux内核处理中断的全过程,那就是定时器中断。在详细分析这个过程之前,我们把原创 2018-02-02 14:14:07 · 3084 阅读 · 0 评论 -
什么是中断源?中断源的分类介绍
什么是中断? 中断就是使CPU暂停运行原来的程序而应更为急迫事件的需要转向去执行为中断源服务的程序(称为中断服务程序),待该程序处理完后,再返回运行原程序。 什么是中断源? 所谓中断源,即引起中断的事件或原因,或发出中断申请的来源。 中断源分类介绍: 中断源可分为外部中断源和内部中断源两大类。 (1) 外部中断源是指由CPU的外部事件引发的中断。主要转载 2018-01-31 16:49:23 · 24671 阅读 · 1 评论 -
ARM学习之中断体系结构
1.什么是中断? 答:中断是CPU保证并发程序的一种机制。它使得CPU在执行程序的时候能够响应异常的情况发生。 其实,在CPU在运行的过程中,如何知道各类外设发生了某些没预期的事,比如说串口接受到了数据、USB接口中插入了设备、按下了某个按键。有两种方法,一个是前面所说的中断、另一个就是轮询方式。(就是不断的while循环查询)。从某种程度上说,这两种方式其实是一样的。前者是把查询转载 2018-01-31 16:39:34 · 277 阅读 · 0 评论 -
ARM堆栈指针sp(r13)详解
1.什么是栈百度这么说:栈是一种特殊的线性表,是一种只允许在表的一端进行插入或删除操作的线性表。表中允许进行插入、删除操作的一端称为栈顶。表的另一端称为栈底。栈顶的当前位置是动态的,对栈顶当前位置的标记称为栈顶指针。当栈中没有数据元素时,称之为空栈。栈的插入操作通常称为进栈或入栈,栈的删除操作通常称为退栈或出栈。简易理解:客栈,即临时寄存的地方,计算机中的堆栈主要用来保存临时数据,...转载 2018-09-15 15:15:20 · 10260 阅读 · 0 评论