堆栈是一种数据结构,按先进后出的方式工作。使用一个称作堆栈指针的专用寄存器指示当前的操作位置,堆栈指针总是指向栈顶
当堆栈指针指向最后压入堆栈的数据时,称为满堆栈,而当堆栈指针指向下一个将要放入数据的空位置时,称为空堆栈
同时又根据堆栈的生成方式,又可分为递增堆栈和递减堆栈,当堆栈由低地址像高地址生成时,称为递增堆栈。当堆栈由高地址向低地址生成时,称为递减堆栈。这样就有4中堆栈的工作方式。
◎ Full descending 满递减堆栈——FD 堆栈首部是高地址,堆栈向低地址增长。栈指针总是指向堆栈最后一个元素(最后一个元素是最后压入的数据)。 ARM-Thumb过程调用标准和ARM、Thumb C/C++ 编译器总是使用Full descending 类型堆栈。
◎ Full ascending 满递增堆栈——FA 堆栈首部是低地址,堆栈向高地址增长。栈指针总是指向堆栈最后一个元素(最后一个元素是最后压入的数据)。
◎ Empty descending 空递减堆栈——ED 堆栈首部是高地址,堆栈向低地址增长。栈指针总是指向下一个将要放入数据的空位置。
◎ Empty ascending 空递增堆栈——EA 堆栈首部是低地址,堆栈向高地址增长。栈指针总是指向下一个将要放入数据的空位置。
在ARM中,一般是满堆栈,堆栈生长方向是从上向下递减的(51相反为递增),在操作系统的一直过程中,与CPU相关部分的一直肯定会涉及到堆栈生长方向的定义。
arm堆栈的组织结构是 满栈降 的形式,满栈即sp是要停留在最后一个进栈元素,降:就是堆栈的增长方向是从高地址向低地址发展
关键字:ARM 裸机程序 堆栈寻址
引用地址:
ARM裸机程序开发17(堆栈寻址)
推荐阅读最新更新时间:2024-11-11 20:24
cc2530裸机编程系列笔记2--定时器Timer1模模式程序 中断方式
上篇专题中描述的是采用查询的方式完成定时器Timer1模模式程序的设计,本篇则介绍采用中断的方式完成定时器Timer1模模式程序的设计。查询的方式,上篇已经介绍过就是在主程序中不断的查询中断标志是否被置位,置位后则进行相应处理。中断的方式则为,当中断产生时,CC2530在硬件的作用下将程序跳转到中断中断服务程序去执行。先贴出中断方式的程序: #include ioCC2530.h #define uint8 unsigned char #define uint16 unsigned int #define BIT(x) (1 x) #define LED1 P1_0 /**********************
[单片机]
三分钟了解 ARM、DSP及FPGA的区别
ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。 DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来
[单片机]
基于ARM嵌入式技术的牙椅控制系统设计
1 引言 目前,市场高端牙椅设备基本被国外公司独断,一般其价格昂贵而且技术不转让。随着人们对口腔健康的日益重视,开发适合国情的高端一体化口腔诊疗系统显得尤为必要。牙椅控制器是一体化口腔诊疗系统的核心,其设计水平反映了整个系统的自动化程度,也是判定牙椅档次的一个重要依据。 本文研究开发了基于ARM嵌入式技术的牙椅控制系统。在控制系统中应用嵌入式操作系统,利用多任务管理、任务间同步与通信等功能,可更进一步提高系统可靠性和实时性,增强智能控制和管理水平。 2 整体功能概述 系统整体框图如图1 所示。牙椅控制系统设计必须满足医疗需求并方便使用操作。高档牙椅在实际工作中除了要满足上下仰卧四个基本方向的运动
[单片机]
基于ARM的嵌入式系统CF卡与CPLD连接技术详解
1 引言 随着应用需求的不断提高,许多嵌入式系统在应用时都要求带有扩展的大容量存储器来存储数据。CF 卡(Compact Flsah Card)由于价格便宜、存储容量大、体积小、兼容性好等优点被广泛应用于嵌入式产品。然而现有的CF 卡接口电路存在接口复杂,稳定性不高等缺点,不能满足客户的需求。通过深入研究ARM 处理器AT91RM9200 的外部总线接口(EBI)、CF 卡和CPLD 的工作原理,提出利用CPLD来改进CF 卡接口电路以解决现有接口电路中存在的缺点。 2 器件简介 2.1 外部总线接口 系统采用了以ARM920T 为内核的AT91RM9200作为微处理器,它是完全围绕ARM920T Thumb 处理器构建的系统
[单片机]
ARM中断模式(IRQ)和快速中断模式(FIQ)区别比较
简介:本文主要对ARM中断模式(IRQ)和快速中断模式(FIQ)区别进行了说明,希望对你的学习有所帮助。 概念 IRQ(Interrupt Request):指中断模式。 FIQ(Fast Interrupt Request):指快速中断模式。 IRQ与FIQ是ARM处理器的两种不同编程模式(ARM有7种处理模式)。 详述 1、对FIQ你必须进快处理中断请求,并离开这个模式。 2、IRQ可以被FIQ所中断,但FIQ不能被IRQ所中断,在处理FIQ时必须要关闭中断。 3、FIQ的优先级比IRQ高。 4、FIQ模式下,比IRQ模式多了几个独立的寄存器。 不要小看这几个寄存器,ARM在编译的时候,
[单片机]
ARMLinux与WiFi的移动智能终端门禁系统设计
引言 随着社会经济的快速发展,人们对室内人身财产安全要求越来越高,门禁系统作为智能建筑安防自动化体系中必不可少的一部分 ,发挥着极其重要的作用。当前常见的门禁系统包括:密码锁门禁系统、感应式IC卡门禁系统、基于电话短信方式的门禁系统以及生物特征识别门禁系统等。 随着科技的不断进步和人们生活水平的不断提高,移动智能终端越来越普及,包括智能手机、平板电脑等。为此,本文研究设计了一种基于嵌入式ARMLinux平台,并将用户已有的移动智能终端设备作为用户身份凭证的无线WiFi门禁系统。 1门禁系统总体结构 移动智能终端门禁系统主要由移动智能终端、门禁装置、控制部件(电锁)和PC终端组成。系统总体拓扑示意图如图1所示。
[单片机]
选ARM7还是选Cortex-M3?
要使用低成本的 32位处理器,开发人员面临两种选择,基于Cortex-M3内核或者ARM7TDMI内核的处理器。如何做出选择?选择标准又是什么?本文主要介绍了ARM Cortex-M3内核微控制器区别于ARM7的一些特点,帮助您快速选择。 1.ARM实现方法 ARM Cortex-M3是一种基于ARM V7架构的最新ARM嵌入式内核,它采用哈佛结构,使用分离的指令和数据总线( 冯诺伊曼结构下,数据和指令共用一条总线)。从本质上来说,哈佛结构在物理上更为复杂,但是处理速度明显加快。根据摩尔定理,复杂性并不是一件非常重要的事,而吞吐量的增加却极具价值。 ARM公司对Cortex-M3的定位是:向专业嵌入式市场提供低成本、低功耗的芯片。在
[单片机]
ARM内核应用不断增长 MCU架构多元化才利于产业发展
由于这几年ARM的Cortex M系列内核的成功推广,各主要MCU厂商都推出了ARM核心的MCU产品,甚至有厂商只推基于通用ARM内核的处理器。面对内核趋同,如何开发出独特的不会被替代的MCU变得越来越重要。有的厂商选择自家开发MCU内核增强竞争力与差异化,与ARM生态抗衡;有的则基于ARM授权,在此基础上完善外部接口电路、丰富资源。如何保持自家MCU产品亮点与特色,将是未来MCU厂商竞争的关键。
ARM内核应用不断增长
采用ARM公司处理器内核的MCU增势不减。飞思卡尔、TI、ST、英飞凌等半导体厂商纷纷致力于推出ARM内核MCU。根据ARM中国嵌入式市场经理耿立峰的介绍,ARM在全球已经累计卖出了大约160个Cor
[单片机]