


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第 1 章 嵌入式系统概述1, 什么是嵌入式系统 嵌入式系统的特点是什么嵌入式系统概念 :(1) IEEE 对嵌入式系统的定义 :用于控制 ,监视或者辅助操作机器和设备的装置.(2) 一般定义 : 以应用为中心 ,以计算机技术为基础 ,并且软硬件可裁剪 ,适用于应用系统对功能 , 可靠性 ,成本,体积 ,功耗有严格要求的专用计算机系统.嵌入式系统的特点 :(1) 专用的计算机系统(2) 必须满足环境要求(3) 必须能满足对象系统的控制要求(4) 是集成计算机技术与各行业应用的集成系统(5) 具有较长的生命周期(6) 软件固化在非易失性存储器中(7) 必须能满足实时性要求(8) 需要专用开发环境
2、和开发工具2, 简单分析几种嵌入式操作系统的主要特点, 包括嵌入式 Linux,Windows CE,uCOS II 及VxWorks.(1) 嵌入式Lin ux:有多个主流版本,根据应用需求,性能略有差别卩CL in ux是Linux小型化后, 适合于没有MMU的微处理器芯片而裁剪成的操作系统 ,卩CLinuX呆持了传统Linux操作系统 的主要特性,包括稳定,强大的网络和文件系统的支持 ,卩CLinux裁剪了大量的Linux内核以缩 小尺寸 ,适合像 512KB RAM,1MB Flash 这样小容量 ,低成本的嵌入式系统 RT_Linux 即能兼容 通常的 Linux, 又能保证强实时性
3、 (2) Windows CE: 开发平台主要为 WinCE Platform Builder, 有时也用 EVC 环境开发一些较上层 的应用 WinCE 开发难度远低于嵌入式 Linux, 实时性略低 ,常用于手机 ,PDA 等手持设备中 (3) uCOS II: 结构小巧 ,抢先式的实时嵌入式操作系统,具有执行效率高 ,占用空间小 ,可移植性强,实时性能好和可扩展性能等优点主要用于小型嵌入式系统 (4) VxWorks: 集成开发环境为 Tornado,Vxworks 因出现稍早 ,实时性很强 ,并且内核可极微 (最 小 8K), 可靠性较高等 通常应用在通信设备等实时性要求较高的系统中
4、第 2 章 嵌入式处理器体系结构1,具体说明 ARM7TDMI 的含义 ,其中的 T,D,M,I 分别代表什么ARM7TDMI是ARM7处理器系列成员之一,采用V4T版本指令.T表示Thumb,该内核可从 16位指令集切换到32位ARM指令集;D表示Debug,该内核中放置了用于调试的结构,支持片内Debug调试;M表示Multiplier,支持位乘法;I表示Embedded ICE ,内含嵌入式ICE宏单元, 支持片上断点和观察点 2, ARMV4及以上版本的 CPSR的哪一位反映了处理器的状态若CPSR=0x000000090,分析系统状态 CPSR=0x000000090 表示当前处理器
5、工作于 ARM 状态,系统处于用户模式下 CPSR的BIT5(T)反映当前处理器工作于 ARM 状态或Thumb状态.3,ARM 有哪几个异常类型 ,为什么 FIQ 的服务程序地址要位于 0x1C 在复位后 ,ARM 处理器 处于何种模式 ,何种状态ARM 的 7 种异常类型 :复位 RESET 异常 ,未定义的指令 UND 异常 ,软件中断 SWI 异常 ,指令 预取中止 PABT 异常 ,数据访问中止 DABT 异常,外部中断请求 IRQ 异常,快速中断请求 FIQ 异常.在有快速中断发生时,CPU从Ox1C处取出指令执行.ARM复位后处于管理模式,工作于ARM 状态 4, 为什么要使用
6、Thumb模式,与ARM代码相比较,Thumb代码的两大优势是什么 为了兼容数据总线宽度为 16 位的应用系统 ,使用了 ARM 指令系统的一个子集 Thumb 指令系 统.与等价的 32位代码相比 ,Thumb 指令集在保留 32位代码优势时 ,大大节省了系统的存储空 间.5, 说明 AMBA,AHB,ASB 以及 APB 的英文全称及其含义 .AMBA(Advanced Microcontroller Bus Architecture) 即先进的微控制器总线体系结构 , 是 ARM 公司公布的总线标准 ,这一标准定义了 AHB,ASB,APB 及 AMBA 共 4 种高性能的系统总线规 范
7、.AHB(Advanced High_performance Bus) 先进的高性能总线 ,用于连接高性能系统组件或高宽 带组件 .它支持突发数据传输方式及单个数据传输方式,所有时序参考同一个时钟 .ASB(Advaneed System Bus)即先进的系统总线,用于连接高性能的系统模块它支持突发数据 传输 .APB(Advaened Peripheral Bus) 即先进的外围接口总线 ,是一个简单的接口 它支持低性能的外 围接口 ,APB 是用来连接系统的周边组件 6, 简述 MMU 从虚拟地址到物理地址的转换过程和方法 虚拟地址到物理地址的转换过程 :当 ARM 要访问存储器时 ,MM
8、U 先查找 TLB 中的虚拟地址表 ,如果 ARM 的结构支持分开的 地址 TLB 和指令 TLB, 那么它在取指令时使用指令 TLB, 其它的所有访问类别使用数据 TLB; 如果 TLB 中没有虚拟地址的入口 ,则是转换表遍历硬件从存储在主存储器中的转换表中获取 访问权限 ,一旦取到 ,这些信息放在转换 TLB 中,它会放在 1个没有使用的入口处或覆盖 1 个 已有的入口 虚拟地址到物理地址的转换方法 :(1) 确定 1 级页表的基地址 (2) 合成转换表的 1 级描述符 (3) 根据不同的 1级描述符获取第 2 级描述符地址并找出第 2 级描述符 (4) 将第 2级页描述符指示的页基地址
9、,与虚拟地址指示的页内偏移地址相加 ,得到相应页的物 理地址 ,完成虚拟地址到物理地址的转换 第三章 典型嵌入式处理器1,简述 LPC2000 系列微控制器的内部有哪些重要的外设组件 向量中断控制器 ,外部存储控制器 ,I2C 中行总线控制器 ,SPI 同步接口控制器 ,UART 串口控制 器,定时器,AD转换器,CAN总线控制器,看门狗定时器等2,S3C44B0X 如何组织 8,16,32 位的存储器 ,地址线如何连接S3C44B0X 不同宽度的存储器地址线连接方法 存储器地址引脚8 位总线16 位总线32 位总线A0A0A1A2A1A1A2A3A2A2A3A4A3A3A4A5Am-1Am-
10、1Am-2Am-33, 说明 I2C 的数据有效性和起停条件 .数据有效性:当SCL信号为高电平时,SDA上的数据传输有效,传输时高位在前,低位在后,每个 字节长度限制为位 ,而每次传送的字节总数没有限制.满足启动条件后的第一个字节应为地址域.每一个字节有一个应答位 .起停条件:启动条件,在SCL信号保持高电平时SDA信号由高电平变为低电平;停止条件,要求 在 SCL 信号保持高电平时 SDA 信号由低电平变为高电平 .4,简述 AT91FR40162 处理器的特点 .AR91FR40162 采用 ARM7TDMI 处理器核 ,内部集成了 256KB 的片内 SRAM 和 1024K 字的 1
11、6位Flash存储器,完全可编程的外部总线接口 , 8个优先级且可以独立屏蔽的向量中断控制 器,32个可编程的 I/O 接口线,3通道16位定时/计数器,2个同步/异步收发器及可编程的看门 狗定时器 ,能完成全静态操作 ,具有先进的省电特性 .第四章 嵌入式处理器指令系统1, 填空题(1) 在源操作数为立即数时 ,应在前加 #作为前缀 ,在#后加 0x 或&表示十六进制数 ,在#后加%表 示二进制数 ,#后加 0d 或默认表示十进制数 .(2) 根据堆栈指针指向的数据位置不同,堆栈可分为满堆栈和空堆栈 .(3) 用一条指令完成人条件加法运算,并更新CPSR中的条件码,R1+R2->
12、;R3 ADDS R3,R1,R2.(4) 在程序执行过程中 ,是通过寄存器 R15 控制程序的运行的 .(5) 转移指令的跳转范围是 -32MB-32MB.2,选择题(2) 堆栈随着存储器地址的增大而向上增长,基址寄存指向存贮有效数据的最高地址或者说指向第一个要读出的数据位置,是(A)堆栈.A,满递增B,空递增 C,满递减D,空递减在指令LDR R0,R1,#4!执行后,R1中的值为(C).A,R1 不变 B,R1=R1+1 C,R1=R1+4 D,R1=43, 说明下列指令完成的功能(1) ADD R0,R1,R3,LSL #2 ;R0=R1+4R2(2) ANDNES RO,R1,#Ox
13、OF ;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)执行R仁R2+R3加法操作,else执行下 一条指令 .(5) E0R RO,RO,R3,ROR R4; R3寄存器中的内容根据R4寄存器中的内容循环右移后与R0寄存器进行逻辑异或操作后,其结果存在 R0 寄存器内 .(7) MLA R0,R1,R2,R3
14、; R0=R1R2+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+bCMP R1,R2BEQ NextADD R3,R2,#5CMP R1,R3BLS NextADD R1,R1,R2Next B Next(2) while(a!=0)b=b+b*2;a-;AREA TestWhile,CODE,READONL Ya equ 5b equ 1ENTRYM
15、OV R1,#aMOV R2,#bLOOPCTL CMP R1,#0ADDNE R2,R2,R2,LSL#1SUBNES R1,R1,#1BNE LOOPCTLEND从a所指向的地址,拷贝20个32位数据到b所指向的地址AREA DataCopy,CODE,READONL YENTRYLDR R0,=SrcDataLDR R1,=DstDataMOV R2,#20LOOPCTL LDR R3,R0,#4STR R3,R1,#4SUBS R2,R2,#1BNE LOOPCTLWait B WaitAREA DataDef, DATA,READWRITESrcData DCD 1,2,3,4,5,
16、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个立即数 .该指令常用于
17、设置 操作数 1 的某些位 .TST和ANDS两条指令都影响 CPSR寄存器;TST指令不改变参与运算的数据 ,而ANDS指令 对目的寄存器进行更新 .(2) CMP指令用于把2个操作数进行比较,同时更新CPSR中条件标志位的值该指令进行一次减法运算 ,但不保存运算结果 ,只更改条件标志位 .标志位表示的是操作数1 和操作数 2 的关系(大,小,相等)SUBS 指令用于把操作数 1 送去操作数 2,并将结果存放到目的寄存器中操作数 1 应是一个寄存器,操作数2可以是一个寄存器,被移位的寄存器,或是一个立即数指令影响CPSR值 CMP 和 SUBS 指令都影响 CPSR 寄存器 ;CMP 指令不
18、保存运算结果 ,而 SUBS 指令可以保存 运算结果 ,并且减数和被减数的值也不发生变化(3) MOV 指令将一个寄存器 ,被移位的寄存器或一个立即数的值装入目的寄存器内,可以指定相同的寄存器实现 NOP 的效果 ,还可以移位一个寄存器 MVN 指令与 MOV 指令的不同之处是在传送数据之前先按位取反,即把一个被取反的值传送到目的寄存器中 8,写一段ARM汇编程序:循环累加队列中的所有数据,直到碰到零值位置,结果放在R4源程 序末尾队列如下 :Array:DCD 0x11DCD 0x22DCD 0x33DCD 0R0 指向队列头 ,ADR R0,ARRAY 使用命令LDR R1,R0,#4来装
19、载,累加至R4,循环直到R1为0,用死循环来停止程序 :AREA Cond_Sum,CODE,READONL YENTRYLDR R0,=ArrayMOV R4,#0LooPCtl LDR R1,R0,#4CMP R1,#0ADDNE R4,R4,R1BNE LooPCtlWait B WaitAREA SrcData,CODE,READONL YArray DCD 0x11DCD 0x22DCD 0x33DCD 0END9,写一个汇编程序,求一个含64个带符号的16位数组组成的队列的平方和程序:AREA SquareSum,CODE,READONL YENTRYLDR R0,=ArrayMO
20、V R3,#4MOV R4,#0LooPCtl LDRH R1,R0,#2MLA R4,R1,R1,R4SUBS R3,R3,#1BNE LooPCtlNOPAREA SrcData,CODE,READONL YArray DCD 0x00010002DCD 0x00030004END第五章嵌入式系统程序设计基础4, 简要说明EXPORT和IMPORT的使用方法.答:EXPORT伪指令用于在程序中声明一个全局的标号,该标号可在其它的文件中引用 .EXPORT可用GLOBAL 代替标号在程序中区分大小写 .WEAK选项声明其它的同名标 号优先于该标号被引用.IMPORT伪指令用于通知编译器要使用
21、的标号在其它的源文件中定义,但要在当前源文件中引用,而且无论当前源文件中是否引用该标号 ,该标号均会被加入到当前源文件的符号表中 .5, 分析说明下段程序完成什么功能AREA ChangeState,CODE,READONL YCODE32LDR R0,=Start+1BX R0CODE16Start MOV R1,#1END解:程序功能实现程序的跳转并从ARM状态切换到Thumb状态.6, 设计一段程序完成数据块的复制,数据从源数据区snum|复制到目标数据区 dnum .复制时,以8个字为单位进行.对于最后所剩不足 8个字的数据,以字为单位进行复制.程序:AREA BlockDataCop
22、y,CODE,READONL Ynum EQU 20ENTRYStart LDR R0,=snumLDR R1,=dnumMOV R2,#numMOV R13,#400BlockCopy MOVS R3,R2,LSR#3BEQ CopyWordsSTMFD R13!,R4-R11OctCopy LDMIA R0!,R4-R11STMIA R1!,R4-R11SUBS R3,R3,#1BNE OctCopyLDMFD R13!,R4-R11CopyWords ANDS R2,R2,#7BEQ StopWordsCopy LDR R3,R0,#4STR R3,R0,#4SUBS R2,R2,#1B
23、NE WordsCopyStop B StopAREA BlockData, DATA,READWRITEsnum DCD 1,2,3,4,5,6,7,8,9,10,11DCD 12,13,14,15,16,17,18,19,20dnum SPACE 20*4END3 个不同的子7, 利用跳转表的思想编写一个汇编程序,实现当 R0 分别为 0,1,2 时完成跳转到程序 .程序 :AREA JumpTable,CODE,READONL Ynum EQU 3ENTRYStart MOV R0,#1MOV R1,#3MOV R2,#2BL JumpTblCtlStop B StopJumpTblCtl CMP R0,#numMOVHS PC,LRADR R3,JumpTblEntryLDR PC,R3,R0,LSL#2JumpTblEntry DCD Subroutine1DCD Subroutine2DCD Subroutine3Subroutine1 MOV R3,#0x55MOV PC,LRSubroutine2 MOV R4,#0xAAMOV PC,LRSubroutine3 MOV R5,#0x5AMOV PC,LREND第六章 嵌入式操作系统1, 简述卩CLinux的特点,说明其主要应用的环境.答:卩C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 茶艺师对茶叶的认识试题及答案
- 2025年茶艺师天赋素养试题及答案
- 茶艺师考试实践环节的试题及答案
- 从事茶艺行业的前景解析试题及答案
- 妇幼保健员考试科研支持试题及答案2025
- 妇幼保健员照护技能考察试题及答案
- 2025年度生物制药干股入股合作协议书
- 2025年度洗浴中心员工职业成长支持雇佣合同
- 2025年度试用期劳动合同争议解决与调解
- 2025年度旅游度假村特许经营协议
- 300万吨胜利原油常减压装置设计
- 部编人教版五年级上册语文阅读理解及答案(考题)
- DB51∕T 2866-2022 公共机构合同能源管理与服务规范
- 消费者权益保护法培训课件
- 300MW燃煤机组A级检修费用定额
- 湘美版小学美术五年级下册第5课《图画文章》课件PPT
- 交通事故快速处理单(表格)
- 膜分离工程第二章:膜材料与制备
- 探秘徽文化研学手册
- 工艺管道试压吹扫施工方案
- 《城市公共厕所设计标准》
评论
0/150
提交评论