嵌入式期末复习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)简述嵌入式系统的定义和特点
答:定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
特点:专用性强、实时性好、可裁剪性好、可靠性高和功耗低等。
(2)简述计算机系统的发展历程
第一阶段大致在20世纪70年代前后,可以看成是嵌入式系统的萌芽阶段;
第二阶段是以嵌入式微处理器为基础,以简单操作系统为核心的嵌入式系统;
第三阶段是以嵌入式操作系统为标志的嵌入式系统,也是嵌入式应用开始普及的阶段;
第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。
(1)ARM和S3C2410X有什么关系?
S3C2410是韩国三星公司生产的嵌入式处理器,它采用了ARM公司的ARM920T(即ARM9)内核
(2)ARM7是多少位的RISC处理器?使用几级流水线?采用什么样的体系结构?支持MMU 吗?
ARM7是32位RISC处理器,使用3级流水线,采用冯•诺依曼体系结构,不支持MMU。(3)ARM9是多少位的RISC处理器?使用几级流水线?采用什么样的体系结构?支持MMU 吗?
ARM8是32位RISC处理器,使用5级流水线,采用哈佛体系结构,支持MMU。
(4)S3C2410X芯片有多少根地址线,多少根片选线(nGCS),多少根数据线。
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的普通变量与预定义变量有什么不同?预定义变量有哪些?它们分别表示什么意思?
答:普通变量:引用变量时,只需在变量前面加上$符;预定义变量:已经定义好,直接引用即可。
预定义变量有:$@、$^、$<。