嵌入式系统复习资料.doc_第1页
嵌入式系统复习资料.doc_第2页
嵌入式系统复习资料.doc_第3页
嵌入式系统复习资料.doc_第4页
嵌入式系统复习资料.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Cha11.什么是嵌入式系统?答:根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。3.嵌入式系统有哪些部分组成?答:粗略划分:嵌入式处理器、外围设备、嵌入式操作系统(可选)、嵌入式应用软件 稍细划分:嵌入式处理器、外围设备、驱动程序、嵌入式操作系统、应用接口4.嵌入式系统有哪些特点?答:嵌入式系统是面向具体应用的产品嵌入式软件特征:实时性、高质量、高可靠、程序固化。需要软硬件开发工具和系统软件需要应用专家参与开发嵌入式系统分散而不可垄断。6.详细说明什么是MPU、MCU、SOC、SOPC和SCM答:嵌入式微处理器(MPU):就是和通用计算机的处理器对应的CPU,可以认为是“增强型”通用微处理器 。嵌入式微控制器(MCU):就是将整个计算机系统的主要硬件集成到一块芯片中,芯片内部集成ROM/EPROM、RAM、总线,总线逻辑、定时/计数器、Watchdog、I/O、串行口、A/D等各种必要功能和外设。嵌入式片上系统(SOC):是追求产品系统最大包容的集成器件。绝大多数系统构件都在一个系统芯片内部。嵌入式可编程片上系统(SOPC):是用可编程逻辑技术把整个系统放到一块硅片上。Cha21.ARM的含义是什么? 答:ARM是Advanced RISC Machines的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的统称,还可以认为是一种技术的名字。2.在ARM微处理器系列中ARM9TDMI中的“9TDMI”是什么含义。答:9:采用版本为9的ARM微处理器 T:支持16为压缩指令集Thumb,称为T变种具D: 支持片上Debug,称为D变种 M:内嵌硬件乘法器 Multiplier,称为M变种 I: 嵌入式ICE,支持片上断点和调试,称为I变种。6.ARM使用哪些工作状态和工作模式?答:ARM处理器的工作状态:(一)ARM状态,处理器执行32位的字对齐的ARM指令;(2)Thumb状态,处理器执行16位半字对齐的Thumb指令。(二)ARM处理器的工作模式:用户模式(usr)、快速中断模式(fiq)、外部中断模式(irq)、管理模式(svc)、中止模式(abt)、未定义模式(und)、系统模式(sys)7.ARM使用哪些工作模式?哪些是特权模式?哪些是异常模式?答:ARM处理器的工作模式:用户模式(usr)、快速中断模式(fiq)、外部中断模式(irq)、管理模式(svc)、中止模式(abt)、未定义模式(und)、系统模式(sys);除用户模式之外的其他六种工作模式又称为特权模式;除用户模式、系统模式之外的五种模式成为异常模式。8.ARM9寄存器分成哪几类?各类有哪些寄存器?寄存器LR有什么用途?答:分两类:31个通用寄存器和6 个状态寄存器。31个通用寄存器:R0R15;R13_svc、R14_svc;R13_abt、R14_abt;R13_und、R14_und;R13_irq、R14_irq;R8_fiq-R14_fiq 。6 个状态寄存器:CPSR;SPSR_svc、SPSR_abt、SPSR_und、SPSR_irq和SPSR_fiq。LR (R14):也称作子程序链接寄存器或链接寄存器LR,当执行BL子程序调用指令时,R14中得到R15(程序计数器PC)的备份。其他情况下,R14用作通用寄存器。与之类似,当发生中断或异常时,对应的分组寄存器R14_svc、R14_irq、R14_fiq、R14_abt和R14_und用来保存R15的返回值。9.CPSR各位当意义是什么?31 30 29 28 27 26.8 7 6 5 4 3 2 1 0NZCVQ保留IFTM4M3M2M1M0N:正负号/大小 标志位,0表示正数/大于,1表示负数/小于;Z:零标志位 0表示结果不为零,1表示结果为零C:进位/借位/移出位0表示未进位/借位/移出0;1表示进位/未借位/移出1 V:溢出标志位 0表示:结果未溢出;1表示:结果溢出;Q:DSP运算指令溢出标志位。0表示结果未溢出,1表示结果溢出。I、F:irq和fiq中断允许和禁止控制位,1 禁止irq或fiq中断 0 允许irq或fiq中断。T:处理机运行状态控制位,T=1时,程序运行于Thumb状态,T=0时,程序运行于ARM状态。M4M10:处理机运行模式控制位。15.什么是JTAG接口?什么是JTAG仿真器?JTAG仿真器一般有什么功能?答:JTAG接口是用于芯片内部测试及系统进行仿真、调试的接口。JTAG仿真器也称JTAG的在线调试器ICD,是通过ARM芯片的JTAG边界扫描口进行调试的设备。功能:设置断点、观察点调试运行;观察处理器状态、系统状态;下载固化程序补充:ARM9异常响应过程(进入异常)执行哪些操作?答:保存返回地址、保存当前状态寄存器CPSR的内容、设置当前状态寄存器CPSR中的相应位、转去执行中断处理程序。Cha 31.ARM指令中的第二操作数“operand2”有哪些具体形式?答:ARM指令中的第二操作数“operand2”有哪些具体形式:三种:寄存器、寄存器移位、8位位图立即数。2.对于ARM当变址寻址方式,有基地址和偏移地址两部分组成。(1)基地址可以使哪些寄存器?(2)偏移地址可以有哪些形式?(3)总地址当计算方法有哪些?怎么表示?(4)变址寻址应用于哪些指令?答:(1)基地址可以是通用寄存器R0-R15中的任意一个。(2)偏移地址可以有三种形式:12位立即数、寄存器、寄存器移位。(3)总地址的计算方法有三种: 前变址模式:先基址+偏址,生成操作数地址,做指令指定的操作。如:LDR Rd,Rn,#m;后变址模式(修改基址寄存器): 基址寄存器不加偏移作为操作数地址。 完成指令操作后,用(基址+偏移)的值修改基址寄存器。如:LDR Rd,Rn,#m;自动变址模式(修改基址寄存器): 先基址+偏移,生成操作数地址,做指令指定的操作。然后自动修改基址寄存器。如:LDR Rd,Rn,#m !(4)有4条指令: LDR、STR、LDM、STM3.将存储器中0x400000开始的200字节的数据传送到0x400800开始当区域答:MOV R0,#0x400000 LDR R1,=0x400800MOV R7,#200 LP LDRB R2,R0,#1STRB R2,R1,#1 SUBS R7, R7,#1BNE LP HERE B HERE6.编写一程序,查找存储器从0x400000开始的100个字中为0的数目,将其结果存到这100个字数据之后解:MOV R0,#0x400000 MOV R1,#0 MOV R7,#100LPLDR R2,R0,#4 CMP R2,#0 BNE NEXT ADD R1,R1,#1NEXT SUBS R7,R7,#1 BNE LP STR R1,R0 B $8.编写一简单ARM汇编程序,实现1+2+100的运算答:MOV R1,#0LOOP ADD R1,R1,R2 R1中为累加和SUBS R2,R2,#1 ;R2控制循环BNE LOOP另补充:1、ARM9有哪些寻址方式?答:立即寻址、寄存器寻址、寄存器间接寻址、基址寻址、堆栈寻址、块拷贝寻址、相对寻址2、ARM9指令集分为哪几种类型?各类有哪些指令(可以不考虑协处理器指令)答:ARM9指令集分为五类:存储器访问指令、数据处理指令、分支指令、协处理器指令、杂项指令。存储器访问指令:单存储器存取指令,多存储器存取指令。数据处理指令:算术运算指令,逻辑运算指令,数据传送指令,比较指令,测试指令。分支指令:B分支指令 BL带链接的分支指令 BX带状态切换的分支指令 BLX带链接和状态切换的分支指令。杂项指令:程序状态寄存器操作指令,中断操作指令。Cha4概念:1.S3C2410主要特性有哪些?答:S3C2410主要特征:具有16KB指令Cache、16KB数据Cache和存储器管理单元MMU;外部存储器控制器,可扩展8组,每组128MB,总容量达1GB;支持从Nand flash存储器启动;55个中断源,可以设定1个为快速中断,有24个外部中断,并且触发方式可以设定;4通道的DMA,并且有外部请求引脚;3个通道的UART,带有16字节的TX/RX FIFO,支持IrDA1.0功能;具有2通道的SPI、1个通道的IIC串行总线接口和1个通道的IIS音频总线接口;有2个USB主机总线的端口,1个USB设备总线的端口;有4个具有PWM功能的16位定时器和1个16位内部定时器;8通道的10位A/D转换器,最高速率可达500kB/s;提供有触摸屏接口;具有117个通用I/O口和24通道的外部中断源;兼容MMC的SD卡接口;具有电源管理功能,可以使系统以普通方式、慢速方式、空闲方式和掉电方式工作;看门狗定时器;具有日历功能的RTC;有LCD控制器,支持4K色的STN和256K色的TFT,配置有DMA通道;具有PLL功能的时钟发生器,时钟频率高达203MHz;双电源系统:1.8/2.0V内核供电,3.3V存储器和I/O供电。2. S3C2410的结构分为几部分?每一部分主要由哪些部件构成?答:主要由两面大部分构成:ARM920T内核和片内外设。其中ARM920T内核:ARM9内核ARM9TDMI、32KB的Cache、MMU;片内外设:分为高速外设和低速外设两部分。3. S3C2410的存储空间的分布、由哪几部分构成答:S3C2410X的存储空间分成8组,最大容量是1GB,bank0-bank5为固定128MB,为只读存储器;bank6和bank7的容量可编程改变,可以是2、4、8、16、32、64、128MB,并且bank7的开始地址与bank6的结束地址相连接,但是二者的容量必须相等,既可以作为程序存储器,也可以作为数据存储器,一般这一部分做RAM使用;bank0可以作为引导ROM,其数据线宽只能是16位和32位,复位时由OM0、OM1引脚确定,其他存储器的数据线宽可以是8位、16位和32位。10. S3C2410的A/D转换器有哪些特点?有哪些相关的寄存器?功能是什么?答:S3C2410的A/D转换器有特点:1、分辨率:10位;精度:1LSB 2、线性度误差: 1.5-2.0LSB;3、最大转换速率:500KSPS;4、输入电压范围:03.3v;5、系统具有采样保持功能;6、常规转换和低能源消耗功能;7、独立/自动的X/Y 坐标转换模式。相关的寄存器及功能:有5个专用寄存器,如下:ADCCON:ADC控制寄存器ADCTSC :ADC触摸屏控制寄存器ADCDLY:ADC起始延迟寄存器ADCDAT0: ADC转换数据0寄存器ADCDAT1: ADC转换数据1寄存器12. S3C2410的中断系统有哪些特点?相关的寄存器有哪些?功能是什么?答:S3C2410的中断系统的特点:有56个中断源,对外提供24个外中断输入引脚,内部所有设备都有中断请求信号,例如DMA控制器、UART、IIC等等。S3C2410X的ARM920T内核有两个中断,IRQ中断和快速中断FIQ。相关的寄存器及功能:有8个专用寄存器,如下:SRCPND:中断源挂起(标志)寄存器 INTMOD: 中断模式寄存器INTMSK:中断屏蔽寄存器PRIORITY:中断优先级寄存器INTPND:中断服务(挂起)寄存器INTOFFSET:中断偏移寄存器SUBSRCPND:子中断源请求标志寄存器INTSUBMSK:子中断源屏蔽寄存器15. S3C2410的定时器系统有哪些特点?有哪些部分构成?相关的寄存器有哪些?是如何工作的?答:S3C2410X定时器的主要特性:1、5个16位定时器;2、2个8位预分频器和2个4位分频器;3、可编程PWM输出占空比;4、具有初值自动重装连续输出模式和单脉冲输出模式;5、具有死区生成器。构成:1、时钟控制:系统为每个定时器设置有: 预分频器、分频器。2、定时器组成:减法计数器、初值寄存器、比较寄存器、观察寄存器、控制逻辑等部分构成。相关的寄存器:共有6种、17个寄存器:RegisterAddress R/WDescription Reset ValueTCFG00x51000000R/W配置寄存器 00x00000000TCFG10x51000004R/W配置寄存器 10x00000000TCON0x51000008R/W控制寄存器0x00000000TCNTBn0x510000xxR/W计数初值寄存器(5个)0x0000TCMPBn0x510000xxR/W比较寄存器(4个)0x0000TCNTOn0x510000xxR观察寄存器(5个)0x0000定时器工作过程:装入初值、启动计数,计数结束产生中断请求,并且可以重装初值连续计数。编程:11.编写一程序,用查询的方式,对S3C2410X的A/D 转换器的第0通道连续进行100次A/D转换,然后将其结果求平均值。设fpclk=50MHz。(注意:A/D转换器有独立的模拟信号输入引脚AIN0AIN7)答:源码如下#define rADCCON (*(volatile unsigned *)0x58000000)#define rADCDAT0 (*(volatile unsigned *)0x5800000c)#define pref 49#define ch 0int adc(void)rADCCON=(114)|(pref6)|(ch3)|1; /允许预分频,启动转换while(rADCCON&0x01=1); /查询是否已经启动转换while(rADCCON&0x8000=0); /查询转换是否结束return rADCDAT0&0x3ff; /读取转换结果void main()int adc_data=0, i;for(i=0;i100;i+)adc_data+=adc();adc_data=adc_data/100;printf(adc average is: %dn,adc_data);16.编写一程序,使用timer0产生并输出频率为10KHz、占空比为1/2的方波。设fpclk=50MHz(注意:对timer0和相关引脚初始化)答:总分频数值=50M/10K=5000设预分频为25(预分频值为25-1=24),分频为2,计数器初值应该为100,这样总分频数值=25*2*100=5000所以:计数初值为100,比较寄存器值为100/2=50TCFG0=24TCFG1=TCFG1 & 0 | (020) | (00)TCON=TCON & (0x0F) | 0x0aTCON=TCON & (0x0f) | 0x09程序如下:#define rGPBCON (*(volatile unsigned *)0x56000010)#define rTCFG0 (*(volatile unsigned *)0x51000000)#define rTCFG1 (*(volatile unsigned *)0x51000004)#define rTCON (*(volatile unsigned *)0x51000008)#define rTCNTB0 (*(volatile unsigned *)0x5100000C)#define rTCMPB0 (*(volatile unsigned *)0x51000010)voidmain(void)rGPBCON=rGPBCON & 0x03 | 0x02; /设置T0输出引脚rTCFG0=24;/设置预分频rTCFG1=0; /设置T0(中断/DMA)模式和分频rTCNTB0=100; /设置T0初值rTCMPB0=50; /设置T0比较值rTCON=rTCON & 0x0f | 0x0a; /设置控制寄存器,手动装载T0初值rTCON=rTCON & 0x0f | 0x09; /设置控制寄存器,自动重装、启动运行Cha 52.VMware是什么?怎样在VMware平台上安装linux操作系统?答:VMware:虚拟平台机软件,用来模拟PC机环境。在WMware平台上安装Linux操作系统:先安装VMware虚拟机,然后在虚拟机下再安装Linux操作系统。4.gcc编译器有哪些功能?有哪些常用的选项?如何使用?答:(1)预处理(也称预编译,Preprocessing);编译(Compilation);汇编(Assembly) ;连接(Linking)。(2)gcc的格式为:gcc option file-o 表示要求编译器生成所指定名字的可执行文件(必须指定名字);-c表示只要求编译器进行编译和汇编,而不要求链接,生成后缀为.o的同名的目标文件(不需要指定名字);-g 要求编译器在编译的时候,产生对程序进行调试的信息;(不用输入所产生的可执行文件名,自动生成a.exe) -E 表示编译器对源文件只进行预处理就停止,而不做编译、汇编和链接;-S 表示编译器只进行编译,而不做汇编和链接;(不需要输入目标文件名)-O 是编译器对程序提供的编译优化选项,可以提高执行文件的运行效率; -Wall 指定产生全部的警告信息。5.Makefile和Make的功能是什么?采用Makefile文件有什么优点?答:(1)Makefile文件的内容主要是按照规则,对系统中本目录下的文件(.c、.s、.o、.h、.lib等)根据相互关系和要求进行组织,设定各自的编译方法,指定所生成的目标。Makefile是一种文本格式文件。Makefile是工程系统编译批处理文件。(2)Make是Makefile文件的解释器。Make对Makefile文件解释后,生成Linux的shell命令和gcc编译命令,接着对命令执行,最终生成目标文件。采用Makefile文件有什么优点:借助于该工具,是编译工作变得非常轻松。6.简单描述Makefile文件的组成。答:Makefile文件一般包含三个方面的内容:(1)需要创建的项目(.o或.exe文件名);(2)项目所需要的文件,即依赖的文件;(3)创建项目需要运行的命令8.什么是交叉编译?为什么采用交叉编译?答:交叉编译:就是在一个平台上生成可以在另一个平台上执行的代码。采用交叉编译的主要原因:多数嵌入式目标机不能提供足够的资源供编译过程使用,因而只好将编译工作转移到高性能的宿主机中进行。24.简述嵌入式系统应用程序的开发步骤答:嵌入式系统应用程序开发的步骤:编写应用程序;编译应用程序;下载应用程序(通过串行口下载程序、通过网络FTP服务下载程序、通过网络NFS服务下载程序)。Cha 61.简述Linux系统下设备的分类。.答:Linux系统下设备分成两大类:一类是块设备(类似磁盘以记录块或扇区为单位,成块进行输入/输出的设备),另一类是字符设备(类似键盘以字符为单位,逐个进行输入/输出的设备)。3.设备驱动程序一般有哪几部分组成?答:一般Linux设备驱动程序可以分为三个组成部分。1、自动配置和初始化子程序。2、服务于I/O请求的子程序。3、中断服务程序7.简要说明字符设备注册函数register_chrdev 和注销函数unregister_chrdev中参数的意义答:(1)格式:int register_chrdev(unsigned int major,const char *na

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论