习题答案.docx
- 文档编号:11738529
- 上传时间:2023-03-31
- 格式:DOCX
- 页数:144
- 大小:86.03KB
习题答案.docx
《习题答案.docx》由会员分享,可在线阅读,更多相关《习题答案.docx(144页珍藏版)》请在冰豆网上搜索。
习题答案
1.6习题
一、填空题
1.目前,嵌入式处理器种类繁多。
按照类型大致可以分为嵌入式微处理器EMPU、嵌入式微控制器MCU、嵌入式数字信号处理器EDSP和片上可编程系统SOPC。
2.BootLoader就是在操作系统内核运行前执行的一小段程序,用于引导加载程序以及系统内核。
3.BootLoader是依赖于硬件平台的,不同的嵌入式处理器和嵌入式系统需要不同的BootLoader来引导。
4.嵌入式系统主要由嵌入式处理器、相关外围硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的系统。
5.要想成为一个比较优秀的嵌入式开发人员,应该牢记“博、专、实践”的原则。
二、简答题
1.简述嵌入式系统的开发过程。
答:
嵌入式系统的开发过程主要包括6个方面:
芯片选择、配置硬件平台、Bootloader移植、操作系统裁减、操作系统移植和应用程序开发。
2.简述各类嵌入式处理器及其特点。
答:
嵌入式处理器,常用的主要包括如下几类:
嵌入式微处理器EMPU:
,嵌入式微处理器EMPU在使用时,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这样可以大幅度减小系统体积和功耗。
另外,为了满足嵌入式应用的特殊要求,在温度范围、抗电磁干扰、可靠性等方面一般都做了相应的增强。
嵌入式微控制器MCU:
嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A、FlashRAM、EEPROM等各种必要功能和外设。
嵌入式数字信号处理器EDSP:
典型的DSP处理器主要是对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。
在数字滤波、FFT、谱分析等方面DSP算法正在大量进入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器。
片上可编程系统SOPC:
片上可编程系统SOPC是一种新的软硬件协同设计的系统设计技术,其将处理器、RAM存储器、ROM存储器、总线、总线控制器、I/O接口、DSP、锁相环等集成到一片FPGA芯片中。
SOPC具有灵活的设计方式、可裁减、可扩充、可升级、并具备软硬件在系统可编程能力。
3.简述如何成为嵌入式开发人员。
答:
嵌入式开发人员提应该牢记“博、专、实践”的原则。
❑博:
要求设计者不但需要掌握嵌入式处理器的使用,还需要通晓各种外围电路的实现。
软件上还需要掌握Bootloader的移植、嵌入式操作系统的移植和裁减、驱动程序的开发以及应用程序的开发。
❑专:
一个优秀的嵌入式开发人员,不可能嵌入式开发过程中的每一个领域都精通。
但需要嵌入式开发人员对其中的某些方面具有很深的造诣,这样可以提高竞争力。
❑实践:
嵌入式开发人员应该多练习、多交流、多实践。
这样,一方面可以在实践中排查错误、完善系统的稳定性,另一方面也可以巩固所学的知识、不断深化技术造诣。
2.4习题
一、填空题
1.按照系统对相应时间的敏感程度,嵌入式操作系统可以分为三类,硬实时系统、软实时系统和非实时系统。
2.VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。
3.WindowsCE是微软旗下的一个32位嵌入式操作系统。
在WindowsCE中,C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)和伴侣(Companion),E代表电子产品(Electronics)。
目前最新的WindowsCE为WindowsCE6.0。
4.μC/OS-II是一种开源但不免费的实时操作系统,具有可剥夺实时内核。
5.PalmOS是3Corn公司的产品,其是一种32位的嵌入式操作系统。
PalmOS一套专门为掌上电脑开发的操作系统。
二、选择题
1.下面那个不是嵌入式操作系统的特点(B)。
A.高了系统的可靠性B.体积庞大
C.系统配置灵活D.充分发挥了32位CPU的多任务潜力
2.下面那个不是μC/OS-II嵌入式操作系统的特点(D)。
A.提供任务调度与管理B.占用空间小
C.执行效率高D.完全免费
3.下面那个不是WindowsCE嵌入式操作系统的特点(D)。
A.继承了传统Windows图形界面B.灵活的电源管理功能
C.优秀的线程响应能力D.极小的系统内核
4.下面那个不是嵌入式Linux操作系统的特点(D)。
A.源代码公开B.遵循GPL协议
C.高性能、可裁剪的内核D.具有Windows风格的图形界面
三、简答题
1.简述嵌入式操作系统与通用操作系统的区别。
答:
通用操作系统是一种通用的操作系统,可运行在不同的硬件平台。
而嵌入式操作系统与一般的Windows操作系统不同,其是一种专用、可定制的特点。
2.简述各个主流嵌入式操作系统的特点。
答:
由于内容很多,这里省略,读者可以直接参阅书中第2节的介绍。
3.7习题
一、填空题
1.RISC以CISC为基础,重点优化计算机结构,使其更加简单合理地提高运算速度。
2.Cortex-M3是一款低功耗处理器,具有门数码少,中断延时短,调试成本低的特点,是为要求有快速中断响应能力的深度嵌入式应用而设计的。
3.ARM7内核为低功耗的32位RISC处理器,其采用冯诺依曼体系结构,数据和指令使用同一条总线。
ARM7内核有一条3级流水线,执行ARMv4指令集,最适合用于对价位和功耗要求较高的消费类应用。
4.ARM10E内核为32位RISC处理器,具有高性能、低功耗的特点。
ARM10E采用了新的体系结构,与同等的ARM9器件相比较,在同样的时钟频率下,性能提高了近50%。
5.ARMCortex-M3内核主系统由四个驱动单元:
内核ICode总线(I-bus)、DCode总线(D-bus)、系统总线(S-bus)和GP-DMA(通用DMA)构成。
二、选择题
1.Cortex-M3采用(A)流水线结构。
A.3级B.4级
C.6级D.6级
2.Cortex-M3处理器采用(A)架构。
A.ARMv7-M架构B.ARMv4-M架构
C.ARMv6-M架构D.以上都不是
3.Cortex-M3的指令集包括(AB)。
(多选)
A.16位thumb指令集B.32位thumb-2指令集
C.ARM指令集D.以上都包括
4.Cortex-M3处理器支持以下哪些数据类型(ABCD)。
(多选)
A.32位字B.16位半字
C.8位字节D.64位双字
5.以下哪个表述不正确(D)。
A.ARM是一个公司的名称B.ARM是对一类微处理器的通称
C.ARM是一种技术的名字D.ARM是一款芯片的名称
三、简答题
1.简述ARM处理器系列及其特点。
答:
由于内容很多,这里省略,读者可以直接参阅书中第2节的介绍。
2.简述ARMCortex-M3的结构。
答:
ARMCortex-M3内核主系统由四个驱动单元:
内核ICode总线(I-bus)、DCode总线(D-bus)、系统总线(S-bus)和GP-DMA(通用DMA)构成。
❑ICode总线:
该总线将Cortex-M3内核的指令总线与Flash指令接口相连接。
指令预取在此总线上完成。
❑DCode总线:
该总线将Cortex-M3内核的DCode总线与闪存存储器的数据接口相连接(常量加载和调试访问)。
❑系统总线:
此总线连接Cortex-M3内核的系统总线(外设总线)到总线矩阵,总线矩阵协调着内核和DMA间的访问。
❑DMA总线:
此总线将DMA的AHB主控接口与总线矩阵相联,总线矩阵协调着CPU的DCode和DMA到SRAM、闪存和外设的访问。
3.简述ARMCortex-M3的编程模型。
答:
Cortex-M3处理器采用ARMv7-M架构。
它包括所有的16位thumb指令集和基本的32位thumb-2指令集架构。
Cortex-M3处理器不能执行ARM指令。
Cortex-M3处理器支持两种工作模式,线程模式和处理模式。
Cortex-M3处理器有两种工作状态:
Thumb状态和调试状态。
Cortex-M3处理器代码可以是特权执行或非特权执行。
非特权执行时对有些资源的访问受到限制或不允许访问。
特权执行可以访问所有资源。
处理模式始终是特权访问,线程模式可以是特权或非特权访问。
4.6习题
一、填空题
1.ARMRealViewMDK是ARM公司和深圳英倍特公司合作开了本土化的ARM开发平台。
2.ST公司的STM32系列芯片采用了Cortex-M3内核,其分为两个系列。
STM32F101系列为标准型,运行频率为36MHz;STM32F103系列为标准型,运行频率为72MHz。
3.STM32全系列芯片都具有引脚到引脚一一对应的特点,并且相同封装的内部资源均相同,这就给用户升级带来很大方便。
4.STM32提供了一种最简单的程序下载方法,即在应用编程,只需要串口连接到PC机上,便可以进行程序下载。
二、选择题
1.下列哪个不是RealViewMDK开发环境的特点(D)。
A.Windows风格B.兼容的KeilμVision界面
C.全面的ARM处理器支持D.体积庞大
2.STM32F103VBT6资源不包括(D)。
A.128k的FlashB.100个引脚
C.USB接口D.USBOTG接口
3.仿真执行程序,直到遇到一个断点的快捷键为(A)。
A.F5B.F11
C.F12D.F6
4.下列哪种方法可以对STM32进行程序下载(ABCD)。
(多选)
A.KeilULinkB.J-Link
C.在应用编程D.以上都可以
三、简答题
1.简述ARMRealView开发环境的特点。
答:
ARMRealViewMDK开发平台具有如下主要特点:
❑采用KeilμVision3的开发环境和界面,给单片机用户的升级带来极大的方便。
❑具有Windows风格的可视化操作界面,界面友好,使用极为方便;
❑支持汇编语言、C51语言以及混合编程等多种方式的单片机设计;
❑集成了非常全面的ARM处理器支持,能够完成ARM7、ARM9以及ARMCortex-M3等处理器的程序设计和仿真;
❑集成了丰富的库函数,以及完善的编译连接工具;
❑提供了并口、串口、A/D、D/A、定时器/计数器以及中断等资源的硬件仿真能力,能够帮助用户模拟实际硬件的执行效果;
❑可以与多款外部仿真器联合使用,提供了强大的在线仿真调试能力;
❑内嵌RTX-51Tiny和RTX-51FULL内核,提供了简单而强大的实时多任务操作系统支持;
❑在一个开发界面中支持多个项目的程序设计;
❑支持多级代码优化,最大限度地帮助用户精简代码体积;
❑由于KeilμVision具有最为广泛的用户群,因此相应的代码资源非常丰富,读者可以轻松地找到各类编程资源以加速学习和开发过程。
2.简述基于ARMCortex-M3的STM32芯片特点。
答:
ST公司的STM32系列芯片采用了ARMCortex-M3内核,其分为两个系列。
STM32F101系列为标准型,运行频率为36MHz;STM32F103系列为标准型,运行频率为72MHz。
STM32全系列芯片都具有引脚到引脚一一对应的特点,并且相同封装的内部资源均相同,这就给用户升级带来很大方便。
3.简述STM32最小硬件开发系统的组成及其各部分的作用。
答:
读者可以参阅正文中的第3节,其中包括如下几个部分:
❑主芯片:
采用STM32系列,为整个开发系统的核心,本书所有的程序都运行在其中。
❑晶体振荡部分:
提供了硬件时序以及实时时钟使用。
❑供电部分:
采用AM1117为芯片提供稳定的3.3V电压。
❑复位部分:
采用一个按键开关来实现。
5.7习题
一、填空题
1.Cortex-M3不支持ARM指令。
另外,Cortex-M3支持绝大部分的ARMv6Thumb指令和ARMv7Thumb指令。
2.索引数据传送指令包括预索引和后索引两类。
带预索引的数据传送可以用在多种数据类型上,并且既可用于加载,又可用于存储。
3.除了支持“预索引”,还支持“后索引”(Post‐indexing)。
后索引也要使用一个立即数offset,但与预索引不同的是,后索引是忠实使用基址寄存器Rd的值作为数据传送的地址的。
待到数据传送后,再执行Rd←Rd+offset。
4.用于在寄存器间传送数据的指令是MOV。
与MOV指令相关的另一个指令是MVN,它把寄存器的内容取反后再传送。
二、选择题
1.ARMCortex-M3支持的指令集不包括(A)。
A.ARMB.ARMv6Thumb
C.ARMv7ThumbD.以上全不包括
2.下列哪个是ARMCortex-M3支持的指令(A)。
A.SETENDB.MOV
C.ADDD.MVN
3.Cortex-M3片载了硬件乘法器,支持如下哪些64位乘法指令(ABCD)。
(多选)
A.SMULLB.SMLAL
C.UMULLD.SMLAL
4.Cortex-M3中的数据序转移指令包括(ABC)。
(多选)
A.REV.WB.REV16.W
C.REVSH.WD.LDRB
5.如果需要保存返回地址,则可以使用如下哪些转移指令(CD)。
(多选)
A.BB.BX
C.BLD.BLX
三、简答题
1.简述ARMCortex-M3不支持的指令及其原因。
答:
Cortex-M3不支持ARM指令。
另外,Cortex-M3支持绝大部分的ARMv6Thumb指令,但以下两个指令不支持
❑BLX#im:
在使用立即数做操作数时,BLX总是要切入ARM状态。
因为Cortex-M3只在Thumb态下运行,故以此指令为代表的,凡是试图切入ARM态的操作,都将引发一个用法错误。
❑SETEND:
由v6引入的,在运行时改变处理器端设置的指令(大端或小端)。
因为Cortex-M3不支持动态端的功能,所以此指令也将引发错误。
Cortex-M3支持部分的ARMv7Thumb指令,但有少量在ARMv7Thumb中列出的指令不被支持,如表5-13所示。
表5-13不支持的ARMv7Thumb指令
指令格式
原功能或不支持的原因
MCR
把通用寄存器的值传送到协处理器的寄存器中
MCR2
把通用寄存器的值传送到协处理器的寄存器中
MCRR
把通用寄存器的值传送到协处理器的寄存器中,一次操作两个
MRC
把协处理器寄存器的值传送到通用寄存器中
MRC2
把协处理器寄存器的值传送到通用寄存器中
MRRC
把协处理器寄存器的值传送到通用寄存器中,一次操作两个
LDC
把某个连续地址空间中的一串数值传送至协处理器中
STC
从协处理器中传送一串数值到地址连续的一段地址空间中
CPS
Cortex-M3没有“A”位
CPS.W#mode
Cortex-M3的PSR中没有“mode”位
DBG
服务于跟踪系统的一条hint指令
PLD
预取数据。
这是服务于cache系统的一条hint指令。
因为在CM3中没有cache,该指令就相当于NOP
PLI
预取指令。
这是服务于cache系统的一条hint指令。
因为在CM3中没有cache,该指令就相当于NOP
YIELD
用于多线程处理。
线程使用该指令通知给硬件:
我正在做的任务可以被交换出去(swappedout),从而提高系统的整体性能。
2.查找ARMCortex-M3所支持的全部16位和32位指令集。
答:
这里省略。
3.简述预索引和后索引和区别。
答:
带预索引的数据传送可以用在多种数据类型上,并且既可用于加载,又可用于存储。
后索引也要使用一个立即数offset,但与预索引不同的是,后索引是忠实使用基址寄存器Rd的值作为数据传送的地址的。
待到数据传送后,再执行Rd←Rd+offset。
其中,offset可以是负数。
6.5习题
一、填空题
1.对于大部分基于闪存的系统来说,一项重要的需求就是当这些系统安装在终端产品上后,具有更新固件的能力,这个能力称为在应用编程。
2.STM32在每个芯片出厂之前,保存了一段BootLoader程序供用户快速实现在应用编程。
BootLoader程序的主要任务是通过USART1端口下载固件程序到内置的Flash存储器中。
3.在STM32中提供了3种不同的启动模式,一般由BOOT[1:
0]引脚电平来选择。
4.STM32的三种启动模式对应的三种存储介质都是芯片内置的。
5.在ST32的三种启动模式中,从用户闪存启动,这是正常的工作模式。
从系统存储器启动,这种模式启动的程序功能由厂家设置。
从内置SRAM启动,这种模式可以用于调试。
6.在系统上电的时候,CPU首先根据BOOT[1:
0]引脚电平来确定是哪种模式的启动,然后就是把相应模式的起始地址映射到0地址处,并从0地址处开始执行。
7.BOOT[1:
0]引脚电平的值是在复位后SYSCLK的第4个上升沿时被锁定的。
当退出standby模式时,BOOT[1:
0]引脚被重新采样。
因此,BOOT[1:
0]引脚必须在standby模式下也保持需要的启动模式配置。
二、选择题
1.下列哪个是STM32的BootLoader的特点(ABCD)。
(多选)
A.BootLoader程序在每个芯片出厂的时候已经内置,无需用户干预
B.支持任意波特率
C.BootLoader程序通过USART1端口下载固件程序到内置的Flash存储器中
D.占用引脚少,与计算机的串口只需RX和TX两根引脚即可完成固件升级工作
2.STM32启动BootLoader需要置如下那些引脚(C)。
A.BOOT1=0,BOOT0=0B.BOOT1=1,BOOT0=0
C.BOOT1=0,BOOT0=1D.BOOT1=1,BOOT0=1
3.通过意法半导体的BootLoader程序可以完成(ABCD)。
(多选)
A.固件下载B.读Flash
C.擦除FlashD.编辑选项字节
三、简答题
1.简述什么是在应用编程及其优点。
答:
对于大部分基于闪存的系统来说,一项重要的需求就是当这些系统安装在终端产品上后,具有更新固件的能力,这个能力称为在应用编程(In-ApplicationProgrammingIAP)。
很显然,在应用编程的好处是可以摆脱昂贵、复杂的编程器和仿真器,为用户的最终产品提供方便的固件程序的更新能力。
另外,对于资源有限的开发者来说,也提供了一种极低成本的固件下载方法。
2.简述STM32的在应用编程及其BootLoader。
答:
基于ARMCortex-M3的STM32具备了在应用编程能力。
STM32在每个芯片出厂之前,保存了一段BootLoader程序供用户快速实现在应用编程。
BootLoader程序的主要任务是通过USART1端口下载固件程序到内置的Flash存储器中。
3.简述STM32的启动模式及启动配置。
答:
在STM32中提供了三种不同的启动模式,一般由BOOT[1:
0]引脚电平来选择。
❑BOOT1=x,BOOT0=0:
用户闪存被选作启动区,x表示任意电平。
❑BOOT1=0,BOOT0=1:
系统内存被选作启动区。
❑BOOT1=1,BOOT0=1:
嵌入式SRAM被选作启动区。
7.5习题
一、填空题
1.FreeRTOS是一个可移植、开源的小型实时内核。
FreeRTOS作为开源的轻量级实时性操作系统,不仅实现了基本的实时调度、信号量、队列和存储管理,而且在商业应用上不需要授权费。
2.调度器是内核中负责决定在某个特殊时间哪个任务应该执行的部分。
内核可以在任务的生命期挂起、恢复一个任务许多次。
3.跟任何其他程序一样,一个任务执行时,它使用处理器/微控制器的寄存器,访问RAMROM。
这些资源一起组成任务的执行上下文。
4.FreeRTOS允许一定数量的参数存在,使得FreeRTOS内核可以剪裁来更加适合具体的应用程序。
这些参数,位于FreeRTOSConfig.h文件中。
二、选择题
1.下列哪个是FreeRTOS支持的处理器构架(ABCD)。
(多选)
A.ARM7B.ARM9
C.Cortex-M3D.AVR32
2.FreeRTOS的主要功能特点包括(ABCD)。
(多选)
A.时间管理B.内存管理
C.消息队列D.优先级调度
三、简答题
1.简述FreeRTOS的系统定制功能。
答:
FreeRTOS是一种开源的嵌入式操作系统。
FreeRTOS提供了系统定制功能,同时也提供了多种API函数用来实现任务控制和内核控制。
FreeRTOS允许一定数量的参数存在,使得FreeRTOS内核可以剪裁来更加适合具体的应用程序。
这些参数,位于FreeRTOSConfig.h.文件中。
每一个包含FreeRTOS源代码演示程序,都有它自己的FreeRTOSConfig.h文件。
2.简述FreeRTOS的任务控制API及功能。
答:
FreeRTOS操作系统的任务控制通过一系列的API函数来实现,每个API函数及其功能可以参阅本章正文。
3.简述FreeRTOS的内核控制API及功能。
答:
FreeRTOS操作系统的内核控制也是通过一系列的API函数来实现,每个API函数及其功能可以参阅本章正文。
8.5习题
一、填空题
1.嵌入式实时操作系统UC/OS首先在1992年发布,目前UC/OS-Ⅱ是最新版本。
嵌入式实时操作系统UC/OS-Ⅱ是一种开源但不免费的实时操作系统,具有可剥夺实时内核。
2.在UC/OS-Ⅱ中,任务可以是一个无限的循环,也可以是在一次执行完毕后被删除掉。
这里要注意的是,任务代码并不是被真正的删除了,而只是操作系统不再理会该任务代码,所以该任务代码不会再运行。
3.UC/OS-II也可以通过事件来实现数据共享和任务通讯,这里讲到的事件,可以是信号量、邮箱或者消息队列等。
4.UC/OS-II中的信号量由两部分组成:
一个是信号量的计数值,它是一个16位的无符号整数(0到65535之间);另一个是由等待该信号量的任务组成的等待任务表。
5.邮箱是UC/OS-II系统中的另一种通讯机制,它可以使一个任务或者中断服务子程序向另一个任务发送以指针方式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 习题 答案