- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式系统的原理复习题
复习提纲
一、嵌入式系统及ARM(Advanced RISC machines)处理器概述
嵌入式系统的概念(IEEE定义和国内普遍认同的定义)
根据IEEE(国际电气和电子工程师协会)的定义:
嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”;
嵌入式系统是以应用为中心,以计算机技术为基础,软、硬件可裁剪,
适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用
计算机系统。
嵌入式系统的组成(硬件组成和软件组成)
硬件+软件
硬件:由嵌入式微处理器、外围硬件设备组成
软件:包括底层系统软件和用户应用软件
二、CM4体系结构
CM4内核三级流水线的三个阶段,如假设某嵌入式处理器有3级流水线,每级流水线所耗时间均为为2ms,则执行25条指令需要耗费时间?
三级流水线,分别是取指、译码和执行;
为了兼容Thumb代码,读取PC会返回当前指令地址+4。偏移量总是4, 不管是执行16位指令还是32位指令, 这保证了Thumb和Thumb-2指 令之间的一致性。
ARM的完整拼写形式为 Acorn RISC Machine ,CM4处理器内部正在执行的指令的地址为0此时读取PC的值,该值为 0 。
CM4内核读取指令及访问数据的三套总线、CM4内核的两种运行模式、两种权限级别,上电复位后是什么模式什么级别
三套总线:I-code总线 D-code总线 系统总线
CM4处理器有两种模式:线程模式、handler模式,还支持两种操作级 别:特权级、非特权级(用户级)。
复位后是特权级下的线程模式
CM4内核的寄存器组中,各个寄存器的作用及各个寄存器的访问权限级别、CM4的复位序列
R0-R7 低组通用寄存器;R8-R12高组通用寄存器;R13堆栈寄存器;(MSP,PSP)R14连接寄存器;R15程序计数寄存器;xPSR程序状态寄存器;
程序状态寄存器(xPSR)
程序状态寄存器在其内部又被分为三个子状态寄存器:
应用程序状态寄存器( APSR)
中断状态寄存器( IPSR)
执行状态寄存器( EPSR)
通过 MRS/MSR 指令,这 3 个 PSRs 即可以单独访问,也可以组合访问( 2 个组合, 3 个组合都可以)。当使用三合一的方式访问时,应使用名字“ xPSR”或者“ PSR”。
CM4程序设计
Cortex-M4内核在执行指令时,只有一种状态,那就是Thumb状态。
CM4寻址方式、常用指令: MOV AND
ORR(有1为1,为0为0)
BIC(清0)
EOR(异或,相异出1) SUB ADD TST TEQ CMP
LDR(加载)
STR(存储)
LDRB(8位无符号字加载)
STRB(8位无符号字存储)
LDM(多寄存器加载)
STM(多寄存器存储)
B(无条件跳转) BL BX BLX
MRS(读取特殊寄存器的值到通用寄存器)
MSR(将通用寄存器的值写到特殊寄存器)
伪指令:LDR
指令的条件码如:NE(不等于) EQ(等于) LT(小于) GT(大于)等,后缀“S”“!”,什么样的指令会影响APSR寄存器的标志位
“S”后缀:指令中使用“S”后缀,指令执行后状态寄存器的条件标志 位将被刷新;不使用“S”后缀时,指令执行后状态寄存器的条件标志 位不会发生变化。
如果指令地址表达式中不含“!”后缀,则基址寄存器中的地址不会发 生变化,指令中含有则变化
N E C V S
伪操作:伪操作主要有符号定义伪操作、数据定义伪操作、汇编控制伪操作及其杂项伪操作等
DCB(字节)、DCD(字)、AREA(用于定义一个代码段或数据段)、END(用于指示源程序结束)、EQU(用于定义字符名称)、IMPORT(IMPORT用于通知编译器当前符号不在本文件中)、EXPORT(EXPORT(或GLOBAL)用于声明符号可以被其他文件引用。)
ATPCS规则中寄存器的使用、参数传递、子程序返回的规则
子程序间通过寄存器R0、R1、R2、 R3来传递参数。如果参数多于4 个,则多出的部分用数据栈传递。被调用的子程序在返回前无需恢复寄 存器R0-R3的内容。
在子程序中,使用寄存器R4-R11来保存局部变量.如果在子程序中使 用到了寄存器R4-R11中的某些寄存器,子程序进入时必须保存这些寄 存器的值,在返回前必须恢复这些寄存器的值;对于子程序中没有用到 的寄存器则不必进行这些操作。在Thumb程序中,通常只能使用寄存 器R4-R7来保存局部变量。
寄存器R13用作数据栈指针,记作sp。在子程序中寄存器R13不能用 作其他用途。寄存器sp在进入子程序时的值和退出子程序时的值必须相 等。
连接寄存器R14(lr)。它用于保存子程序的返回地
文档评论(0)