完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1 寄存器组 在Keil调试界面也可以看到: 1.1 R0~R12 R0~R12为通用目的寄存器,其中:R0-R7为低组寄存器,字长32位,由于指令中可用的空间有限,绝大多数16位指令只能访问低组寄存器;R8-R12为高组寄存器,字长32位,只有很少的16位Thumb指令可以访问它们。 注意:32位Thumb-2指令可用访问所有通用寄存器,R0~R12复位后的初始值未知。 1.2 堆栈指针R13(SP, Stack Pointer) CM3/4处理器内核中有两个堆栈指针: 主堆栈指针MSP(SP_main):缺省的堆栈指针,它由OS内核、异常服务例程以及所有需要特权访问的应用程序代码来使用,MSP的初始值在复位时从SRAM中的第一个字中取出(向下生长的满栈)。 进程栈指针PSP(SP_process):用于常规的应用程序代码(不处于异常服用例程中时),PSP初始值未定义。 裸机一般只用MSP,用到OS时才会使用PSP。 当引用R13时,引用到的是当前正在使用的那一个,另一个必须用MRS/MSR指令来访问。 堆栈指针的选择由特殊寄存器CONTROL(后面会说到)决定。 堆栈指针访问堆栈时的操作: 堆栈由一块连续的内存和一个栈顶指针组成,用于实现LIFO的缓冲区。典型应用:在数据处理前先保存寄存器的值,任务处理完后再从堆栈中恢复先前保护的值。 OS中上下文切换时的保护现场与恢复现场,就是用堆栈来保存和恢复数据的。 |
|
|
|
飞凌嵌入式ElfBoard ELF 1板卡-CAN编程示例之开发板测试
498 浏览 0 评论
该问题是用APP给芯海科技的CST92F25芯片发指令是出现的
2117 浏览 1 评论
711 浏览 0 评论
1453 浏览 1 评论
2195 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 14:23 , Processed in 0.628648 second(s), Total 67, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号