【12575嵌入式系统】嵌入式系统考前复习题终结版期末复习自考复习

一、  填空题

1. 嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系

                               系统。

2.    2                     VxWorks             

uC/OS-||           

3. ARMv7M  采用的异常模型理论上预定义了 256  个异常类型,其中包括   11  

系统异常类型和   4+1   个档位,然而实际上Cortex M3只存在    7    个系统 异常类型

4. Boot loade主r要功能是:  系统初始化     加载和运行内核程序 

5. RAM  存储器有两种,分别是:    SRAM          DRAM       ; 现在市场上两种主要的非易失闪存技术也有两类,分别是:   Nor    Flash   Nand     Flash

6. Cortex M3有两种工作模式:     handler模式和  线程   模式。

7. Cortex M3支持的指令集为    Thumb-2          指令集的子集。

8.  CM3 控制内核中 R13 对应的有两个堆栈指针,分别是   主堆栈指针(MSP 

   进程堆栈指针(PSP )    指针。

9. C 编译器    没有    (选填“有”或“没有”)直接支持 Cortex M3的位带区操作。

10. 较为普遍的一种 Cortex的编程开发调试环境为ARM  公司的 RealView MDK 

11. 嵌入式系统主要由 嵌入式处理器  相关支撑硬件  嵌入式软件系统 构成。

12. I/O接口电路数据传送方式有: 查询 、 中断 、DMA  、I/O通道和 I/O处理机方式。

13. ARM  体系结构所支持的最大寻址空间为 4GB 

14.Cortex M3采用的两种提升中断响应速度的措施为 尾链(Tail chaini)ng和 迟到处

理(Late Arrivi)ng 

15.Cortex M3的 PSR  3 个子状态寄存器 APSR    IPSR  EPSR 组成。

16. 指令 LDR.W R0 ,[R1,#20!]为带  预  索引的指令,而STR.W R0,[R1],#-20则为

   后     索引的指令。

17. 访问特殊功能寄存器指令MSR  MRS 必须在  特权级    下使用。

18. CM3  4GB 寻址空间中的代码区和片上外设区各有 1  MB  的位带区,并且可映

射至  32  MB  的位带别名映射区。

19. 操作系统的内核负责管理各个任务,或者为每个任务分配 CPU 时间,并且负责任

务之间的 通信 ,内核的基本服务是 任务调度(或进程调度)  。

20.  Cortex M3中打开或关闭中断除了可以通过MSR 指令写   PRIMASK  外,还可

使用   CPS  指令快速完成。

二、  选择题

1. 嵌入式系统应用软件一般在宿主机上开发,在目标机上运行,因此需要一个(  B   ) 环境。

A .交互操作系统   B .交叉编译     C .交互平台      D .分布式计算

2. RS232-C 串口通信中,表示逻辑 1 的电平是(  D  )。

A 、0v       B 、3.3v    C、+5v~+15v          D 、-5v~-15v

3.  R1=2000H , (2000H)=0x86, (2008H)=0x39,则执行指令 LDR  R0  [R1,#8]!

 R0 的值为(   D  )。

A. 0x2000   B. 0x86     C. 0x2008       D. 0x39

4. 假设R1=0x31 ,R2=0x2  则执行指令ADD R0,R1,R2 LSL #3 后,R0 的值是(  C    )

A. 0x33     B. 0x34     C. 0x39         D. 0x38

5. Cache 用于存放主存数据的部分拷贝,主存单元地址与 Cache 单元地址之间的转换 用( A   )完成。

A .硬件      B. 软件      C. 用户      D. 程序员

6. 下面哪个系统不属于嵌入式系统。(  A   

A 、“天河一号”计算机系统         B 、车载多媒体终端

C iPad平板电脑                  D iPhone手机

7. 以下关于 Cortex M系列处理器指令系统的描述正确的一项是(  D   )

A 、支持 ARM  和 thumb 指令集      B 、仅支持 thumb 指令集

C 、支持 ARM  和 thumb-2指令集     D 、仅支持 thumb-2指令集

8. 关于 Cortex M3处理器,以下描述不正确的一项为(  C  )

A 、一定有 NVIC           B 、比 ARM7  具有更高的代码密度

C 、一定有 MPU            D 、支持 4G 的存储空间

9. Cortex M3处理器具有(   B  )个堆栈指针

A  1             B  2           C  3           D 、4

10.Cortx M3处理器中堆栈的内存实现方法为(  D   A 、向上增长的空栈        B 、向上增长的满栈   C 、向下增长的空栈        D 、向下增长的满栈

11.Cortex M3 支持(   B   )种操作模式

A  1             B  2           C  5           D  7

12.Cortex M3 采用(   A  )级流水线结构

A 、3            B 、4           C  5           D  7

13.Cortex M3 中所有数据操作指令都能访问的通用寄存器为( A  ) A 、R0~R7        B 、R8~R12       C 、R0~R12      D 、R0~R15

14.Cortex M3指令集中专用于访问特殊寄存器的指令为(   D   ) A 、MOV          B 、LDR         C 、STR         D 、MSR

10. 以下关于 uC/OS-II描述正确的一项为(   C    A 、是一种单任务实时操作系统

B 、是一种协作式多任务实时操作系统 C 、是一种抢占式多任务实时操作系统

D 、是一种时间片轮转式多任务实时操作系统

三、  简答题(每小题 6 分,共 30 分)

1. 什么是小端和大端存储器组织?

答:1)小端存储器组织是较高的有效字节存放在较高的存储器地址,较低的有效  字节存放在较低的存储器地址(同同小)。 2) 大端存储器组织是较高的有效字节 存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址(正反大)。 请简述嵌入式系统开发的基本流程。

2. 请简述嵌入式系统开发的基本流程。 答:1)系统定义与需求分析;

2)系统设计方案的初步确立;

3)初步设计方案性价比评估与方案评审论证;

4)完善初步方案、初步方案实施;

