ImageVerifierCode 换一换
格式:DOC , 页数:8 ,大小:523.15KB ,
资源ID:8595803      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-8595803.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(嵌入式系统原理复习题.doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

嵌入式系统原理复习题.doc

1、复习提纲一、嵌入式系统及 ARM(Advanced RISC machines)处理器概述1. 嵌入式系统的概念(IEEE 定义和国内普遍认同的定义)根据 IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”;嵌入式系统是以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。2. 嵌入式系统的组成(硬件组成和软件组成)硬件+软件硬件:由嵌入式微处理器、外围硬件设备组成软件:包括底层系统软件和用户应用软件 应 用 软 件 嵌 入 式 操 作 系 统 硬 件 设 备 嵌 入 式 处

2、 理 器 外 围 设 备 二、CM4 体系结构1. CM4 内核三级流水线的三个阶段,如假设某嵌入式处理器有 3 级流水线,每级流水线所耗时间均为为 2ms,则执行 25 条指令需要耗费时间?三级流水线,分别是取指、译码和执行;为了兼容 Thumb 代码,读取 PC 会返回当前指令地址+4。偏移量总是 4, 不管是执行 16 位指令还是 32 位指令, 这保证了 Thumb 和 Thumb-2 指 令之间的一致性。ARM 的完整拼写形式为 Acorn RISC Machine ,CM4 处理器内部正在执行的指令的地址为 0x08000100,此时读取 PC 的值,该值为 0x08000104

3、。2. CM4 内核读取指令及访问数据的三套总线、CM4 内核的两种运行模式、两种权限级别,上电复位后是什么模式什么级别三套总线:I-code 总线 D-code 总线 系统总线CM4 处理器有两种模式:线程模式、handler 模式,还支持两种操作级别:特权级、非特权级(用户级)。复位后是特权级下的线程模式 3. CM4 内核的寄存器组中,各个寄存器的作用及各个寄存器的访问权限级别、CM4 的复位序列R0-R7 低组通用寄存器;R8-R12 高组通用寄存器;R13 堆栈寄存器;(MSP,PSP)R14 连接寄存器; R15 程序计数寄存器;xPSR 程序状态寄存器;程序状态寄存器(xPSR)

4、程序状态寄存器在其内部又被分为三个子状态寄存器:应用程序状态寄存器( APSR)中断状态寄存器( IPSR)执行状态寄存器( EPSR)通过 MRS/MSR 指令,这 3 个 PSRs 即可以单独访问,也可以组合访问( 2 个组合, 3 个组合都可以)。当使用三合一的方式访问时,应使用名字“ xPSR”或者“ PSR”。三、 CM4 程序设计Cortex-M4 内核在执行指令时,只有一种状态,那就是 Thumb 状态。1. CM4 寻址方式、常用指令: MOV AND ORR(有 1 为 1,为 0 为 0) BIC( 清 0) EOR(异或,相异出 1) SUB ADD TST TEQ CM

5、P LDR(加载) STR(存储) LDRB(8 位无符号字加载) STRB(8 位无符号字存储) LDM(多寄存器加载) STM(多寄存器存储 ) B(无条件跳转) BL BX BLX MRS(读取特殊寄存器的值到通用寄存器 ) MSR(将通用寄存器的值写到特殊寄存器 )伪指令:LDR2. 指令的条件码如:NE(不等于) EQ(等于) LT(小于) GT(大于)等,后缀“S ”“!”,什么样的指令会影响 APSR 寄存器的标志位“S”后缀:指令中使用 “S”后缀,指令执行后状态寄存器的条件标志 位将被刷新;不使用“S”后缀时,指令执行后状态寄存器的条件标志位不会发生变化。如果指令地址表达式中

6、不含“!”后缀,则基址寄存器中的地址不会发生变化,指令中含有则变化N E C V S3. 伪操作:伪操作主要有符号定义伪操作、数据定义伪操作、汇编控制伪操作及其杂项伪操作等DCB(字节)、 DCD(字 )、AREA(用于定义一个代码段或数据段)、END( 用于指示源程序结束)、EQU(用于定义字符名称)、IMPORT(IMPORT 用于通知编译器当前符号不在本文件中 )、EXPORT(EXPORT (或 GLOBAL)用于声明符号可以被其他文件引用。)4. ATPCS 规则中寄存器的使用、参数传递、子程序返回的规则子程序间通过寄存器 R0、R1、R2、 R3 来传递参数。如果参数多于 4个,则

7、多出的部分用数据栈传递。被调用的子程序在返回前无需恢复寄存器 R0-R3 的内容。在子程序中,使用寄存器 R4-R11 来保存局部变量如果在子程序中使用到了寄存器 R4-R11 中的某些寄存器,子程序进入时必须保存这些寄存器的值,在返回前必须恢复这些寄存器的值;对于子程序中没有用到的寄存器则不必进行这些操作。在 Thumb 程序中,通常只能使用寄存器 R4-R7 来保存局部变量。寄存器 R13 用作数据栈指针,记作 sp。在子程序中寄存器 R13 不能用作其他用途。寄存器 sp 在进入子程序时的值和退出子程序时的值必须相 等。连接寄存器 R14(lr )。它用于保存子程序的返回地址。如果在子程

8、序中 保存了返回地址,寄存器 R14 则可以用作其他用途。寄存器 R15 是程序计数器,记作 pc。它不能用作其他用途 。ATPCS 规定堆栈为 FD 类型,即满递减堆栈。并且堆栈的操作是 8 字节 对齐。t子程序结果返回规则1.结果为一个 32 位的整数时,可以通过寄存器 R0 返回。2.结果为一个 64 位整数时,可以通过 R0 和 R1 返回,依此类推。3.结果为一个浮点数时,可以通过浮点运算部件的寄存器 f0,d0 或者 s0 来返回。4.结果为一个复合的浮点数时,可以通过寄存器 f0-fN 或者 d0-dN 来返回。5.对于位数更多的结果,需要通过调用内存来传递.5. C 程序如何调

9、用汇编程序,汇编程序如何调用 C 程序在汇编程序中使用 EXPORT 伪指令声明本子程序,使其它程序可以调用此子程序。在 C 语言程序中使用 extern 关键字声明外部函数(声明要 调用的汇编子程序),即可调用此汇编子程序。在汇编程序中使用 IMPORT 伪指令声明将要调用的 C 程序函数.在调用 C 程序时,要正确设置入口参数,然后使用 BL 调用.四、STM32F439 GPIO1. 重点掌握 GPIO 相关寄存器的定义方法及各个寄存器的主要功能2. 能够编程操控某一组 GPIO #define GPIOF_MODER (*(volatile unsigned int *)0x40021

10、400)#define GPIOF_OTYPER (*(volatile unsigned int *)0x40021404)#define GPIOF_OSPEEDR (*(volatile unsigned int *)0x40021408)#define GPIOF_PUPDR (*(volatile unsigned int *)0x4002140C)#define GPIOF_ODR (*(volatile unsigned int *)0x40021414)#define RCC_AHB1ENR (*(volatile unsigned int *)0x40023830)void

11、Delay(unsigned int nCount)for(; nCount != 0; nCount-);void Port_init(void)RCC_AHB1ENR |= 0x20;GPIOF_MODER &= (0xff=CCR1 时输出 1。那么就可以得到如上的 PWM 示意图:当 CNT 值小于 CCR1 的时候, IO 输出低电平(0),当 CNT 值大于等于 CCR1 的时候,IO 输出高电平(1) ,当 CNT 达到 ARR 值的时候,重新归零,然后重新向上计数,依次循环。改变 CCR1 的值,就可以改变 PWM 输出的占空比,改变 ARR 的值,就可以改变 PWM 输出的频率。九、CM4 地址空间划分1. CM4 内核访问的地址空间有多大?划分成了哪 8 个部分?4GB 的地址空间被分为 8 个相等的部分,每个部分 0.5GB,分别是 Code、SRAM、Peripheral 、 2 个 RAM 区、2 个 Device 区、System。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报