02-第二章 Cortex-M3处理器编程模型.ppt
《02-第二章 Cortex-M3处理器编程模型.ppt》由会员分享,可在线阅读,更多相关《02-第二章 Cortex-M3处理器编程模型.ppt(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章 Cortex-M3 处理器编程模型处理器编程模型l2.1 处理器工作模式及状态l2.2 寄存器l2.3 数据类型与存储器格式l2.4 指令集l2.5 系统控制寄存器2.1 处理器工作模式及状态处理器工作模式及状态lCortex-M3处理器有 Thread 和 Handler 两种工作模式:l在重启时,处理器进入 Thread 模式,在从异常返回时也可进入 Thread 模式。Thread模式下代码可以特权方式和用户形式运行。l当系统产生异常时,处理器进入 Handler 模式。在 Handler 模式下所有代码必须都是特权代码。2.1 处理器工作模式及状态处理器工作模式及状态lC
2、ortex-M3 处理器可以在 Thumb 和 Debug 两种操作状态下工作:lThumb 状态,此状态是正常执行 16 位和 32 位半字对齐的 Thumb 和 Thumb-2 指令时所处的状态。lDebug(调试)状态,是在调试时的状态。2.1.1 特权访问和用户访问特权访问和用户访问l代码可以特权和非特权方式执行 l当系统发生异常,处理器进入Handler 模式时,代码往往是特权方式的;l而当处理器在 Thread 模式下时,则代码可以是特权的也可以是非特权的。2.1.1 特权访问和用户访问特权访问和用户访问l当处理器复位进入 Thread 模式后,代码均为特权的。l当处理器在 Thr
3、ead 模式下时,可以从特权方式切换到用户方式,但不能从用户方式返回到 特权方式。l在 Thread 模式下只有进行异常处理时,处理器进入 Handler 模式,才能由用户方式切换到特权方式。2.1.2 main 栈和栈和process 栈栈l cortex-M3 处理器可以使用两个堆栈:主(main)栈和进程(process)栈。在系统复位之后,所有代码都使用 main 栈。l栈指针寄存器 r13 为分组(Banked)寄存器,用于在 SP_main 和 SP_process 之间切换,任何时候仅有一个栈可见。2.1.2 main 栈和栈和process 栈栈l有些异常处理如SVC,可以通过
4、在其返回时修改EXC_RETURN值,将Thread 模式下其所使用的栈从 main 栈切换到 process 栈。而其它异常则继续使用 main栈。l还可以通过使用指令MSR写CONTROL1位来从 main 栈切换到 process 栈。2.2 寄存器寄存器Cortex-M3 处理器有 20 个 32 位寄存器:l13 个通用寄存器,r0-r12;l分组栈指针寄存器,r13;l链接寄存器,r14;l程序计数器,r15;l程序状态寄存器,xPSR。2.2 寄存器寄存器2.2.1 通用寄存器通用寄存器l寄存器 r0-r7 为低寄存器,可被所有指令访问l寄存器 r8-r12 为高寄存器,可以被所
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 02-第二章 Cortex-M3处理器编程模型 02 第二 Cortex M3 处理器 编程 模型
限制150内