- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实用标准文案
嵌入式系统 复习笔记
增哥
注意点:本复习指导基本已包括所有的程序设计以及分析题,每个考点后面均有例题,例题前的所有知识
点我已经把他写的尽量通俗易懂,把程序分析的方法也写明,希望大家用几个小时时间来看看,通过考试
绝对没有问题! PS :本材料后面所写的参考页码均是以新版书为标准, 用旧版书的同学麻烦自己写
上旧版书的页码,知识点都是一样的! !!本人能力有限,如有错误,请见谅! !
1 、状态寄存器 CPSR 各 bit 的意义:
标志位 状态位 扩展位 控制位
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
N Z C V Q Res J Res GE[3:0] Res E A I F T mode
各位同学只需了解控制位 bit0~bit7
Mode[4:0] 是见表 1 P29
Mode[4: 10000 10001 10010 10011 10111 11011 11111
0]
模式 用户 FIQ 中断 IRQ 中断 管理 中止 未定义 系统
T:为状态: 0 表示 ARM 状态, 1 表示 Thumb 状态
I、F 表示 IRQ 中断 FIQ 中断的使能。 1 时中断禁止, 0 时中断使能(允许该中断) 。
2 、三个特殊用途寄存器 SP(R13) LR(R14) PC(R15)
R13 (SP):堆栈指针,保存当前处理器模式的堆栈栈顶。
R14 (LR):链接 R,保存子程序(含发生异常)的返回地址。
R15 (PC):程序计数器,保存下一条指令的地址。
精彩文档
实用标准文案
注意点: PC 指针永远指向取值(什么意思?见第 3 点流水线)
3 、ARM7 的流水线
采用三级流水线,即 取指→译码→执行
例:假设一共有三条指令:
0x4000 ADD PC,PC,#4 ;其中第二个 PC 指针的值为 0x4008 ,将第二个
PC+4=0x400C 赋给第一个 PC 指针 (回答上述PC
指针永远指向取值的问题)
0x4004 SUB
0x4008 CMP
那么 CPU 实际执行为:
周期 取指 译码 执行
T1 ADD
T2 SUB ADD
T3 CMP SUB ADD
解释:当第一 CPU 周期 T1 时先取址, 取第一个指令的地址 。
当第二 CPU 周期 T2 时取第二个指令的地址 ,然后译码, 译的是第一个指令的码
当第三 CPU 周期 T3 时取第三个指令的地址 ,译第二个指令的码 , 执行第一个指令
所以: PC 值= 当前程序执行位置 +8 字节 (如果 CPSR 中的 T 位为 0 ,则 +8 ;如果 T 位为 1 ,则 +4 )
4 、PLL 频率的计算( P133
文档评论(0)