微软公司宣布不再支持你正在使用的 IE浏览器,这会严重影响浏览网页,请使用微软最新的Edge浏览器
厂商专区
产品/技术
应用分类

ARM堆栈系统初始化流程介绍

2016-07-11 09:55 来源:电源网综合 编辑:铃铛

ARM嵌入式当中,需要硬件和软件的双重配合。硬件能够随意更换,但软件要随着硬件的更新而进行初始化。而嵌入式的初始化需要从多个方面来进行,本文就将为大家介绍堆栈的初始化的过程,感兴趣的朋友快来看一看吧。

初始化堆栈

由于ARM微处理器有7中运行模式,每一种模式的堆栈指针(SP)都是独立的(其中系统模式和用户模式使用相同的SP)。因此,需要对每一种模式的SP进行初始化。

采用的方法是:改变当前程序状态寄存器(CPSR)内的状态位,使处理器切换到不同的状态,然后初始化SP。但是对用户模式下SP的初始化应该放在最后,因为ARM微处理器进入用户模式之后就无法再切换到其他模式。

设置堆栈应该注意的问题是:堆栈的大小根据需要确定,要尽可能给堆栈分配高速存储器(例如片内的SRAM)。堆栈性能的提高对提高系统整体性能的影响非常显著。

初始化堆栈的代码如下:

MRSR0,CPSR

BICR0,R0,#MODEMASK

ORRR1,R0,#IRQMODE

MSRCPSR_c,R1

LDRSP,=IRQStack

BICR0,R0,#MODEMASK

ORRR1,R0,#FIQMODE

MSRCPSR_c,R1

LDRSP,=FIQStack

.........

这里需要提醒大家注意的是,在进行ARM嵌入式初始化的过程中,ARM堆栈的大小要根据需要进行确定,并且要尽量为堆栈分配高速存储器,这样能够有效的提高软件系统的性能。希望大家在阅读过本文之后能够有所收获。

标签: ARM堆栈 ARM

声明:本内容为作者独立观点,不代表电源网。本网站原创内容,如需转载,请注明出处;本网站转载的内容(文章、图片、视频)等资料版权归原作者所有。如我们采用了您不宜公开的文章或图片,未能及时和您确认,避免给双方造成不必要的经济损失,请电邮联系我们,以便迅速采取适当处理措施;欢迎投稿,邮箱∶editor@netbroad.com。

相关阅读

微信关注
技术专题 更多>>
研发工程师的工具箱
智慧生活 创新未来

头条推荐

电子行业原创技术内容推荐
客服热线
服务时间:周一至周五9:00-18:00
微信关注
获取一手干货分享
免费技术研讨会
editor@netbroad.com
400-003-2006