您的位置 首页 应用

TQ2440国嵌学院gboot-设定CPU为svc形式

通过之前学习设定ARM的中断向量表,完成基本框架的设计,下面开始设定CPU到SVC模式(这里是指32位模式)。同样是在ARMArchitectureRefere

经过之前学习设定ARM的中止向量表,完结根本结构的规划,下面开端设定CPU到SVC形式(这里是指32位形式)。

相同是在ARM Architecture Reference Manual手册中,Exceptions的子目录下,找到对应的Reset形式:

要害部分我已标示赤色,能够看到CPSR[4:0]=0b10011 ,经过补白咱们能够知道经过设定CPSR寄存器的0-4位能够设定CPU进如SVC形式。CPSR寄存器的第6、7位是封闭快速中止和中止,在bootloader启动时相同封闭。也便是CPSR[0:7]=0b11010011=0xd3。代码如下:

reset:
bl set_svc//在reset下增加跳转指令bl,运用bl能够保存当时的地址到R14寄存器中,以便履行完子程序后回来

set_svc://这里是32位处理器,因而指令如下
mrs r0, cpsr//将cpsr寄存器装载到r0寄存器
bic r0, r0, #0x1f//bic完结位铲除,将r0的后5方位0
orr r0, r0, #0xd3//将r0与0xd3(0b1101 0011)
msr cpsr, r0//从头将r0装载到cpsr中
mov pc, lr//回来到程序中

学习总结:

经过查询材料能够得到上面的一些信息,能够阐明查询手册是十分重要,经过阅览手册中的一些注释得到想要的信息,其次把握好指令的用法,对每一条指令都能把握意义。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/258513.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部