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

下载本文档

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

文档简介

第一章1. 嵌入式系统的3个基本要素 “嵌入性”、“专用性”、“计算机系统”。2. 嵌入式系统的实时分类非实时系统、软实时系统、硬实时系统。3. 嵌入式系统的硬件平台组成嵌入式系统的硬件平台是以嵌入式处理器为核心,由存储器、I/O单元电路、通信模块、外部设备等必要的辅助接口组成的。4. 嵌入式系统的3层和4层结构3层: 嵌入式系统硬件平台、嵌入式实时操作系统和嵌入式系统应用。 4层:嵌入式系统硬件平台、硬件抽象层、嵌入式实时操作系统和嵌入式系统应用。5. 什么是嵌入式系统?狭义上讲,嵌入式系统是指:“嵌入到对象体系中的、用于执行独立功能的专用计算机系统”。 定义为以应用为中心,以微电子技术、控制技术、计算机技术和通讯技术为基础,强调硬件软件的协同性与整合性,软件硬件可剪裁的,适应应用系统对功能、可靠性、成本、体积、功耗和应用环境有等严格要求的专用计算机系统。广义上讲,凡是带有微处理器的专用硬件系统都可以称为嵌入式系统。6. 什么是硬件抽象层HAL,它有什么功能?硬件抽象层通过接口向操作系统以及应用程序提供对硬件进行抽象后的服务。硬件抽象层一般应包含相关硬件的初始化、数据的输入输出操作、硬件设备的配置操作等功能。7. 硬件抽象层的定义和代码设计应该具有哪些特点?1.硬件抽象层具有与硬件的密切相关性;2.硬件抽象层具有与操作系统的无关性;3.接口定义的功能应包含硬件或系统所需硬件支持的所有功能;4.定义简单明了,太多接口函数会增加软件模拟的复杂性;5.可测性的接口设计有利于系统的软硬件测试和集成。8. 嵌入式系统的应用领域。工业过程控制 、网络通信设备、 消费电子产品 、航空航天设备 、军事电子设备和现代武器.第二章1、ARM的三种含义,常见的ARM芯片。一个公司的名称、一类微处理器的通称、一种技术的名称。常见的ARM芯片有ARM7、ARM9、ARM9E、ARM10E、ARM11和SecurCore、Cortex3、RISC与CISC的区别指标RISCCISC指令集一个周期执行一条指令,通过简单指令的组合实理复杂操作;指令长度固定指令长度不固定,执行需要多个周期。流水线流水线每周期前进一步。指令的执行需要调用微代码的一个微程序寄存器更多通用寄存器。用于特定目的的专用寄存器Load/Store结构独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。处理器能够直接处理存储器中的数据。4、ARM微处理器的应用选型主要考虑哪些方面?1. ARM微处理器内核的选择2. 系统的工作频率3. 芯片内存储器的容量4.片内外围电路的选择5、存储器的“大端”格式、“小端”格式 大端格式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中;小端格式:数据的低字节存储在低地址中,而数据的高字节则存放在高地址中。6、ARM系统支持的指令集,都是多少位?ARM系统支持两种指令集:ARM指令集和Thumb指令集。ARM指令集32位,Thumb指令集16位。7、ARM9有多少寄存器,通用寄存器,状态寄存器?R13、R14、R15通常被用作?ARM9的内部总共有37个32位的寄存器,其中31个用作通用寄存器,6 个用作状态寄存器.。R13寄存器的作用通常是栈指针;R14用作子程序链接寄存器,用于保存子程序的返回地址;R15的功能是程序计数器,从R15读取的值是处理器正要取指的地址。8、CPSR寄存器标志位含义4个条件代码标志;2个中断控制位;5个对当前处理器模式进行编码的位;1个指示当前执行指令的工作状态位;保留位.9、ARM处理支持哪7种运行模式? 哪5种的异常模式?用户模式、快速中断模式、外部中断模式、管理模式、数据访问终止模式、系统模式、未定义指令中止模式。其中除去用户模式和系统模式以外的5种称为异常模式。10、当一个异常发生时,ARM处理步骤?(1)将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能重新开始执行。(2)将CPSR复制到相应的SPSR中。(3)根据异常类型,强制设置CPSR的运行模式位。(4)强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处,同时设置中断禁止位,以禁止中断发生。11、ARM异常向量及其优先级。优先级异常优先级异常 1(最高)复位4IRQ2数据终止5预取指令终止3FIQ 6(最低)未定义指令、SWI12、ARM异常向量及其入口地址。 地址异常进入模式0x00000000复位管理模式0x00000004未定义指令未定义模式0x00000008软件中断管理模式0x0000000C终止(预取指令)终止模式0x00000010终止(数据)终止模式0x00000014保留保留0x00000018IRQIRQ0x0000001CFIQFIQ第三章1. ARM指令的格式,并解释每一部分的含义 。S ,其中各项介绍如下: 操作码,如ADD表示算术加操作指令; 决定指令执行的条件域;S 决定指令执行是否影响CPSR寄存器的值; 目的寄存器; 第一个操作数,为寄存器; 第二个操作数。2. ARM处理器的堆栈工作方式 。满递增方式:堆栈指针指向最后入栈的数据位置,且由低地址向高地址生成。满递减方式:堆栈指针指向最后入栈的数据位置,且由高地址向低地址生成。空递增方式:堆栈指针指向下一个入栈数据的空位置,且地址由低向高生成。空递减方式:堆栈指针指向下一个入栈数据的空位置,且地址由高向低生成。3. B、BL和BX指令的区别。1. B指令(分支,跳转)2. BL指令(分支和链接指令,子程序调用)3. BX指令(分支和交换指令,ARM/Thumb切换)4. MOV/LDR/STR/ADD/SUB/LSL指令。指令解释,如LDR R2, R4,#5! 的含义。MOV R4,R5;将寄存器R5的内容传送到寄存器R4MOV PC,R14;将寄存器R14的内容传送到PCLDRR1,R2 ;R1R2,将以R2中的内容为地址,将该地址中的数据传送到R1中LDR R2, R4,#5! ;R2R4+5,R4R4+5;将R4的内容加上5形成操作数的有效地地址,从而取得操作数存入寄存器R2中,然后 R4的内容自增5个字节。STRR1,R2;R2R1,将R1中的内容传送到以R2中的内容为地址的存储器中。MOV R0, R1, LSL#2 ;将R1中的内容左移2位后传送到R0中,ADD R0,R3,R4 ; R0 = R3 + R4ADD R0,R3,#10 ; R0 = R3 + 10SUB R0,R1,#0x10 ; R0 = R1 - 0x10SUB R0,R2,R3,LSL#1 ; R0 = R2 - (R3 1)第四章1、asmImport、Export、AREA、CODE、READONLYImport:使用IMPORT伪操作声明该全局变量;Export:在汇编中用EXPORT导出函数名,并用该函数名作为汇编代码段的标识;AREA:段指示伪指令,用于定义一个代码段或数据段;CODE:代码段的相关属性,用于定义代码段,默认为READONLY;READONLY:代码段的相关属性,指定本段为只读,默认为READONLY。2、汇编语言结构AREA 伪指令定义一个段,并定义段的相关属性,本例定义一个名为 example 的代码段,属性为只读。ENTRY 伪指令标识程序的入口点,接下来为语句段。执行主代码后通过使用软件中断SWI指令实现了返回到DEBUG 。END 伪指令指示代码段的结束。3、C语言中内嵌ARM汇编指令时有哪些限制?(1)不能直接赋值PC,程序跳转要使用B或者BL指令。(2)在使用物理寄存器时,不要使用过于复杂的C表达式,避免物理寄存器冲突。(3)R12和R13可能被编译器用来存放中间编译结果,计算表达式值时可能将R0R3、R12及R14用于子程序调用,因此要避免直接使用这些物理寄存器。(4)一般不要直接指定物理寄存器,而让编译器进行分配。4、C/C+与ARM汇编语言混合编程有哪些情况?1在C语言中内嵌汇编2在汇编中使用C程序全局变量3C程序中调用汇编的函数4在汇编程序中调用C的函数5C和C+混合调用5、C语言中内嵌汇编语言实例#include void my_strcpy(const char *src, char *dest) /声明一个函数char ch; /声明一个字符型变量_asm /调用关键词_asmLOOP /循环入口LDRB ch,src,#1 /STRB ch,dest,#1 /CMP ch, #0/比较CH是否为零,否则循环。BNE LOOP /B 指令跳转,NE为Z位清零不相等int main();C语言主程序char *a = forget it and move on!;char b64; /字符型数组my_strcpy(a, b);/调用子函数,进行复制printf(original: %s, a);/屏幕输出,a的数值printf(copyed: %s, b); /屏幕输出,b的数值return 0;6、C语言调用汇编语言的函数实例/* C程序*/#include extern void asm_strcpy(const char *src, char *dest);/声明可以被调用的函数int main() /C语言主函数 const char *s = seasons in the sun; /声明字符型指针变量 char d32;/声明字符型数组,初始化为0 asm_strcpy(s,d);/调用汇编子函数 printf(source: %s,s); printf( destination: %s,d); return 0; 汇编语言程序段AREA asmfile,CODE,READONLY ;声明汇编语言程序段EXPORT asm_strcpy ;声明可被调用函数名称asm_strcpy ;函数入口地址LOOP ;循环标志条LDRB R4, R0, #1 ;R0的地址加1后送给R4 CMP R4, #0 ;比较R4是否为零BEQ OVER ;为零跳转到结束,目标数组初始化为0STRB R4, R1, #1;R4的值送入R1加1地址B LOOP ;跳转到循环位置OVER ;跳出标志位MOV PC, LR ;子函数返回END第五章1、S3C2440A的地址线对外引出条数?寻找空间多大?内存分成几个bank,每个bank多大?S3C2440A芯片对外只引出了30根寻址的存储空间是1GB,并且被分成8个存储模块,每块128MB对外引出地址线(A0-A26)。2、SRAM、DRAM的特点,NorFlash、NandFlash的特点。SRAM: 优点:速度快,常用作计算机里的Cache;缺点: 功耗大,价格高,集成度差;DRAM: 优点:结构简单,拥有非常高的密度,单位体积的容量较高因此成本较低。但相反的,DRAM也有访问速度较慢,耗电量较大的缺点。NorFlash:特点是芯片内执行,这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。NOR的传输效率很高,在14MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。NandFlash结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口。3、S3C2440A共有多少个GPIO?被分成几组?S3C2440A芯片共130个GPIO端口,被分为9组。5、S3C2440A共有多少个中断源?外部、内部几个?可以接收60个中断源,24个外部中断EINT0-23,36个内部中断。外部中断可以根据紧急情况分EINT0-3,EINT4-7,EINT8-23。8、看门狗定时器的原理和作用原理:设系统程序完整运行一周期的时间是tp,看门狗的定时周期为ti,且titp;在程序运行一周期tp后就修改(再重新设定看门狗的定时周期)定时器的计数值(俗称“喂狗”),只要程序正常运行,定时器就不会溢出;若由于干扰等原因使系统不能在tp时刻修改定时器的计数值,定时器将在ti时刻溢出,引发系统复位,使系统得以重新运行,从而起到监控作用。作用:就是当系统“跑飞”而进入死循环时,恢复系统的运行。9、GPIO如何设置输入、输出、上拉电阻?配置输出端口,可以向GPnDAT的相应位写数据配置输入端口,可以从GPnDAT的相应位读数据控制每个端口组的上拉电阻的允许/禁止:某位为0,允许上拉电阻;某位为1,禁止上拉电阻简答题1、与通用计算机系统相比,嵌入式系统的特点。1.系统内核小2.专用性强3.运行环境差异大4.可靠性要求高5.系统精简和高实时性系统6.具有固化在非易失性存储器中的代码7.嵌入式系统开发工作和环境2、采用RISC架构的ARM微处理器的特点。体积小、低功耗、低成本、高性能;支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;大量使用寄存器,指令执行速度更快;大多数数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高;指令长度固定。 3、常见的ARM处理器的寻找方式。寄存器寻址、立即寻址、寄存器间接寻址、变址寻址、寄存器移位寻址、多寄存器寻址、堆栈寻址、相对寻址4、S3C2440A设置外部中断的一般方法。1.挑选GPx组的引脚,设置为中断输入(不带上拉电阻)2.通过EXTINT0-2寄存器,设置中断触发方式 3.清空中断源寄存器ESRCPND .中断悬挂寄存器EINTPND 4.设置中断屏蔽寄存器EINTMASK.INTMSK允许中断5.设置中断处理函数。如:pISR_EINT8_23 = (U32)Key_ISR;5、S3C2440A的定时器个数,配置定时器的一般流程:S3C2440A有5 个16 位的定时器;1选择一个定时器(0,1,2,3,4)2设置预分频值(TCFG0),设置分频值(TCFG1),设置计数初始值(TCNTBn)3设置TCON(手动更新,自动加载), 清除TCON的手动更新4注册定时器中断服务函数5开启定时器中断(定时器中断使能),开启定时器6、RISC体系结构应具有如下特点。采用固定长度的指令格式,指令归整、简单、基本寻址方式有23种。使用单周期指令,便于流水线操作执行。大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/ 存储指令可以访问存储器,以提高指令的执行效率。除此以外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗.所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。可用加载/存储指令批量传输数据,以提高数据传输效率可在一条数据处理指令中同时完成逻辑处理和移位处理在循环处理中使用地址的自动增减来提高运行效率。两个例题while(1) for(i=0;i4;i+) GPFDAT=ledtabi; Delay(70); return(0);void Delay(unsigned int x ) unsigned int i,j,k;for(i=0;i=x;i+)for(j=0;j=0xff;j+)for(k=0;k=0xff;k+);AREA |DATA|,CODE,READONLYENTRYldr r13,=0x1000 IMPORT Ledlamp;b LedlampEND例5-2程序如下:#define GPFCON (*(volatile unsigned *)0x56000050)#define GPFDA

温馨提示

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

评论

0/150

提交评论