广工嵌入式系统-复习大纲2016
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.什么是嵌入式系统,特点?SOC,SOPC的特点
以应用为中心,以计算机技术为基础,软件、硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
特点:多样性、功耗低、体积小、可靠性、实时性、创新性、可裁剪性
SOC可以大幅度地提高系统的可靠性,减少系统的面积,降低功耗和系统成本,极大地提高了系统的性能价格比。
SOPC首先它是片上系统,即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。
2.嵌入式处理器有哪几类?
微控制器MCU,嵌入式微处理器MPU,数字信号处理器DSP,片上系统SOC,片上可编程系统SOPC
3.嵌入式系统的硬件、软件各由哪些部分组成.
硬件:基于ARM内核的微处理器(内含外围接口电路),电源电路,内存储器,看门狗及复位电路,人机交互和其他输入/输出接口电路组成。
软件:由驱动层,OS层和应用层三部分组成。
4.ARM微处理器有何特点,RISC处理器特征与指令特点
特点:1.低功耗、低成本、高性能 2.采用RISC体系结构 3.大量使用寄存器 4.高效的指令系统 5.其他技术
RISC处理器特征与指令特点:1.固定长度的指令格式,指令规整、简单、基本寻址方式有2-3种 2.使用单周期指令,便于流水线操作执行 3.大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令访问存储器,以提高指令的执行效率
5.ARM的thumb指令的特点
Thumb指令为16位长度,为ARM指令集的功能子集,与等价的ARM代码相比较可节省30%-40%以上的存储空间,同时具备32位代码的所有优点
6.ARM微处理器的工作状态、存储格式、指令流水线。
ARM工作状态:ARM状态和Thumb状态。
存储格式:1.大端格式(big-endian) 2.小端格式(low-endian) 3级流水线:取指级、译码级、执行级
5级流水线:取指级、译码级、执行级、缓冲\数据级、回写级
7.ARM七种处理器模式各有何属性,切换的条件。
用户模式(usr):ARM处理器正常的程序执行状态,大部分任务执行在这种模式。
快速中断模式(fiq):当一个高优先级(fast)中断产生时会进入这种模式,用于高速数据传输或通道处理外部中断模式(irq):当一个低优先级(normal)中断产生时将会进入这种模式。
用于通用的中断处理管理模式(svc):当复位或软中断指令执行时将会进入这种模式, 供操作系统使用的一种保护模式。
中止模式(abt):当存取异常时将会进入这种模式,用于虚拟存储及存储保护。
未定义模式(und):当执行未定义指令时会进入这种模式,软件仿真硬件协处理器。
系统模式(sys):供需要访问系统资源的操作系统任务使用,运行具有特权的操作系统任务
8.ARM状态下包括哪些通用寄存器、状态寄存器。
R13、R14、R15的作用。
通用寄存器:1.未分组寄存器R0-R7 2.分组寄存器R8-R14 3.程序计数器PC(R15)
状态寄存器:R16用作CPSR
R13常用作堆栈指针 R14子程序连接寄存器 R15程序字数器(PC)
9.CPSR、SPSR寄存器的作用。
CPSR当前程序状态寄存器 SPSR备份的程序状态寄存器
10.ARM有哪些异常?这些异常在什么情况下发生?
复位:复位电平有效时
未定义指令:遇到不能处理指令
软件中断:执行SWI指令产生,用于用户模式下的程序调用特权操作指令
指令预取中止:处理器预取指令的地址不存在或该地址不允许当前指令访问
数据中止:处理器数据访问指令的地址不存在或该地址不允许当前指令访问
IRQ:外部中断请求有效,且CPSR中的I位为0时
FIQ:快速中断请求引脚有效,且CPSR中的F位为0时
11.异常向量表存放在哪里?。
存储器的前8个字中除了地址0x00000014之外,全部被用作异常矢量地址
12.ARM指令寻址方式有哪些?
立即寻址寄存器寻址多寄存器寻址寄存器偏移寻址寄存器间接寻址基址寻址堆栈寻址块复制寻址相对寻址
13.什么是指令的条件域?
14.在ARM的立即寻址方式下其立即数如何在指令编码中表示?
ADD R0,R0,#0x3f /*R0←R0+0x3f*/
在以上指令中,第二个源操作数即为立即数,要求以“#”为前缀,对于以十六进制表示的立即数,还要求在“#”后加上“0x”二进制加0b,十进制加0d或者省略
15.ADR和ADRL伪指令的作用,二者的区别是什么?LDR伪指令的作用是什么?如何传送立即数?
ADR:将基于PC或基于寄存器的地址值读取到寄存器中。
小范围的地址读取。
ADRL:将基于PC或基于寄存器的地址值读取到寄存器中。
中等范围的地址读取。
LDR:将一个32位的立即数或者一个地址值读取到寄存器中。
大范围的地址读取。
例如:LDR R0,=0xFFF
把立即数0xFFF存放在某数据池里用指令LDR R0, [PC,??]代替实现功能
16.跳转、加载/存储指令、数据处理指令的常见使用方法。
(堆栈操作,MOV, LDR,STR,LDM,STM 加减法,
BX, ADR, LDR伪指令)
17.ATPCS基本规则了解
是ARM程序和Thumb程序中子程序调用的基本规则,目的是为了使单独编译的C语言程序和汇编程序之间能够相互调用。
这些基本规则包括子程序调用过程中寄存器的使用规则、数据栈的使用规则和参数的传递规则。
18.画出开发嵌入式系统时,开发板与微机的连线图,弄清各连线的用途
19.硬实时操作系统的特点。
硬实时系统中,不仅要求任务响应要实时,而且要求在规定的时间内完成事件的处理。
20.存储器Nand-Flash 与Nor-Flash的区别
通常读取NOR的速度比NAND稍快一些,而NAND的写入速度比NOR快很多
在NOR器件上运行代码不需要任何的软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD)
21.存储器SRAM与DRAM区别.
SRAM是英文Static RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。
不像DRAM内存那样需要刷新电路,每隔一段时间,固定要对DRAM刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,所以在主板上SRAM存储器要占用一部分面积
22.s3c2410的引脚OM[1:0]的作用。
其三种启动方式不同点,启动过程如何?
OM[1:0]在产品测试时可以将S3C2410A置于测速模式下,它还决定nGCS0使能区域的总线宽度,接在该引脚上的上拉或下拉电阻决定了它在复位期间的逻辑电平
⏹在00时处理器从NAND Flash 启动;
⏹在01时从16位宽的ROM 启动;
⏹在10时从32位宽ROM启动。
23.s3c2410存储系统的特征,设置存储器系统涉及的内容,进行内存映射的目的。
S3C2410存储器控制器提供访问外部存储器所需要的存储器控制信号,具有以下特性,支持大端小端模式,除bank0具有16/32位地址位宽外,其他bank都具有可编程位宽(8、16、32位)。
8个bank中其中6个用作ROM,SRAM,另外两个用作ROM,SRAM,SDRAM,bank0~bank7固定起始地址,bank7的起始地址可以调节。
bank6和bank7的大小可以编程。
启动方式有两种,配置OM[1:0]=00b,可以从NAND flash启动,为了支持NAND Flash 的启动装载,S3C2410配置了一个叫做Steppingstone的内部SRAM缓冲器。
当系统启动时,NAND Flash中的前4KB的代码自动的载入Steppingstone 中,由硬件将内部SRAM起始地址映射到地址空间0x00000000,将pc指针直接指向地址空间的0x00000000 ,系统就开始执行指令代码,然后系统自动执行这些代码。
配置OM[1:0]=01或者10可以从NOR Flash启动,Nor flash的有自己的地址线和数据线,可以采用类似于RAM的随机访问方式,在nor flash上可以直接运行程序,所以nor flash可以直接用来做boot,采用nor flash启动的时候会把地址映射到0x00000000上。
24.S3C2410各个外围接口的功能:IIS,IIC,SPI,UART
IIS作为音频接口
IIC常将其用于连接串行存储器和LCD控制器,D/A…等功能扩展芯片
UART串行异步通讯接口
25.IIC总线有关知识的了解(接口,功能,工作流程)
使用I2C总线接口有4种操作模式:主传送模式、主接收模式、从传送模式、从接收模式
26.嵌入式系统中使用的LCD接口的几种方式
带有驱动电路的LCD显示模块,只要总线方式驱动;没有驱动电路的LCD显示器,使用控制器扫描方式。
27.嵌入式芯片内置的LCD功能模块有关知识的了解:外部接口定义,色彩,初始化内容。
VGA接口本质上是一个模拟接口,一般都采用统一的15引脚接口,包括2个NC信号、3根显示器数据总线、5个GND信号、3个RGB色彩分量、1个行同步信号和1个场同步信号。
其色彩分量采用的电平标准为EIA定义的RS343标准。
28.电阻式触摸屏工作原理,电容式触摸屏工作原理
电阻式触摸屏工作时,上下导体层相当于电阻网络。
当某一层电极加上电压时,会在该网络上形成电压梯度。
如有外力使得上下两层在某一点接触,则在另一层未加电压的电极上可以测的接触点处的电压。
然后用模/数转换器来测量电压,以此得出位置。
触摸屏通过交替使用水平和垂直电压梯度来获得x和y的位置
表面电容触摸屏:
只采用单层的ITO,当手指触摸屏表面时,就会有一定量的电荷转移到人体。
为了恢复这些电荷损失,电荷从屏幕的四角补充进来,各方向补充的电荷量和触摸点的距离成比例,我们可以由此推算出触摸点的位置。
29.BootLoader的一般要做的工作
处理器时钟,看门狗初始化
异常向量表
初始化存储器系统
初始化堆栈,中断处理
初始化有特殊要求的I/O端口、设备
初始化C应用程序执行环境,进入C代码应用程序
加载启动操作系统
更新操作系统
其他管理功能
30.Bootloader启动流程。
启动分为哪2个阶段,每个阶段主要完成哪些操作。
第一阶段:
⏹硬件设备初始化
⏹加载第二阶段的程序在RAM中
⏹设置堆栈
⏹跳转到第二阶段的C程序入口点
第二阶段:
⏹初始化本阶段要使用的硬件设备
⏹检测系统内存映射
⏹等待命令决定进入何种模式
⏹更新Linux:进入操作菜单,执行用户命令
⏹启动Linux:将Kernel映像和根文件系统映像从Flash拷贝到RAM中
⏹为内核设置启动参数
⏹调用内核
31.烧写Bootloader 的两种方式
使用ADS软件和ARM仿真器:先将编译后的Flash烧写程序加载到SDRAM中,运行Flash烧写程序,在指定Flash烧写的起始地址后,Flash烧写程序将从电脑上把编译好的Bootloader映像烧写到Flash 的指定位置
使用专门的Flash编程器:将Bootloader写入Flash,然后将烧写完毕的Flash插入板子上,这是针对Flash还没有插入板子的情形
32.嵌入式Linux开发环境主要包括哪些组件
Qt Creater:是跨平台的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE)。
此 IDE 能够跨平台运行,支持的系统包括 Linux(32 位及 64 位)、Mac OS X 以及Windows。
Eclipse:是一个开放源代码的、基于 Java 的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,通过插件组件构建开发环境,由插件扩展其功能,以支持各种不同的应用。
33.嵌入式Linux应用系统的开发涉及的内容
Step1:编辑源代码,在 PC 上编辑源代码
Step2:编译
Step3:下载并运行
34.ARM中的存储器管理单元MMU的作用是什么?
ARM MMU执行以下一些功能,将虚拟地址转换成物理地址;控制存储访问权限;决定存储器中每一页的Cache和写缓冲器的行为。
当禁用MMU时,所有的虚拟地址一一映射到与其相同的物理地址。
如果MMU在转换一个地址时失败,就会产生一个中止异常。
MMU只有在转换失败、权限错误和域(domain)错误时,才会中止。
35.理解Linux 文件系统概念。
36.Busybox的功能是什么?
BusyBox被形象的称为“嵌入式Linux的瑞士军刀”,它是一个Unix工具集,.简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令。
它采用了一种非常巧妙的方式,实现了“使用一个程序完成所有的事”。
37.Linux系统如何管理使用设备?
所有的设备都抽象为文件,使用设备文件来表示硬件设备,对设备的访问像操作普通文件一样。
38.Linux字符设备驱动程序的代码结构大致可以分为几个部分,各部分的功能。