5)软硬件集成测试;

6)系统功能性能测试及可靠性测试。

3. 寄存器 CPSR ,SPSR 的功能各是什么?

答:1)CPSR 包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控 制信息。所有处理器模式下都可以访问当前的程序状态寄存器CPSR 。

在每种异常模式下都有一个对应的物理寄存器——程序状态保存寄存器SPSR 。当异常 出现时,SPSR 用于保存 CPSR 的状态,以便异常返回后恢复异常发生时的工作状态。

4. 指令 ADR ,ADRL 、LDR 、NOP 是如何处理地址值读入到寄存器中的?

答:ADR  是将基于 PC 或者寄存器的地址值读入到寄存器的,ADR 伪指令通常被 替换成一条 ADD 指令或 SUB 指令来实现该 ADR 指令的功能。而 ADRL  伪指令  ADR 指令的最大不同之处是,它可以读取更大范围内的地址,而且被编译器替换  2 条数据处理指令。LDR 将一个 32 位的立即数或者一个地址值读取到寄存器 中。大范围的地址读取。NOP 在汇编时将被替换成 ARM  中的空操作。

5. 什么是 CMSIS ?CMSIS 4.0 包含哪些组件?

答:CMSIS  Cortex微控制器软件接口标准的英文简称,是 ARM  公司推出的 跨所有 Cortex-M 芯片供应商产品将软件接口标准化,以实现与处理器和外设之 间的一致且简单的软件接口,从而简化软件的重用,缩短微控制器开发人员新手 的学习过程。

CMSIS 4.0 主要包括以下组件

