嵌入式期末复习文档格式.docx
《嵌入式期末复习文档格式.docx》由会员分享,可在线阅读,更多相关《嵌入式期末复习文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
![嵌入式期末复习文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/28/057e4ae0-f5b7-4a1e-9f5c-6bdef7354524/057e4ae0-f5b7-4a1e-9f5c-6bdef73545241.gif)
S3C2410X芯片有27根地址线,8根片选线(nGCS),32根数据线。
(5)s3c2410芯片内部集成了哪些控制接口?
S3C2410X芯片内部集成了一个LCD控制器,SDRAM控制器,3个通道UART,4个通道DMA,4个具有PWM功能的计时器和一个内部时钟,8通道的10位ADC。
(6)ARM体系结构有哪几种工作状态?
又有哪几种运行模式?
其中哪些为特权模式?
哪些为异常模式?
并指出处理器在什么情况下进入相应模式?
工作状态:
第1种:
ARM状态。
处理器执行32位的字对齐的ARM指令。
第2种:
Thumb状态。
处理器执行16位的半字对齐的Thumb指令。
运行模式:
用户模式(usr)
快速中断模式(fiq)
外部中断模式(irq)
管理模式(svc)
数据访问中止模式(abt)
系统模式(sys)
未定义指令中止模式(und)
在这7种运行模式,除了用户模式外,其他6种处理器模式都为特权模式。
在这6种特权模式中,除了系统模式外的其他5种特权模式又称为异常模式。
用户模式:
非特权模式,也就是正常程序执行的模式,大部分任务在这种模式下执行。
在用户模式下,
如果没异常发生,不允许应用程序自行切换果没异常发生,不允许应用程序自行改变处理器的工作模式,如果有异常发生,处理器会自动切换工作模式。
快速中断模式:
支持高速数据传输和通道处理,当一个高优(fast)中断产生时将会进入这种模式。
外部中断模式:
也称为普通中断模式,当一个低优先级中断产生时将会进入这种模式。
在这模式下按中断的处理器方式又分为向量中断和非向量中断两种。
通常的中断处理都在IRQ模式下进行。
管理模式:
是一种操作系统保护模式,当复位或软中断指令执行时处理器将进入这种模式。
数据访问中止模式:
当存取异常时将会进入这种模式,用来处理存储器故障、实现虚拟存储或存储保护。
系统模式:
使用和user模式相同寄存器组的特权模式,用来运行特权级的操作系统任务。
未定义指令中止模式:
当执行未定义指令时会进入这种模式,主要是用来处理未定义的指令陷阱,支持硬件协处理器的软件仿真,因为未定义指令多发生在对协处理器的操作上。
(7)ARM体系结构支持的数据类型?
有多少寄存器?
如何组织?
支持的数据类型:
1.字节(byte),各种处理器体系结构中,字节的长度均为8位。
2.半字(half-word),在ARM体系结构中,半字的长度为16位。
3.字(word),在ARM体系结构中,字的长度为32位。
ARM处理器共有37个寄存器,其中31个通用寄存器,6个状态寄存器。
(8)S3C2410的存储控制器如何对内存空间进行管理?
S3C2410X存储控制器为片外存储器提供控制信号。
它将系统的存储空间分成8组(Bank),每组的大小为128MB,共1GB。
(9)分析程序状态寄存器各位的功能描述,并说明C、Z、N、V在什么情况下进行置1和清0
状态寄存器(PSR)的具体格式为
V—溢出标志位
对于加/减法运算指令,当操作数和运算结果为二进制补码表示的带符号数时,V=1表示符号位溢出,其它指令通常不影响V位。
例如:
两个正数(最高位为0)相加,运算结果为一个负数(最高位为1),则符号位溢出,相应V=1.
C--进位或借位标志位
对于加法指令(包括比较指令CMN),结果产生进位,则C=1,表示无符号数运算发生上溢出,其他情况下C=0;
在减法指令中(包括比较指令CMP),结果产生借位,则C=0,表示无符号数运算发生下溢出,其他情况下C=1;
对于包含移位操作的非加/减法运算指令,C中包含最后一次溢出位的数值;
对于其他非加/减法运算指令,C位的值通常不受影响。
Z--结果为0标志位
Z=1表示运算结果是0,Z=0表示运算结果不是零;
对于CMP指令,Z=1表示进行比较的两个数大小相等。
N--符号标志位
本位设置成当前指令运算结果的bit[31]的值。
当两个补码表示有符号整数运算时,N=1表示运算的结果为负数,N=0
表示结果为正数或零。
(10)ARM指令可分为哪几类?
说出哪几条指令是无条件执行的。
ARM指令可分为:
数据处理指令,跳转指令,程序状态寄存器处理指令,加载/存储指令,协处理器指令
,异常产生指令。
无条件执行指令:
BLX指令,BKPT指令(产生软件断点中断)
(1)
make和Makefile之间的关系?
make是一种命令,是根据Makefile文件的规则决定如何编译和连接程序或其他的动作。
(2)Makefile的普通变量与预定义变量有什么不同?
预定义变量有哪些?
它们分别表示什么意思?
普通变量:
引用变量时,只需在变量前面加上$符;
预定义变量:
已经定义好,直接引用即可。
预定义变量有:
$@、$^、$<
。
$@:
表示完整的目标文件名;
$^:
表示所有的依赖文件;
$<
:
表示依赖文件列表中的第一个文件。
(3)GCC编译器的常用参数有哪些?
它们的功能分别是什么?
gcc编译器的常用参数:
-o,-I,-L,-E,-S,-c
功能:
-o表示编译成一个可执行程序;
-I表示指定头文件目录;
-L表示指定库文件目录选项;
-E表示对源代码进行预编译;
-S表示编译成汇编代码;
-c表示把.c文件转换为以.o为扩展名的目标文件。
(1)简述嵌入式开发环境的搭建过程
1、交叉编译工具链的安装;
2、安装配置TFTP服务;
3、安装配置NFS服务;
4、C-Kermit的安装配置;
5、minicom的安装配置;
6、windows下超级终端的配置。
(2)
BootLoader的结构分两部分,简述各部分的功能?
两部分:
Stage1:
用汇编语言编写,主要进行设备的初始化;
Stage2:
用C语言编写,增强程序的移植性和可读性。
ARM常用的Bootloader程序有哪些?
U-Boot,Blob,RedBoot,vivi
(3)
简述生成内核映像文件zImage的步骤。
1、make
config
进入命令行;
2、make
menuconfig
内核裁剪;
3、make
clean
清理以前已生成的目标文件;
4、make
dep
编译变量的依赖关系;
5、make
zImage
生成内核镜像文件zImage。
(4)
BusyBox工具的功能是什么?
BusyBox工具用来精简基本用户命令和程序,它将数以百计的常用UNIX/Linux命令集成到一个可执行文件中。
(5)简述根文件系统的创建过程。
1、建立基本的目录结构;
2、交叉编译BusyBox;
3、创建配置文件;
4、利用cramfs工具创建根文件系统映像文件。
(1)
简述驱动程序的主要功能。
1、对设备初始化和释放;
2、数据传送;
3、检测和处理设备出现的错误。
简述驱动程序的组成。
1、自动配置和初始化子程序;
2、服务于I/O请求的子程序;
3、中断服务子程序。
简述设备驱动程序与应用程序的区别。
1、设备驱动程序工作在内核态下,而应用程序工作在用户态下;
2、设备驱动程序从module_init()开始,将初始化函数加入内核初始化函数列表中,在内核初始化时执行驱动的初始化函数,从而完成驱动的初始化和注册,之后驱动便停止工作,等待应用程序的调用;
而应用程序从main()函数开始执行。
3、应用程序可以和GLIBC库连接,因此可以包含标准的头文件;
驱动程序不能使用标准的C库,因此不能调用所有的C库函数。
(4)简述设备文件、驱动文件、主设备号和次设备号之间的关系。
驱动程序加载到内核后有一个主设备号。
在Linux内核中,主设备号标识设备对应的驱动程序,告诉Linux内核使用哪一个驱动程序为该设备(也就是/dev下的设备文件)服务,而次设备号则用来标识具体且唯一的某个设备。
(5)简述字符设备驱动程序提供的常用入口点及各自的功能。
open入口点:
对将要进行的I/O操作做好必要的准备工作,如清除缓冲区等。
如果设备是独占的,即同一时刻只能有一个程序访问此设备,则open子程序必须设置一些标志以表示设备处于忙状态。
close入口点:
当设备操作结束时,需要调用close子程序关闭设备。
独占设备必须标记设备可再次使用。
read入口点:
当从设备上读取数据时,需要调用read子程序。
write入口点:
向设备上写数据时,需要调用write子程序。
ioctl入口点:
主要用于对设备进行读写之外的其他操作,比如配置设备、进入或退出某种操作模式等,这些操作一般无法通过read或write子函数完成操作。
(1)关于嵌人式系统发展趋势,描述不正确的是(A)
A.产品性能不断提高,功耗不断增加
B.体积不断缩小
C.网络化、智能化程度不断提高
D.软件成为影响价格的主要因素
嵌入式系统的发展趋势表现在以下几方面:
1.产品种类不断丰富,应用范围不断普及
2.产品性能不断提高
3.产品功耗不断降低,体积不断缩小
4.网络化、智能化程度不断提高
5.软件成为影响价格的主要因素
(2)嵌人式操作系统有很多,但(D)不是。
A.LinuxB.WindowsCEC.V×
WorksD.WindowsXP
常见的嵌入式操作系统:
VxWorks,Windows
CE、uC/OS-II和嵌入式Linux。
(3)V×
Works是(A)于1983年开发的一种32位嵌人式实时操作系统。
A.WindRiverB.MicrosoftC.JeanJ.LabrosseD.LinusTorvalds
说明:
VxWorks是美国WindRiver公司于1983年开发的一种32位嵌入式实时操作系统。
(1)ARM公司主要依靠(D)获得利润。
A.生产芯片B.销售芯片C.制定标准D.出售芯片技术授权
(2)S3C2410X是(
C)公司生产的嵌人式处理器。
A.
AKM
B.Sony
C.
SamsungD.Motorola
(3)S3C2410X选用的内核是(
A)公司设计的。
ARM
B.
Sony
SamsLing
D.Motorola
(4)