版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-. z.版 权 说 明本文件中出现的任何文字表达、文件格式、插图、照片、方法、过程等内容,除另有特别注明,均属本人所有。 -WangYiwei由于我正在学习 嵌入式系统原理与应用基于ARM微处理器和Linu*操作系统这门课程,网络上找不到课后习题答案。因此本人通过认真地做习题,不懂百度,查阅相关书籍等途径,整理了一份答案,可供各位参考。注意:答案并不一定完全正确,有异议的答案欢送提出来大家一起探讨。1.8 练习题P14选择题A说明:嵌入式系统的开展趋势表现在以下几方面:产品种类不断丰富,应用*围不断普及产品性能不断提高产品功耗不断降低,体积不断缩小网络化、智能化程度不断提高软件成为影响价格的
2、主要因素D说明:常见的嵌入式操作系统: V*Works,Windows CE、uC/OS-II和嵌入式Linu*。A说明:V*Works是美国WindRiver公司于1983年开发的一种32位嵌入式实时操作系统。填空题嵌入式计算机微处理器 外围电路 外部设备板级支持包 实时操作系统 应用编程接口 应用程序嵌入式处理器 微控制器 数字信号处理器简答题简述嵌入式系统的定义和特点答:定义:以应用为中心,以计算机技术为根底,软硬件可裁剪,应用系统对功能、可靠性、本钱、体积、功耗有严格要求的专用计算机系统。特点:专用性强、实时性好、可裁剪性好、可靠性高和功耗低等。简述计算机系统的开展历程第一阶段大致在2
3、0世纪70年代前后,可以看成是嵌入式系统的萌芽阶段;第二阶段是以嵌入式微处理器为根底,以简单操作系统为核心的嵌入式系统;第三阶段是以嵌入式操作系统为标志的嵌入式系统,也是嵌入式应用开场普及的阶段;第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速开展的阶段。简述MCU和DSP的区别MCU是微控制器,DSP是数字信号处理器。MCU相当于小型的电脑,内部集成的CPU、ROM、RAM、I/O总线,所以集成度高是它的特点。DSP是专用的信息处理器,内部的程序是对不同的机器和环境进展特别优化,所以处理速度是最快的。2.4 练习题1. 填空题(1) ARM7 ARM9 ARM9E ARM
4、10E ARM11(2) 精简指令集计算机(3) Samsung ARM920T IIC总线 (4)BGA 显卡布线(5) 1.8V 3.3V(6) 8 128 1(7) S3C2410 64MB 64MB2. 选择题(1) D (2)C (3)A (4)B (5)B(6)C (7)D (8)C (9)C (10)B3. 简答题(1)ARM和S3C2410*有什么关系S3C2410是韩国三星公司生产的嵌入式处理器,它采用了ARM公司的ARM920T(即ARM9)内核(2)ARM7是32位RISC处理器,使用3级流水线,采用冯诺依曼体系构造,不支持MMU。(3)ARM8是32位RISC处理器,使
5、用5级流水线,采用哈佛体系构造,支持MMU。(4)S3C2410*芯片有27根地址线,8根片选线(nGCS),32根数据线。(5)S3C2410*芯片内部集成了一个LCD控制器,SDRAM控制器,3个通道UART,4个通道DMA,4个具有PWM功能的计时器和一个内部时钟,8通道的10位ADC。(6)ARM体系构造有哪几种工作状态?又有哪几种运行模式?其中哪些为特权模式?哪些为异常模式?并指出处理器在什么情况下进入相应模式?工作状态:第1种:ARM状态。处理器执行32位的字对齐的ARM指令。第2种:Thumb状态。处理器执行16位的半字对齐的Thumb指令。运行模式:用户模式(usr) 快速中断
6、模式(fiq) 外部中断模式(irq)管理模式(svc) 数据访问中止模式(abt) 系统模式(sys)未定义指令中止模式(und)在这7种运行模式,除了用户模式外,其他6种处理器模式都为特权模式。在这6种特权模式中,除了系统模式外的其他5种特权模式又称为异常模式。用户模式:非特权模式,也就是正常程序执行的模式,大局部任务在这种模式下执行。在用户模式下,如果没异常发生,不允许应用程序自行切换果没异常发生,不允许应用程序自行改变处理器的工作模式,如果有异常发生,处理器会自动切换工作模式。快速中断模式:支持高速数据传输和通道处理,当一个高优(fast)中断产生时将会进入这种模式。外部中断模式:也称
7、为普通中断模式,当一个低优先级中断产生时将会进入这种模式。在这模式下按中断的处理器方式又分为向量中断和非向量中断两种。通常的中断处理都在IRQ模式下进展。管理模式:是一种操作系统保护模式,当复位或软中断指令执行时处理器将进入这种模式。数据访问中止模式:当存取异常时将会进入这种模式,用来处理存储器故障、实现虚拟存储或存储保护。系统模式:使用和user模式一样存放器组的特权模式,用来运行特权级的操作系统任务。未定义指令中止模式:当执行未定义指令时会进入这种模式,主要是用来处理未定义的指令陷阱,支持硬件协处理器的软件仿真,因为未定义指令多发生在对协处理器的操作上。(7)ARM体系构造支持的数据类型?
8、有多少存放器?如何组织?支持的数据类型:1.字节(byte),各种处理器体系构造中,字节的长度均为8位。2.半字(half-word),在ARM体系构造中,半字的长度为16位。3.字(word),在ARM体系构造中,字的长度为32位。ARM处理器共有37个存放器,其中31个通用存放器,6个状态存放器。(8)S3C2410的存储控制器如何对内存空间进展管理?S3C2410*存储控制器为片外存储器提供控制信号。它将系统的存储空间分成8组(Bank),每组的大小为128MB,共1GB。(9)分析程序状态存放器各位的功能描述,并说明C、Z、N、V在什么情况下进展置1和清0状态存放器(PSR)的具体格式
9、为V溢出标志位对于加/减法运算指令,当操作数和运算结果为二进制补码表示的带符号数时,V=1表示符号位溢出,其它指令通常不影响V位。例如:两个正数(最高位为0)相加,运算结果为一个负数(最高位为1),则符号位溢出,相应V=1.C-进位或借位标志位对于加法指令包括比拟指令CMN,结果产生进位,则C1,表示无符号数运算发生上溢出,其他情况下C0;在减法指令中包括比拟指令CMP,结果产生借位,则C0,表示无符号数运算发生下溢出,其他情况下C1;对于包含移位操作的非加/减法运算指令,C中包含最后一次溢出位的数值;对于其他非加/减法运算指令,C位的值通常不受影响。Z-结果为0标志位Z1表示运算结果是0,Z
10、0表示运算结果不是零;对于CMP指令,Z1表示进展比拟的两个数大小相等。N-符号标志位本位设置成当前指令运算结果的bit31的值。当两个补码表示有符号整数运算时,N1表示运算的结果为负数,N0表示结果为正数或零。(10)ARM指令可分为哪几类?说出哪几条指令是无条件执行的。ARM指令可分为:数据处理指令,跳转指令,程序状态存放器处理指令,加载/存储指令,协处理器指令,异常产生指令。无条件执行指令:BL*指令,BKPT指令(产生软件断点中断)(11)如何实现两个64位数的加法操作,如何实现两个64位的减法操作,如何求一个64位数的负数?实现64位数据加法运算:假设R0和R1存放了一个64位数据作
11、为被加数,R0存放数据的低32位;R2和R3中存放了另一个64位数据作为加数,R2中存放低32位数据。运算结果送回到R1:R0中R0中存放低32位。ADDSR0,R0,R2;低32位相加并影响标志位ADCR1,R1,R3;高32位相加再加上C标志位进位值实现64位数据减法运算:如果存放器R0和R1中放置一个64位的被减数,其中R0中放置低32位数值;存放器R2和R3中放置一个64位的减数,其中R2中放置低32位数值。运算结果送回到R1:R0中R0中存放低32位。SUBSR0,R0,R2;低32位相减并影响标志位SBCR1,R1,R3;高32位相减再减去C标志位的反码求一个64位数的负数:如果存
12、放器R0和R1中放置一个64位数,其中R0中放置低32位数值;存放器R4和R5中放置其负数,其中R4中放置低32位数值。RSBSR4,R0,#00减去低32位并影响标志位RSCR5,R1,#00减去高32位再减去C标志位的反码程序题分析以下每条语句,并说明程序实现的功能。CMP R0, #0/判断R0是否等于0MOVEQ R1, #0/当R0等于0,则R1等于0MOVGT R1,#1/当R0为正数时,则R1等于1此功能码段可以判别R0中的值为正数还是0。写一条ARM指令,分别完成以下操作。R0 = 16MOVRO,#16R0 = R1 / 16 MOVRO,R1,LSR#4R1 = R2 *
13、4ADDR1,R2.R2.LSL#1R0 = - R0RSBRO,RO,#0写出实现以下操作的ARM指令。当Z=1时,将存储器地址为R1的字数据读入存放器R0。MOVEQR0,R1当Z=1时,将存储器地址为R1+R2的字数据读入存放器R0。LDREQR0,R1,R2将存储器地址为R1-4的字数据读入存放器R0。LDRR0,R1,#-4将存储器地址为R1+R6的字数据读入存放器R0,并将新地址R1R6写入R1。LDRR0,R1,R6!写出以下指令所实现的操作。LDRR2,R3,-2!将存储器地址为R3-2的字数据读入R2,并将地址R3-2写入R3LDRR0,R0,R1将存储器地址为R0的字数据读
14、入R0,并将地址R0+R1写入R0LDRR1,R0,R2,LSL #2!将存储器地址为R0+R2*4的字数据读入R1,并将地址R0+R2*4写入R0STRBR1,R2,#0*B0R0的低8位存入存储器地址为R2+0*B0字节中LDMIAR0,R1,R2,R8将内存单元R0所指向的地址单元以字为单位递减方式读取到R1,R2,R8中,低地址编号的字数据内存单元对应低编号存放器STMDBR0!,R1R5,R8,R9R1R5,R8,R9存储到以R0为起始地址的递减内存中,最终R0指向存放R9的地址单元计算题*设备的接口电路如下图,请计算出该设备的地址。3.5 练习题1.选择题B(2) A(3) C(4
15、) D(5) A填空题.so.a程序运行过程中编译过程中LIo$CC、CFLAGS等目标文件的完整名称所有不重复的依赖文件,以空格隔开第一个依赖文件的名称、简答题make和Makefile之间的关系?答:make是一种命令,是根据Makefile文件的规则决定如何编译和连接程序或其他的动作。(2)Makefile的普通变量与预定义变量有什么不同?预定义变量有哪些?它们分别表示什么意思?答:普通变量:引用变量时,只需在变量前面加上$符;预定义变量:已经定义好,直接引用即可。预定义变量有:$、$、$。$:表示完整的目标文件名;$:表示所有的依赖文件;$:表示依赖文件列表中的第一个文件。(3)GCC
16、编译器的常用参数有哪些?它们的功能分别是什么?答:gcc编译器的常用参数:-o,-I,-L,-E,-S,-c功能:-o表示编译成一个可执行程序;-I表示指定头文件目录;-L表示指定库文件目录选项;-E表示对源代码进展预编译;-S表示编译成汇编代码;-c表示把.c文件转换为以.o为扩展名的目标文件。编程及调试题(1)根据要求编写Makefile文件。有5个文件分别是main.c、visit.h、study.h、visit.c、study.c,具体代码如下。/main.c文件/visit.h文件/study.h文件/visit.c文件/study.c1如果上述文件在同一目录,请编写Makefile
17、文件,用于生成可执行程序zhs。/Makefile 文件2) 如果按照下面的目录构造存放文件,请改写Makefile文件。bin:存放生成的可执行文件obj:存放.o文件include:存放visit.h、study.hsrc:存放main.c、visit.c、study.c和Makefile.3) 如果按照下面的目录构造存放文件,请改写Makefile文件。bin:存放生成的可执行文件obj:存放.o文件include:存放visit.h、study.hsrc:存放main.c和Makefilesrc/src1:存放visit.csrc/src2:存放study.c说明:这可能只是其中一种方
18、法,方法不唯一。我这种做法有一个缺点就是需要修改visit.c和study.c文件的内容,如修改#include ./include/visit.h。按要求完成以下操作。vi编辑test.c文件,其内容如下。用gcc o test.o test.c编译,生成test.o用gcc g o test1.o test.c编译,生成test1.o比拟test.o和test1.o文件的大小,思考为什么?带调试选项-g的目标文件test1.o比拟大。因为在gcc编译源代码时指定-g选项可以产生带有调试信息的目标代码。使用GDB调试上面的程序调试参数-g进展编译#gcc g test.c o test启动G
19、DB调试,开场调试#gdb Gtest使用gdb命令进展调试。略。(4)编写一个程序,将系统时间以year-month-day hour:minute:second格式显示在屏幕上,并将它保存在time.t*t文件。4.4 练习题1.填空题(1) 串口(2) 115200 8 1 无 无(3) 编程器 串口 网络接口(4) Bootloader(5) 程序仿真调试 程序的烧写(6) zImage root.cramfs(7)启动加载模式 下载模式(8) 汇编语言 C语言(9) U-Boot Blob ARMBoot (或者RedBoot vivi)(10) BusyBo*(11)启动加载模式说
20、明:按回车进入启动加载模式;按回车外的任意键进入vivi的下载模式。2. 选择题(1) A (2) C (3) A (4) A (5) A3. 简答题(1)简述嵌入式开发环境的搭建过程答:1、穿插编译工具链的安装;2、安装配置TFTP效劳;3、安装配置NFS效劳;4、C-Kermit的安装配置;5、mini的安装配置;6、windows下超级终端的配置。(2) BootLoader的构造分两局部,简述各局部的功能?答:两局部:Stage1:用汇编语言编写,主要进展设备的初始化;Stage2:用C语言编写,增强程序的移植性和可读性。ARM常用的Bootloader程序有哪些?答:U-Boot,B
21、lob,RedBoot,vivi简述生成内核映像文件zImage的步骤。答:1、make config 进入命令行;2、make menuconfig 内核裁剪;3、make clean 清理以前已生成的目标文件;4、make dep 编译变量的依赖关系;5、make zImage 生成内核镜像文件zImage。(4) BusyBo*工具的功能是什么?答:BusyBo*工具用来精简根本用户命令和程序,它将数以百计的常用UNI*/Linu*命令集成到一个可执行文件中。(5)简述根文件系统的创立过程。答:1、建立根本的目录构造;2、穿插编译BusyBo*;3、创立配置文件;4、利用cramfs工具
22、创立根文件系统映像文件。5.4 练习题1.选择题(1)B (2)D (3)C (4)A (5)C (6)D2.填空题(1) 内核态(2) 字符设备 块设备(3) 主设备号 次设备号(4) 静态编译 动态编译(5) insmod说明:用于加载模块化驱动程序的命令是insmod;用于卸载已安装模块化驱动程序的命令是rmmod;用于查看已安装的模块化驱动程序的命令是lsmod。3.简答题简述驱动程序的主要功能。答:1、对设备初始化和释放;2、数据传送;3、检测和处理设备出现的错误。简述驱动程序的组成。答:1、自动配置和初始化子程序;2、效劳于I/O请求的子程序;3、中断效劳子程序。简述设备驱动程序与
23、应用程序的区别。答:1、设备驱动程序工作在内核态下,而应用程序工作在用户态下;2、设备驱动程序从module_init()开场,将初始化函数参加内核初始化函数列表中,在内核初始化时执行驱动的初始化函数,从而完成驱动的初始化和注册,之后驱动便停顿工作,等待应用程序的调用;而应用程序从main()函数开场执行。3、应用程序可以和GLIBC库连接,因此可以包含标准的头文件;驱动程序不能使用标准的C库,因此不能调用所有的C库函数。(4)简述设备文件、驱动文件、主设备号和次设备号之间的关系。答:驱动程序加载到内核后有一个主设备号。在Linu*内核中,主设备号标识设备对应的驱动程序,告诉Linu*内核使用
24、哪一个驱动程序为该设备(也就是/dev下的设备文件)效劳,而次设备号则用来标识具体且唯一的*个设备。(5)简述字符设备驱动程序提供的常用入口点及各自的功能。答:open入口点:对将要进展的I/O操作做好必要的准备工作,如去除缓冲区等。如果设备是独占的,即同一时刻只能有一个程序访问此设备,则open子程序必须设置一些标志以表示设备处于忙状态。close入口点:当设备操作完毕时,需要调用close子程序关闭设备。独占设备必须标记设备可再次使用。read入口点:当从设备上读取数据时,需要调用read子程序。write入口点:向设备上写数据时,需要调用write子程序。ioctl入口点:主要用于对设备
25、进展读写之外的其他操作,比方配置设备、进入或退出*种操作模式等,这些操作一般无法通过read或write子函数完成操作。简述逐次逼近型ADC的构造及工作原理。答:逐次逼近型ADC通常由比拟器,数模转换器(DAC),存放器和控制逻辑电路组成。工作原理:初始化时,先将存放器各位清空。转换时,先将存放器的最高位置1,再将存放器的数值送入DAC,经D/A转换后生成模拟量送入比拟器中与输入的模拟量进展比拟,假设VsVi,则该位的1被保存,否则被去除;然后再将次高位置1,再将存放器的数值送入DAC,经D/A转换后生成的模拟量送入比拟器中与输入模拟量进展比拟,假设VsVi,则该位的1被保存,否则被去除;重复
26、上述过程,知道最低位,最后存放器中的内容即为输入模拟值转换成的数字量。编程题S3C2410*通过GPG3端口来控制LED的亮和灭,具体电路如图,请为该字符设备设计一个驱动程序和应用程序,应用程序能够根据用户需要来控制LED的/驱动程序/应用程序6.7 练习题1.选择题(1)C(2)D 说明:TinyOS是UC Berkeley加州大学伯克利分校开发的开放源代码操作系统(3)C 2.填空题(1)* Windows,Micro Windows,MiniGUI或者Qtopia Core,Qt/Embedded,OpenGUI(2)* Window Server,*lib,帧缓存3.问答题(1)简述嵌
27、入式GUI的特点。答:1、轻型,占用资源少。嵌入式GUI要求是轻量型的,这主要是受限于嵌入式硬件资源。2、可配置。由于嵌入式设备的可定制性,要求相应的GUI系统也是可以定制的,所以嵌入式GUI一般都具有可裁剪性。3、高性能。耗用系统资源较少,能在硬件性能受限的情况下、尤其是CPU资源较少的情况下到达相对较快的系统响应速度,同时减少能源消耗。4、高可靠性。系统独立,能适用于不同的硬件,在高性能的同时保证高可靠性。(2)简述Qt/*11和Qtopia Core的异同点。答:一样点:都是嵌入式GUI,也就是在嵌入式系统中为特定的硬件设备或环境而设计的图形用户界面系统。Qt/*11与Qtopia Core最大的区别在于Qt/*11依赖于* Window Server或*lib,而Qtopia Core是直接访问帧缓存。它们所依赖的底层显示根底是不同的,从而导致了体系构造上的差异。(3)简述信号与槽的作用。答
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业缝制机械行业相关投资计划提议
- 警务搏击课件教学课件
- 2024年婚姻解除条件协议
- 2024年劳动重返合同书
- 2024年价格保密合同样本
- 2024年个人汽车贷款协议范本
- 饭店金钥匙服务培训(国际金钥匙组织中国区)
- 2024年劳动法下的雇佣协议:企业员工合同样本
- 大型工厂玻璃钢烟囱改造方案
- 2024年合作共享:股权合作协议
- 《坦克的发展历程》课件
- 设备维保和维保服务外包
- 2018年公安机关人民警察高级执法资格试题
- 电动汽车的电控系统
- 安全运维堡垒机部署方案
- 2024届江苏省苏州市立达中学数学七年级第二学期期末综合测试试题含解析
- 国开电大绩效与薪酬实务(河北)形考任务三参考答案
- 农田土地平整工程技术规程
- 2023年黑龙江事业单位公共基础知识真题及答案
- 化学高二-2022-2023学年北京市海淀区高二(上)期末化学试卷
- 急性左心衰课件
评论
0/150
提交评论