(1)CMSIS-CORE:Cortex-M  处理器内核和外设的应用程序接口(API

(2)CMSIS-Driver:定义通用外设驱动接口及保证驱动可重用的中间件

(3)CMSIS-RTOS API: 通用实时操作系统的 API.

(4)CMSIS-Pack: 基于 XML  的软件描述包(PDSC) 

(5)CMSIS-SVD:  外设的系统描述视图.

(6)CMSIS-DAP:  调试访问接口.

6. Cortex M3的存储器有哪些访问属性?

答: Cortex M3 的存储器规定了 4 种属性:(1)可否缓冲、(2)可否缓存、(3) 可否执行、(4)可否共享

7. 寄存器 R13 ,R14 ,R15 的专用功能各是什么?

答:1)寄存器 R13 保存堆栈指针 SP;2)寄存 R14 用作子程序链接寄存器, 也称为 LR ,用以保存返回地址; 3)R15(PC )用作程序计数器。

8. 简述嵌入式操作系统与通用操作系统的区别。

答:通用操作系统是一种通用的操作系统,可运行在不同的硬件平台。而嵌入式 操作系统与一般的通用操作系统不同,其是一种专用、可定制的特点。

9. 简述看门狗定时器的作用及必要性。

答:当系统程序出现功能错乱,引起系统程序死循环时,能中断该系统程序的不 正常运行,恢复系统程序的正常运行。嵌入式系统由于运行环境的复杂,及所处 环境有较强的干扰信号,或系统程序本身的不完善,不能排除系统程序不会出现死循环现象。在系统中加入看门狗部件,当系统程序出现死循环时,看门狗定时

器产生一个具有一定时间宽度的复位信号,迫使系统复位,恢复系统正常运行。 10.A RM 常见的寻址方式有哪些?

答:寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地址的方式。 ARM  处理器具有 9 种基本寻址方式。

1.立即寻址;               4.寄存器间接寻址;          7.堆栈寻址

2.寄存器寻址;         5.变址寻址;                8.块拷贝寻址

3.寄存器移位寻址;    6.多寄存器寻址;            9.相对寻址

四、  程序题(共 30 分)

1. 请给下列程序加上注释

(1)CMP     R0 ,#NUM              ; R0 与立即数 NUM  比较,影响条件码标记  

(2)MOVHS    PC ,LR              ; 若 R0>=NUM,  就将 LR(R14)的值赋给 PC(R15)

(3)ADR     R3 ,JTable                 JTable的地址传给 R3              

