




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1章 嵌入式系统概述第1章1、什么是嵌入式系统?嵌入式系统的特点是什么?嵌入式系统概念:(1) IEEE对嵌入式系统的定义:用于控制、监视或者辅助操作机器和设备的装置。(2)一般定义:以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式系统的特点: (1) 专用的计算机系统 (2) 必须满足环境要求 (3) 必须能满足对象系统的控制要求 (4) 是集成计算机技术与各行业应用的集成系统 (5) 具有较长的生命周期 (6) 软件固化在非易失性存储器中 (7) 必须能满足实时性要求 (8) 需要专用开发环境和开发工具5
2、、简单分析几种嵌入式操作系统的主要特点,包括嵌入式Linux、Windows CE、uCOS II 及VxWorks。(1)嵌入式Linux:有多个主流版本,根据应用需求,性能略有差别。CLinux是Linux小型化后,适合于没有MMU的微处理器芯片而裁剪成的操作系统,CLinux保持了传统Linux操作系统的主要特性,包括稳定、强大的网络和文件系统的支持,CLinux裁剪了大量的Linux内核以缩小尺寸,适合像512KB RAM、1MB Flash这样小容量、低成本的嵌入式系统。RT_Linux即能兼容通常的Linux,又能保证强实时性。(2)Windows CE:开发平台主要为WinCE
3、Platform Builder,有时也用EVC环境开发一些较上层的应用。WinCE开发难度远低于嵌入式Linux,实时性略低,常用于手机、PDA等手持设备中。(3)uCOS II:结构小巧、抢先式的实时嵌入式操作系统,具有执行效率高、占用空间小、可移植性强、实时性能好和可扩展性能等优点。主要用于小型嵌入式系统。 (4) VxWorks: 集成开发环境为Tornado,Vxworks因出现稍早,实时性很强,并且内核可极微(最小8K),可靠性较高等。通常应用在通信设备等实时性要求较高的系统中。第2章 嵌入式处理器体系结构1、具体说明ARM7TDMI的含义,其中的T、D、M、I分别代表什么?ARM
4、7TDMI是ARM7处理器系列成员之一,采用V4T版本指令。T表示Thumb,该内核可从16位指令集切换到32位ARM指令集;D表示Debug,该内核中放置了用于调试的结构,支持片内Debug调试;M表示Multiplier,支持位乘法;I表示Embedded ICE ,内含嵌入式ICE宏单元,支持片上断点和观察点。10、ARMV4及以上版本的CPSR的哪一位反映了处理器的状态?若CPSR=0x000000090,分析系统状态。CPSR=0x000000090表示当前处理器工作于ARM状态,系统处于用户模式下。CPSR的BIT5(T)反映当前处理器工作于ARM状态或Thumb状态。11、ARM
5、有哪几个异常类型,为什么FIQ的服务程序地址要位于0x1C?在复位后,ARM处理器处于何种模式,何种状态?ARM的7种异常类型:复位RESET异常、未定义的指令UND异常、软件中断SWI异常、指令预取中止PABT异常、数据访问中止DABT异常、外部中断请求IRQ异常、快速中断请求FIQ异常。在有快速中断发生时,CPU从0x1C处取出指令执行。ARM复位后处于管理模式,工作于ARM状态。12、为什么要使用Thumb模式,与ARM代码相比较,Thumb代码的两大优势是什么?为了兼容数据总线宽度为16位的应用系统,使用了ARM指令系统的一个子集Thumb指令系统。与等价的32位代码相比,Thumb指
6、令集在保留32位代码优势时,大大节省了系统的存储空间。13、说明AMBA、AHB、ASB以及APB的英文全称及其含义。AMBA(Advanced Microcontroller Bus Architecture)即先进的微控制器总线体系结构,是ARM公司公布的总线标准,这一标准定义了AHB、ASB、APB及AMBA共4种高性能的系统总线规范。AHB(Advanced High_performance Bus)先进的高性能总线,用于连接高性能系统组件或高宽带组件。它支持突发数据传输方式及单个数据传输方式,所有时序参考同一个时钟。ASB(Advanced System Bus)即先进的系统总线,用
7、于连接高性能的系统模块。它支持突发数据传输。APB(Advacned Peripheral Bus)即先进的外围接口总线,是一个简单的接口。它支持低性能的外围接口,APB是用来连接系统的周边组件。16、简述MMU从虚拟地址到物理地址的转换过程和方法。虚拟地址到物理地址的转换过程:当ARM要访问存储器时,MMU先查找TLB中的虚拟地址表,如果ARM的结构支持分开的地址TLB和指令TLB,那么它在取指令时使用指令TLB,其它的所有访问类别使用数据TLB;如果TLB中没有虚拟地址的入口,则是转换表遍历硬件从存储在主存储器中的转换表中获取访问权限,一旦取到,这些信息放在转换TLB中,它会放在1个没有使
8、用的入口处或覆盖1个已有的入口。虚拟地址到物理地址的转换方法:(1)确定1级页表的基地址。(2)合成转换表的1级描述符。(3)根据不同的1级描述符获取第2级描述符地址并找出第2级描述符。(4)将第2级页描述符指示的页基地址,与虚拟地址指示的页内偏移地址相加,得到相应页的物理地址,完成虚拟地址到物理地址的转换。第三章 典型嵌入式处理器1、简述LPC2000系列微控制器的内部有哪些重要的外设组件? 向量中断控制器、外部存储控制器、I2C中行总线控制器、SPI同步接口控制器、UART串口控制器、定时器、AD转换器、CAN总线控制器、看门狗定时器等。8、S3C44B0X如何组织8、16、32位的存储器
9、,地址线如何连接?S3C44B0X不同宽度的存储器地址线连接方法。存储器地址引脚8位总线16位总线32位总线A0A0A1A2A1A1A2A3A2A2A3A4A3A3A4A5Am-1Am-1Am-2Am-318、说明I2C的数据有效性和起停条件。数据有效性:当SCL信号为高电平时,SDA上的数据传输有效,传输时高位在前,低位在后,每个字节长度限制为位,而每次传送的字节总数没有限制。满足启动条件后的第一个字节应为地址域。每一个字节有一个应答位。起停条件:启动条件,在SCL信号保持高电平时SDA信号由高电平变为低电平;停止条件,要求在SCL信号保持高电平时SDA信号由低电平变为高电平。26、简述AT
10、91FR40162处理器的特点。AR91FR40162采用ARM7TDMI处理器核,内部集成了256KB的片内SRAM和1024K字的16位Flash存储器、完全可编程的外部总线接口, 8个优先级且可以独立屏蔽的向量中断控制器、32个可编程的I/O接口线、3通道16位定时/计数器、2个同步/异步收发器及可编程的看门狗定时器,能完成全静态操作,具有先进的省电特性。第四章 嵌入式处理器指令系统1、填空题(1)在源操作数为立即数时,应在前加#作为前缀,在#后加0x或&表示十六进制数,在#后加%表示二进制数,#后加0d或默认表示十进制数。(2)根据堆栈指针指向的数据位置不同,堆栈可分为满堆栈和
11、空堆栈。(3)用一条指令完成人条件加法运算,并更新CPSR中的条件码,R1+R2->R3 ADDS R3,R1,R2。(4)在程序执行过程中,是通过寄存器R15控制程序的运行的。(5)转移指令的跳转范围是-32MB-32MB。2、选择题(2)堆栈随着存储器地址的增大而向上增长,基址寄存指向存贮有效数据的最高地址或者说指向第一个要读出的数据位置,是(A)堆栈。A、满递增B、空递增C、满递减D、空递减(3)在指令LDR R0,R1,#4!执行后,R1中的值为(C)。A、R1不变B、R1=R1+1C、R1=R1+4D、R1=43、说明下列指令完成的功能(1)ADD R0,R1,R3,LSL #
12、2 ;R0=R1+4R2(2)ANDNES R0,R1,#0x0F ;if (CPSR寄存器中Z=0) R1的高28位清零后送寄存器R0并更新CPSR寄存器,else 执行下一条指令。(3)LDRB R0,R1,R2,LSR#2 ;把存储器地址为(R1+R2>>2)的字节数据加载到R0,R0的高24位清零。(4)ADCHI R1,R2,R3; if(CPSR寄存器中Z=0并且C=1) 执行R1=R2+R3加法操作,else执行下一条指令。(5)EOR R0,R0,R3,ROR R4; R3寄存器中的内容根据R4寄存器中的内容循环右移后与R0寄存器进行逻辑异或操作后,其结果存在R0寄
13、存器内。(7)MLA R0,R1,R2,R3; R0=R1×R2+R3 MLA是32位乘加指令,运算结果的高32位自动丢掉。(8)LDR R1,R0,-R5,LSL #4 ;将存储器地址为R0-16R5的字数据加载到寄存器R1中。4、用汇编语言实现下列功能的程序段,令R1=a,R2=b。(1)if(a!=b)&a-b>5) a=a+b CMP R1,R2 BEQ Next ADD R3,R2,#5 CMP R1,R3 BLS Next ADD R1,R1,R2NextB Next(2) while(a!=0) b=b+b*2; a-;AREA TestWhile,COD
14、E,READONLYaequ 5bequ 1 ENTRY MOV R1,#a MOV R2,#bLOOPCTL CMP R1,#0 ADDNE R2,R2,R2,LSL#1 SUBNES R1,R1,#1 BNE LOOPCTLEND (3)从a所指向的地址,拷贝20个32位数据到b所指向的地址AREA DataCopy,CODE,READONLYENTRYLDR R0,=SrcDataLDR R1,=DstDataMOV R2,#20LOOPCTLLDR R3,R0,#4 STR R3,R1,#4 SUBS R2,R2,#1 BNE LOOPCTLWaitBWaitAREA DataDef,
15、 DATA,READWRITESrcDataDCD 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20DstData SPACE 4*10END6、试比较TST与ANDS,CMP与SUBS,MOV与MVN指令的区别。(1)TST指令把两个操作数进行按位的与操作,并根据运算结果更新CPSR中的条件标志位的值。该指令通常用来检测是否设置了特定的位,一般操作数1是要测试的数据,而操作数2是一个位掩码。ANDS指令用于在两个操作数上进行逻辑与运算,并把结果放到目的寄存器中,操作数1应是一个寄存器,操作数2可以是一个寄存器,被移位的寄存器,或是1个立即数
16、。该指令常用于设置操作数1的某些位。TST和ANDS两条指令都影响CPSR寄存器;TST指令不改变参与运算的数据,而ANDS指令对目的寄存器进行更新。(2)CMP指令用于把2个操作数进行比较,同时更新CPSR中条件标志位的值。该指令进行一次减法运算,但不保存运算结果,只更改条件标志位。标志位表示的是操作数1和操作数2 的关系(大、小、相等)。SUBS 指令用于把操作数1送去操作数2,并将结果存放到目的寄存器中。操作数1应是一个寄存器,操作数2可以是一个寄存器、被移位的寄存器、或是一个立即数。指令影响CPSR值。CMP和SUBS指令都影响CPSR寄存器;CMP指令不保存运算结果,而SUBS指令可
17、以保存运算结果,并且减数和被减数的值也不发生变化。(3)MOV指令将一个寄存器、被移位的寄存器或一个立即数的值装入目的寄存器内,可以指定相同的寄存器实现NOP的效果,还可以移位一个寄存器。MVN指令与MOV指令的不同之处是在传送数据之前先按位取反,即把一个被取反的值传送到目的寄存器中。8、写一段ARM汇编程序:循环累加队列中的所有数据,直到碰到零值位置,结果放在R4。源程序末尾队列如下:Array:DCD 0x11DCD 0x22DCD 0x33DCD 0R0指向队列头,ADR R0,ARRAY。使用命令LDR R1,R0,#4来装载,累加至R4,循环直到R1为0,用死循环来停止。程序:ARE
18、A Cond_Sum,CODE,READONLYENTRYLDR R0,=ArrayMOV R4,#0LooPCtlLDR R1,R0,#4 CMP R1,#0ADDNE R4,R4,R1BNE LooPCtlWaitBWaitAREA SrcData,CODE,READONLYArrayDCD 0x11 DCD 0x22 DCD 0x33 DCD 0 END9、写一个汇编程序,求一个含64个带符号的16位数组组成的队列的平方和。程序:AREA SquareSum,CODE,READONLYENTRYLDR R0,=ArrayMOV R3,#4MOV R4,#0LooPCtlLDRH R1,R
19、0,#2 MLA R4,R1,R1,R4 SUBS R3,R3,#1BNE LooPCtlNOPAREA SrcData,CODE,READONLYArrayDCD 0x00010002 DCD 0x00030004 END第五章 嵌入式系统程序设计基础4、简要说明EXPORT和IMPORT的使用方法。答:EXPORT伪指令用于在程序中声明一个全局的标号,该标号可在其它的文件中引用。EXPORT可用GLOBAL代替。标号在程序中区分大小写。WEAK选项声明其它的同名标号优先于该标号被引用。IMPORT伪指令用于通知编译器要使用的标号在其它的源文件中定义,但要在当前源文件中引用,而且无论当前源文
20、件中是否引用该标号,该标号均会被加入到当前源文件的符号表中。5、分析说明下段程序完成什么功能AREA ChangeState,CODE,READONLYCODE32LDR R0,=Start+1BX R0CODE16StartMOV R1,#1END解:程序功能实现程序的跳转并从ARM状态切换到Thumb状态。6、设计一段程序完成数据块的复制,数据从源数据区snum 复制到目标数据区dnum。复制时,以8个字为单位进行。对于最后所剩不足8个字的数据,以字为单位进行复制。程序:AREA BlockDataCopy,CODE,READONLYnum EQU 20ENTRYStartLDR R0,=
21、snumLDR R1,=dnumMOV R2,#numMOV R13,#400BlockCopyMOVS R3,R2,LSR#3BEQ CopyWordsSTMFD R13!,R4-R11OctCopyLDMIA R0!,R4-R11STMIA R1!,R4-R11SUBS R3,R3,#1BNE OctCopy LDMFD R13!,R4-R11CopyWordsANDS R2,R2,#7BEQ StopWordsCopyLDR R3,R0,#4STR R3,R1,#4SUBS R2,R2,#1BNE WordsCopyStopB StopAREA BlockData, DATA,READW
22、RITEsnumDCD 1,2,3,4,5,6,7,8,9,10,11 DCD 12,13,14,15,16,17,18,19,20dnumSPACE 20*4 END 7、利用跳转表的思想编写一个汇编程序,实现当R0分别为0,1,2时完成跳转到3个不同的子程序。程序:AREA JumpTable,CODE,READONLYnumEQU 3ENTRYStartMOV R0,#1MOV R1,#3MOV R2,#2BL JumpTblCtlStopB StopJumpTblCtl CMP R0,#numMOVHS PC,LRADR R3,JumpTblEntryLDR PC,R3,R0,LSL#2JumpTblEntry DCD Subroutine1DCD Subroutine2DCD Subroutine3Subroutine1 MOV R3,#0x55 MOV PC,LRSubroutine2 MOV R4,#0xAAMOV PC,LRSubroutine3 MOV R5,#0x5AMOV PC,LREND第六章 嵌入式操作系统2、简述
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水景跌水施工方案
- 集成电子技术基础教程第二篇第3章
- 牵引供电扩容改造施工管理培训课件承导同时更换施工方案简介
- 起重吊装安全培训
- 液化石油气危害分析及安全管理
- 行星减速机产品介绍
- 2025年消防设备采购销售合同
- 熟悉裁判信号的试题及答案
- 2025合同免除责任事由包括哪些
- 中级育婴员模考试题及答案
- 贵州国企招聘2025贵州路桥集团有限公司招聘35人笔试参考题库附带答案详解
- 卫生管理行业人才培养与社会责任分析试题及答案
- DB32T 5082-2025建筑工程消防施工质量验收标准
- 结直肠癌的治疗与护理
- 施工安全的教育培训记录表
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蚀工程施工及验收规范
- 农村常用法律法规知识讲座课件(村干部培训)
- 国家职业技能标准 (2021年版) 鉴定估价师(机动车鉴定评估师)
- 公司组织架构图56832
- USB 数据线 SOP
- 在自己的城里旅行
评论
0/150
提交评论