(4)LDR     PC ,[R3,R0,LSL #2]      R3+(R0*4)的值传给 PC(R15),R3=R0<<2  

(5)BL     Func                  ;        转移并调用子程序 Func           

2. 写出完成下列操作的汇编指令

(1)R0=16    MOV R0,#16;

(2)R1=R0*4  MUL R1,R0,#4;

(3)R0=R1/16  MOV R0,R1,LSL#4;  

(4)R1=R2*7   MUL R1,R2 ,#7;

AREA COPYBS,CODE,READONL     Y   定义一个代码段                    

ENTRY                            程序入口                          

LDR RO,=SRC

LDR R1,=DST

MOV R2,#20

; 取得原数据表的表头                  

; 取得目标数据表的表头                  

; R4 作为循环控制                      

BCOPY

MOVS R3,R2,LSR,#3

BEQ CWORD

; R3=R2 <<3 逻辑右移 3 位              

;  Z=1,跳转到 CWORD                  

OCOPY

LDMIA R0!,{R4-R11}

;  加载R0 指向的地址上的多字数据,保存到R4~R11

中,R0 值更新           STMIA R1!,{R4-R11}    ; R4-R11 的数据存储到 R1 指向的地

址上,R1 值更新          SUBS R3,R3,#1          ;R3=R3-1             

BNE OCOPY               Z=0,跳转到 OCOPY          

CWORD     AND R2,R2,#7          R2=R2&7  

BEQ STOP                Z=1 ,跳转到 STOP

WCOPY     LDR R3,{R0},#4         ;将R3 中的字数据读入以R0 为地址的存储器中,

并将新地址 R0+4 写入 R1           STR R3,{R1},#4         R3 中的字数据写入以

R1 为地址的存储器中,并将新地址R1+4 写入 R1

SUBS R2,R2,#1          R2=R2-1

BNE WCOPY              Z=0,跳转到 WCOPY   

STOP

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/831896.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《LTC与铁三角∶从线索到回款-人民邮电》关于铁三角不错的论述

《LTC与铁三角∶从线索到回款-人民邮电》一书中&#xff0c;关于铁三角不错的论述&#xff0c;收藏之&#xff1a;客户责任人的角色定义及核心价值 AR 的核心价值定位主要体现在三个方面&#xff1a;客户关系、 客户满意度、竞争对手 “ 压制 ” 。 维护客户关系&#x…

百川2模型解读

简介 Baichuan 2是多语言大模型&#xff0c;目前开源了70亿和130亿参数规模的模型。在公开基准如MMLU、CMMLU、GSM8K和HumanEval上的评测&#xff0c;Baichuan 2达到或超过了其他同类开源模型&#xff0c;并在医学和法律等垂直领域表现优异。此外&#xff0c;官方还发布所有预…

[数据结构]————排序总结——插入排序(直接排序和希尔排序)—选择排序(选择排序和堆排序)-交换排序(冒泡排序和快速排序)—归并排序(归并排序)

文章涉及具体代码gitee&#xff1a; 登录 - Gitee.com 目录 1.插入排序 1.直接插入排序 总结 2.希尔排序 总结 2.选择排序 1.选择排序 ​编辑 总结 2.堆排序 总结 3.交换排序 1.冒泡排序 总结 2.快速排序 总结 4.归并排序 总结 5.总的分析总结 1.插入排…

Unity---版本控制软件

13.3 版本控制——Git-1_哔哩哔哩_bilibili Git用的比较多 Git 常用Linux命令 pwd&#xff1a;显示当前所在路径 ls&#xff1a;显示当前路径下的所有文件 tab键自动补全 cd&#xff1a;切换路径 mkdir&#xff1a;在当前路径下创建一个文件夹 clear&#xff1a;清屏 vim…

Linux的socket详解

一、本机直接的进程通信方式 管道&#xff08;Pipes&#xff09;&#xff1a; 匿名管道&#xff08;Anonymous pipes&#xff09;&#xff1a;通常用于父子进程间的通信&#xff0c;它是单向的。命名管道&#xff08;Named pipes&#xff0c;也称FIFO&#xff09;&#xff1a;允…

微星主板安装双系统不能进入Ubuntu的解决办法

在微星主板的台式机上面依次安装了Windows11和Ubuntu22.04。在Ubuntu安装完成后重启&#xff0c;没有出现系统选择界面&#xff0c;直接进入了Windows11。怎么解决&#xff1f;方法如下&#xff1a; &#xff08;1&#xff09;正常安装Windows11 &#xff08;2&#xff09;安…

《自动机理论、语言和计算导论》阅读笔记:p352-P401

《自动机理论、语言和计算导论》学习第 12 天&#xff0c;p352-P401总结&#xff0c;总计 50 页。 一、技术总结 1.Turing Machine ™ 2.undecidability ​ a.Ld(the diagonalization language) 3.reduction p392, In general, if we have an algorithm to convert insta…

Git系列:config 配置

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

Java中的枚举类型介绍

一、背景及定义 情景&#xff1a; 枚举是在JDK1.5以后引入的。 主要用途是&#xff1a; 将一组常量组织起来&#xff0c;在这之前表示一组常量通常使用定义常量的方式&#xff1a; 这种定义方式实际上并不好。 例如&#xff1a;如果碰巧有另一个变量也是1&#xff0c;那么…

笔记85:如何计算递归算法的“时间复杂度”和空间复杂度?

先上公式&#xff1a; 递归算法的时间复杂度 递归次数 x 每次递归消耗的时间颗粒数递归算法的空间复杂度 递归深度 x 每次递归消耗的内存空间大小 注意&#xff1a; 时间复杂度指的是在执行这一段程序的时候&#xff0c;所花费的全部的时间&#xff0c;即时间的总和而空间复…

以太网基础-IP、ICMP、ARP协议

一、IP协议 参考&#xff1a;rfc791.txt.pdf (rfc-editor.org) IP协议&#xff08;Internet Protocol&#xff09;是TCP/IP协议族中最核心的协议&#xff0c;提供不可靠的、无连接的、尽力而为的数据报传输服务。 IP报文数据头如下 Version&#xff1a;4bit&#xff0c;4表示…

网络模型与调试

网络模型 网络的体系结构 ● 网络采用分而治之的方法设计&#xff0c;将网络的功能划分为不同的模块&#xff0c;以分层的形式有机组合在一起。 ● 每层实现不同的功能&#xff0c;其内部实现方法对外部其他层次来说是透明的。每层向上层提供服务&#xff0c;同时使用下层提供…

Elasticsearch:如何使用 Java 对索引进行 ES|QL 的查询

在我之前的文章 “Elasticsearch&#xff1a;对 Java 对象的 ES|QL 查询”&#xff0c;我详细介绍了如何使用 Java 来对 ES|QL 进行查询。对于不是很熟悉 Elasticsearch 的开发者来说&#xff0c;那篇文章里的例子还是不能单独来进行运行。在今天的这篇文章中&#xff0c;我来详…

MySQL CRUD进阶

前言&#x1f440;~ 上一章我们介绍了CRUD的一些基础操作&#xff0c;关于如何在表里进行增加记录、查询记录、修改记录以及删除记录的一些基础操作&#xff0c;今天我们学习CRUD&#xff08;增删改查&#xff09;进阶操作 如果各位对文章的内容感兴趣的话&#xff0c;请点点小…

【网络编程下】五种网络IO模型

目录 前言 一.I/O基本概念 1.同步和异步 2.阻塞和非阻塞 二.五种网络I/O模型 1.阻塞I/O模型 2.非阻塞式I/O模型 ​编辑 3.多路复用 4.信号驱动式I/O模型 5. 异步I/O模型 三.五种I/O模型比较​编辑 六.I/O代码示例 1. 阻塞IO 2.非阻塞I/O 3.多路复用 (1)select …

Electron 对 SQLite 进行加密

上一篇讲了如何在 Electron使用 SQLite&#xff0c;如果 SQLite 中存有敏感数据&#xff0c;客户端采用明文存储风险很高&#xff0c;为了保护客户数据&#xff0c;就需要对数据进行加密&#xff0c;由于 electron 对代码并不加密&#xff0c;所以这里排除通过逆向工程进行数据…

想要快速接收的看过来:Cell旗下毕业神刊,中科院二区、平均审稿周期1个月,冲!

我是娜姐 迪娜学姐 &#xff0c;一个SCI医学期刊编辑&#xff0c;探索用AI工具提效论文写作和发表。 就是它了&#xff0c;Cell旗下全OA期刊iScience。影响因子5.8分&#xff0c;中科院二区&#xff0c;年发文量逐年上涨&#xff0c;2023年发文近3000篇&#xff0c;2024年第一季…

一周学会Django5 Python Web开发 - Django5 ModelForm表单定义与使用

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计51条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…

一种算法分类方式及其应用

在计算机科学领域&#xff0c;算法是解决问题的有效方法&#xff0c;而对算法进行分类有助于理解它们的特性、优劣以及在不同场景下的应用。常见的算法分类方法&#xff0c;包括按设计思想、问题类型、数据结构和应用领域等&#xff0c;每一类算法会对应有其典型和实际应用。 算…

spring boot3多模块项目工程搭建-上(团队开发模板)

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 目录 写在前面 多模块结构优缺点 模块介绍 Common 模块&#xff1a; API 模块&#xff1a; Web 模块&#xff1a; Service 模块&#xff1a; DAO 模块&#xff1a; 搭建步骤 1.创建 父…