资源描述
1、 ARM微处理器有 7种工作模式,它们分为两类 非特权模式 、 特权模式 。其中用户模式属于 非特权模式 2、 ARM支持两个指令集, ARM核因运行的指令集不同,分别有两个状态 ARM 、 Thumb ,状态寄存器CPSR的 T 位反映了处理器运行不同指令的当前状态3、 ARM核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器, R15 寄存器用于存储PC,R13通常用来存储 SP ARM处理器有两种总线架构,数据和指令使用同一接口的是 冯诺依曼 ,数据和指令分开使用不同接口的是 哈佛结 4、 ARM微处理器复位后,PC的地址通常是 0x0 ,初始的工作模式是Supervisor 。 5、 ARM微处理器支持虚拟内存,它是通过系统控制协处理器 CP15 和MMU(存储管理部件)来进行虚拟内存的存储和管理。当系统发生 数据 异常和 指令领取 异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU交换物理内存和虚拟内存的页面,以保证程序正常执行。6、 编译链接代码时,有两种存储代码和数据的字节顺序,一种是 小端对齐 ,另一种是 打断对齐 7、 构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是 GNU工具链 ,ARM公司提供的工具链是 ADS工具链 8、计算机有CISC和RISC两种类型,以ARM微处理器为核心的计算机属于 RISC 类型,其指令长度是 定长的 嵌入式系统的设计可以分成三个阶段:分析、 和 目前使用的嵌入式操作系统主要有 、 、 、和 等。9、XScale微处理器使用的是ARM公司 版内核和指令集。微处理器有两种总线架构,使用数据和指令使用同一接口的是 ,分开的指令和数据接口、取指和数据访问可以并行进行的是 10、ARM微处理器有 种工作模式,它们分为两类:特权模式, 和 。其中用户模式属于 11、ARM核有两个指令集,分别是 、 初始的工作模式是 12、在ARM体系构架中对复杂的内存管理是通过系统控制协处理器 和MMU(存储管理部件)来进行的。当系统发生 异常和 异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU交换物理内存和虚拟内存的页面,以保证程序正常执行。13、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是 ,ARM公司提供的工具链是 1、 目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。Windows CE/Windows Mobile、VxWork、Linux、uCos、Symbian、QNX任选六2、ARM系统中的堆栈有四种,如下图。请按图标出四种堆栈的类型。ATPCS编程规范约定使用的堆栈是哪一种?答:FD、FA、ED、EA。ATPCS编程规范约定使用的堆栈是FD3、Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作? 答:Boot Loader是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。通过Boot Loader,初始化硬件设备,建立内存和I/O空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。4、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows主机上使用什么软件建立连接?在Linux主机上使用什么软件建立连接?1、 答:RS-232,以太网口、并口在Windows主机上使用超级终端软件在Linux主机上使用Minicom软件5嵌入式开发环境主要包括哪些组件? 嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括l 宿主机l 目标机(评估电路板)l 基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICEl 运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境l 嵌入式操作系统6 在进行基于ARM核的嵌入式系统软件开发时,调用如下函数:int do_something(int arg1,void *arg2,char arg3,int *arg4)这四个参数通过什么方式从调用程序传入被调函数? 根据ATPCS编程规范,调用函数和子程序通过R0R3四个寄存器传递参数,超过四个参数使用堆栈传递。因此arg1通过R0传入, arg2, 通过R1传入,arg3通过R2传入,arg4通过R3传入7 目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。Windows CE/Windows Mobile、VxWork、Linux、uCos、Symbian、QNX任选六1、 写一条 ARM 指令,完成操作r1 = r2 * 3(4分)ADD R1,R2,R2,LSL #12、 初始值R1=23H,R2=0FH执行指令BIC R0, R1,R2,LSL #1后,寄存器R0,R1的值分别是多少?(4分)R0=21H,R1=23H 写一条 ARM 指令,完成操作r1 = r2 * 4初始值R2=5,R3=4,R4=3,执行指令SUBS R2, R3,R4,LSR #2后,寄存器R2,R3的值分别是多少?3、说明指令STMIAr12!, r0-r11的操作功能。 将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的内存中,地址的操作方式是先操作、后增加,并更新地址。 4、写一段 ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素,结果放在r4中。程序框架如下,补充代码完成上述功能。(8分)AREA total, CODE READONLYENTRYstartMOV r4, #0ADR r0, myarray;在此补充代码loopLDR r1, r0, #4ADDr4, r4, r1CMPr1, #0BNEloop5、这是一个由源程序strtest.c和scopy.s组成的混合程序项目,通过调用strcopy完成字符串复制,程序代码如下。要求阅读程序,在程序中的注释符“/”后,说明该句程序的作用,并说明extern和EXPORT伪指令的在程序中的作用。(8分)strtest.c#include extern void strcopy(char *d, const char *s);int main() const char *srcstr = First string - source; char dststr = Second string - destination; printf(Before copying:n); printf( %sn %sn,srcstr,dststr); / strcopy(dststr,srcstr); / printf(After copying:n); printf( %sn %sn,srcstr,dststr);/ return 0;scopy.sAREA SCopy, CODE, READONLY EXPORT strcopystrcopy LDRB r2, r1,#1 ; STRB r2, r0,#1 ; CMP r2, #0 ; BNE strcopy ; MOV pc,lr ;END/输出源串和目标串 (8分)/调用strcopy函数/输出复制后的源串和目标串;r1指向源串,从源串载入一个字节的字符到r2,并更新r1=r1+1;r0指向目标串,从r2保存一个字节的字符到目标串,并更新r0=r0+1;测试串尾标志0;非零转标号strcopy ;返回一、 程序测试题(共24分) 1、写一段 ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素,结果放在r4中。程序框架如下,补充代码完成上述功能。(8分)AREA total, CODE READONLYENTRYstartMOV r4, #0ADR r0, myarray;在此补充代码答:loopLDR r1, r0, #4ADDr4, r4, r1CMPr1, #0BNEloopstopB stopmyarrayDCD 0x11DCD0x22DCD 0x0END1、 阅读如下程序段,画出程序流程图,并回答执行程序过程中R0取不同的值程序跳转方向,最终R0中的值是多少。(5分)num EQU 2 start MOV r0, #0 MOV r1, #5 MOV r2, #2 BL func stop B stop func CMP r0, #num MOVHS pc, lr ADR r3, JumpTable LDR pc, r3,r0,LSL#2 JumpTable DCD DoA DCD DoS DoA ADD r0, r1, r2 MOV pc, lr DoS SUB r0, r1, r2 MOV pc,lr END2、有如下程序段,画出程序流程图,并回答执行程序以后R0的值是多少。(8分)num EQU 2 start MOV r0, #0 MOV r1, #5 MOV r2, #2 BL func stop B stop func CMP r0, #num MOVHS pc, lr ADR r3, JumpTable LDR pc, r3,r0,LSL#2 JumpTable DCD DoA DCD DoS DoA ADD r0, r1, r2 MOV pc, lr DoS SUB r0, r1, r2 MOV pc,lr END 答:R0为0调用DoA,R0为1调用DoS,R0大于2直接返回,流程图略。R0=73、 这是一个由源程序strtest.c和scopy.s组成的混合程序项目,通过调用strcopy完成字符串复制,程序代码如下。要求阅读程序,在程序中的注释符后,说明该句程序的作用,并说明extern和EXPORT伪指令的在程序中的作用。(8分)strtest.c#include extern void strcopy(char *d, const char *s);int main() const char *srcstr = First string - source; char dststr = Second string - destination; printf(Before copying:n); printf( %sn %sn,srcstr,dststr); /输出源串和目标串 strcopy(dststr,srcstr); /调用strcopy函数 printf(After copying:n); printf( %sn %sn,srcstr,dststr);/ 输出复制后的源串和目标串 return 0;scopy.sAREA SCopy, CODE, READONLY EXPORT strcopystrcopy LDRB r2, r1,#1 ; r1指向源串,从源串载入一个字节的字符到r2,并更新r1=r1+1 STRB r2, r0,#1 ;r0指向目标串,从r2保存一个字节的字符到目标串,并更新r0=r0+1 CMP r2, #0 ;测试串尾标志0 BNE strcopy ;非零转标号strcopy MOV pc,lr ;返回 END名词解释RISC和CISC2、IP3、ISP4、JTAG5、IDERISC(Reduce Instruct Set Computer);CISC(COMPLEX Instruct Set Computer) IP(Intellectual Property);ISP(in-system programmable)JTAG(Join Test Active Group)IDE(Integrate Development Environment)判断题 请在题目后括号中标记符号(或者)。1、 目前使用的嵌入式操作系统主要有RTX51、Windows CE/Windows Mobile、Linux、uC/osii、和、Symbian、andriod等。 ( )2、 嵌入式系统的设计可以分成三个阶段:分析、设计和实现 。( )3、 XScale微处理器使用的是ARM公司ARMV9TE版内核和指令集。( )4、 微处理器有两种总线架构,使用数据和指令使用同一接口的是冯诺依曼体系结构,分开的指令和数据接口、取指和数据访问可以并行进行的是哈佛结构体系结构。( ) 5、 ARM核有两个指令集,分别是 ARM和Thumb。( ) 6、 在ARM体系构架中对复杂的内存管理是通过系统控制协处理器cp15和MMU(存储管理部件)来进行的。当系统发生 Data Abort(数据)异常和Prefetch Abort(指令领取) 异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU交换物理内存和虚拟内存的页面,以保证程序正常执行。( ) 7、 ARM微处理器复位后,PC(R15)的地址通常是0x01。( )8、 ARM复位后,初始工作模式是ORG。 ( )9、 构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是GNU工具链,ARM公司提供的工具链是ADS工具链。( ) ARM微处理器有7种工作模式,它们分为两类:特权模式和非特权模式。其中用户模式属于特权模式。( )填空题(请将答案填入题后括号中) 1、一般而言,嵌入式系统的构架可以分为4个部分:分别是(处理器)、存储器、输入/输出和软件,一般软件亦分为操作系统相关和(应用软件)两个主要部分。2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器,(嵌入式DSP处理器),(嵌入式微处理器)以及片上系统。3、操作系统是联接硬件与应用程序的系统程序,其基本功能有(进程管理)、进程间通信、(内存管理)、I/O资源管理。4、从嵌入式操作系统特点可以将嵌入式操作系统分为(实时操作系统)和分时操作系统,其中实时系统亦可分为(硬实时系统)和软实时系统。5、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的(通信),内核的基本服务是(任务切换)。6、嵌入式开发一般采用(宿主机/目标机方式)方式,其中宿主机一般是指(PC机或者台式机)。7、哈佛体系结构数据空间和地址空间(分开),ARM7TDMI采用(冯诺依曼体系)的内核架构。 8. ARM7TDMI采用(3)级流水线结构,ARM920TDMI采用(5 )级流水线。9 .按操作系统的分类可知,Dos操作系统属于顺序执行操作系统,Unix操作系统属于(分时)操作系统,VxWorks属于(实时嵌入式)操作系统。10、ARM7TDMI中,T表示支持16位Thumb指令集,D表示(在片可调试),M表示内嵌乘法器Multiplier,I表示(嵌入式ICE),支持在线断点和调试。选择题(请将答案填入题后括号中): 1、要使CPU能够正常工作,下列哪个条件不是处理器必须满足的。( D )(A) 处理器的编译器能够产生可重入代码(B) 在程序中可以找开或者关闭中断(C) 处理器支持中断,并且能产生定时中断(D) 有大量的存储空间 2、下面哪种操作系统最方便移植到嵌入式设备中。( D )(A) DOS (B)unix (C) Windows xp (D)linux 3、下面哪个选项不是SUB设备的特点。( B )(A) 串行通信方式 (B)不可热拨插(C) 分HOST、DEVICE和HUB (D)通信速率比RS232快4、下面哪种嵌入式操作系统很少用于手机终端设备上。( C )(A) Symbian (B)WinCE (C) uc/os (D)linux5、以下哪项关于SRAM和DRAM的区别是不对。( A )(A) SRAM比DRAM慢 (B)SRAM比DRAM耗电多(C) DRAM存储密度比SRAM高得多 (D)DRM需要周期性刷新6、uc/os操作系统不包含以下哪几种状态。( C )(A) 运行 (B)挂起 (C) 退出 (D)休眠7、0x07&0x11的运算结果是。( A )(A) 0x01 (B)0x11 (C) 0x17 (D)0x078、以下哪种方式不是uc/os操作系统中任务之间通信方式。( C )(A) 信号量 (B)消息队列 (C) 邮件 (D)邮箱9、以下哪种方式不是文件系统的格式。( B )(A) FAT (B)DOS (C) NTFS (D)Ext10、在将uc/os操作系统移植到ARM处理器上时,以下哪些文件不需要修改。( A )(A) OS_CORE.C (B)include.h (C) OS_CPU.H(D)OSTaskInit判断题: 1、所有的电子设备都属于嵌入式设备。( F )2、冯诺依曼体系将被哈佛总线所取代。( F )3、嵌入式linux操作系统属于免费的操作系统。( T )4、移植操作系统时需要修改操作系统中与处理器直接相关的程序。( T )5、USB2.0的最大通信速率为12M/S。( F )简答题: 1、 根据嵌入式系统的特点,写出嵌入式系统的定义。以应用为中心、以计算机技术为基础、软硬件可裁减、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统2、 试分析实时操作系统的工作状态特点及相互之间的转换。运行:获得CPU的控制权;就绪:进入任务等待队列,通过调度中转为运行状态;挂起:任务发生阻塞,称出任务等待队列,等待系统实时事件的发生而被唤醒,从而转为就绪或者运行;休眠:任务完成或者错误等原因被清除的任务,也可以认为是系统中不存在的任务。多任务6、 ARM处理器模式和ARM处理器状态有何区别?处理器模式指的是处理器在执行程序时在不同时刻所处的不同状态处理器状态指的是处理器当前所执行的指令集。7、 ARM核中什么寄存器用于存储PC?R13通常用来存储什么?R14通常用来存储什么?R15用于程序计数寄存器PC,R13通常用来做堆栈指针寄存器,R14通常用来做链接寄存器,保存函数调用的返回地址。8、 Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作?Boot Loader是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。通过Boot Loader,初始化硬件设备,建立内存和I/O空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。9、 简述嵌入式系统的概念、组成及特点。嵌入式系统是以应用为中心,以计算机技术为基础,采用可剪裁软硬件,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。 其特点有: 嵌入式系统通常是面向特定应用的嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而嵌入式系统本身不具备自举开发能力。10、 嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么?项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4 个阶段。识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展, 分析项目偏差,采取必要措施以实现目标。结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。分析计算题: 1、试写抢占式和非抢占式的区别。 执行的过程中对中断处理方式不一样,抢先式:某一中断执行完成后,如果有更高优先级的任务处于就绪状态,将执行更高优先级任务,而非抢占式不一样,一个任务只有主动放弃CPU的控制权,其它任务才能够获得CPU的控制权。2、从嵌入式系统底层到上层应用软件,试分析嵌入式计算系统的组成主要分为哪几个部分,并写出各部分所完成的功能。(1)硬件层;(2)中间层(嵌入式系统初始化,硬件相关的驱动程序);(3)软件层(操作系统、文件系统、GUI,网络及通用组件);(4)功能层。五、专业名词解释(写出以下英文简写对应的中文名称):共5小题,每小题2分,满分10分。(1)RTOS(2)CISC (3)Kernel(4)Scheduler (5)non-preemptive(1)RTOS(实时操作系统);(2)CISC(复杂指令集);(3)Kernel(内核)(4)Scheduler(调度)(5)non-preemptive(非抢先式)1. 请简述嵌入式系统的设计过程。嵌入式系统得设计过程:(1)系统定义与需求分析 (2)系统设计方案的初步确立 (3)初步设计方案性价比评估与方案评审论证 (4)完善初步方案、初步方案实施 (5)软硬件集成测试 (6)系统功能性能测试及可靠性测试 2. 简述ARM处理器的工作状态。ARM处理器的工作状态:(1)ARM状态:32位,ARM状态下执行字对准的32位ARM指令;(2)Thumb状态:16位,Thumb状态下执行半字对准的16位Thumb指令。在Thumb状态下,程序计数器PC使用位1选择另一个半字。 3. 简述ARM处理器的7种运行模式及各自的用途。ARM处理器的7种运行模式:(1)用户模式:正常用户模式,程序正常执行模式。(2)FIQ模式:处理快速中断,支持高速数据传送或通道处理。(3)IRQ模式:处理普通中断。(4)SVC模式:操作系统保护模式,处理软件中断。(5)中止模式:处理存储器故障,实现虚拟存储器和存储器保护。(6)未定义模式:处理未定义的指令陷阱,支持硬件协处理器的软件仿真。(7)系统模式:运行特权操作系统任务。4. 简述BLX、SWI、STM、LDM、MOV、MVN的含义。BLX: 带链接和状态切换的跳转指令 SWI: 软件中断指令 STM: 批量内存字写入指令LDM: 加载多个寄存器指令 MOV: 数据传送指令 MVN: 数据取反传送指令5.请解释下列程序中的各条指令: .equ x, 45 /*定义变量x,并赋值为45 */.equ y, 64 /*定义变量y,并赋值为64*/.equ stack_top, 0x1000 /*定义栈顶0x1000*/.global_start /*声明全局变量*/.text /*将操作符开始的代码编译到代码段*/_start: /*程序代码开始标志*/mov sp, #stack_top /*定义堆栈位置*/mov r0, #x /*x的值放入r0*/str r0, sp /*r0的值保存到堆栈*/mov r0, #y /*y的值放入r0*/ldr r1, sp /*取堆栈中的数到r1*/add r0, r0, r1 /*将r0中的数和r1中的数相加的结构放入r0*/str r0, sp /*r0的值保存到堆栈*/ stop:b stop /*程序结束,进入死循环*/ .end6. 分析说明S3C44B0X的总线优先级顺序。(1)DRAM refresh controller(DRAM刷新控制器);(2) LCD_DMA(3) ZDMA0,1(4)BDMA0,1(5) External bus master(外部总线控制器);(6) Write buffer(写缓冲区)(7)Cache 和 CPU。7. S3C44B0X中具有哪几个定时器?分别有哪些功能特性?6个16位定时器:都可以工作在中断或DMA模式。定时器0、1、2、3、4有PWM功能,定时器5只是一个内部定时器而无输出引脚。PWM定时器特性为: 6个基于DMA或中断操作的16位定时器 3个8位预分频器,2个5位除法器和1个4位除法器。 输出波形可编程的功率控制器(PWM) 自动重装或短脉冲模式(One-shot Pulse Mode) 死区发生器1个看门狗定时器:看门狗定时器具有以下特性: 带中断请求的普通间隔定时器模式 当定时器计数值达到0时,内部复位信号被激活128MCLK周期8. S3C44B0X中功耗管理的5种模式是什么?S3C44B0X中功耗管理的5种模式: 正常模式:正常运行模式; 低速模式:不加PLL 的低时钟频率模式;空闲模式:只停止CPU 的时钟; 停止模式:停止所有的时钟;LCD的SL空闲模式:SL 空闲模式的进入将导致 LCD 控制器开始工作。此时,CPU和除LCD控制器外的所有外设都停止工作。9. 简述BootLoader的作用。Boot loader作用:系统引导程序,负责Linux内核的启动,用于初始化系统资源,包括SDRAM。这部分代码用于建立Linux内核运行环境和从Flash中装载初始化Ramdisk等。它首先完成系统硬件的初始化,包括时钟的设置、存储区的映射、堆栈指针的设置等;然后跳转到操作系统内核的入口,将系统控制权交给操作系统。10. 写出S3C44B0X的UART1的初始化设置程序代码。UART初始化程序:static int whichUart=0;void Uart_Init(int mclk,int baud)int i; If(mclk=0) mclk=MCLK; rUFCON1=0x0; rUMCON1=0x0;rULCON1=0x3;rUCON1=0x245;rUBRDIC1=(int)(mclk/16./baud+0.5)-1);for(i=0;i100;i+);11 ARM常见的寻址方式有哪些? 立即寻址 寄存器寻址 寄存器间接寻址 基址加偏址寻址 堆栈寻址 块拷贝寻址 相对寻址 12嵌入式系统软件的层次结构并简要介绍? 嵌入式系统软件的层次结构: 驱动层程序:驱动层程序是嵌入式系统中不可缺少的重要部分,使用任何的外部设备都需要有相应驱动层程序的支持,他为上层软件提供了设备的操作接口。驱动层程序一般包括硬件抽象层HAL、板极支持包BSP和设备驱动程序。 实时操作系统RTOS:对于使用操作系统得嵌入式系统而言,操作系统一般以内核映像的形式下载到目标系统中。内核中通常必需的基本部件是进城管理、进程间通信、内存管理部分,其他部件如文件系统、驱动程序、网络协议等都可以根据用户要求进行配置,并以相关的方式实现。这样一来,整个嵌入式系统与通用操作系统类似,功能比不带有操作系统得嵌入式强大了很多。 操作系统的应用程序接口API:API是一系列复杂的函数、消息和结构的集合体。在计算机系统中有很多可通过硬件或外部设备去执行的功能,这些功能的执行可通过计算机操作系统或硬件预留的标准指令调用。因而系统提供标准的API函数,可加快用户应用程序的开发,统一应用程序的开发标准,也为操作系统版本的升级带来了方便。应用程序:用户应用程序主要通过调用系统的API函数对系统进行操作,完成用户应用功能开发。13试述两种常见的ARM开发环境及其特点? 两种常见的ARM开发环境及其特点:ADS/SDT IDE开发环境:它由ARM公司开发,使用了CodeWarrior公司的编译器; 集成了GNU开发工具的IDE开发环境:它由GNU的汇编器as、交叉编译器gcc、和链接器ld等组成。14:S3C44B0X I2C总线接口操作有那四种操作方式?S3C44B0X I2C总线接口操作的四种操作模式: 主传送模式 主接收模式 从传送模式 从接收模式15:嵌入式系统的发展趋势1. 即将迎来以ARM为核心的32位浪潮嵌入式系统应用的高低端 :以4位、8位单片机或为控制器(MCU)为核心的嵌入式系统,早已广泛的应用于工业控制、军事、航空航天、家电等各个领域,极大地推动了IT技术的发展。目前这些属于最低端应用的嵌入式系统。这些低端应用市场范围非常广泛,局部带动了低端应用。即将来临的32位浪潮:随着嵌入式系统的不断发展,当应用越来越复杂、使用范围越来越广时,8位处理器已经无法满足的需要,此时32位SoC为高性能嵌入式系统开发提供了功能丰富的硬件平台,也为实时嵌入式操作系统的广泛应用提供了硬件基础。因此,以32位处理器作为高性能嵌入式系统开发的核心已是嵌入式技术发展的必然趋势。 32位向ARM 转移,形成ARM市场主导地位:在嵌入式微处理器中,虽然有多种嵌入式处理器可供选择,但是ARM处理器核以其低功耗、高性能等突出优点已在32位嵌入式应用中稳居第一。ARM已成为移动通信、手持计算、多媒体数字消费等嵌入式解决方案事实上的标准。优良的性能和广泛的市场定位极大地增加和丰富了ARM的资源,加速了ARM处理器面向各种应用的系统芯片的开发和发展。2. 嵌入式系统与Internet的融合:为适应嵌入式分布处理结构和应用上网需求,面向21世纪的嵌入式系统要求配备标准的一种或多种网络通信接口。针对外部联网要求,嵌入设备必需配有通信接口,相应需要TCP/IP协议簇软件支持;由于家用电器相互关联(如防盗报警、灯光能源控制、影视设备和信息终端交换信息)及实验现场仪器的协调工作等要求,新一代嵌入式设备还需具备IEEE1394、USB、CAN、Bluetooth或IrDA通信接口,同时也需要提供相应的通信组网协议软件和物理层驱动软件。为了支持应用软件的特定编程模式,如Web或无线Web编程模式,还需要相应的浏览器,如HTML、WML等。3. 未来嵌入式系统的发展趋势 近几年,在消费电子、工业应用、军事国防、网络设备等领域的嵌入式应用,为中提供了难得的发展机遇。另外,嵌入式技术又不断地刺激新的技术的产生信息家电、医疗电子病历、微小型智能武器等方面应用也日益广泛,应用深度也进一步加强。互联网的普及、微电子加工工艺的提高、3C技术的普遍融合、使用者需求的增多、信息服务应用的生活化、技术的渗透性和融合性、设备的关联性以及个性化服务的普遍需求。因而,移动化处理信息,即随时随地的获取信息、处理信息等,成为信息社会把握先机而制胜的必然武器。日益发展的嵌入式已能够满足人们随时随地利用任何设备和手段来接收、处理和发布信息的需求。低成本、低功耗的消费电子和宽带、无线通信以及处理运算的高效计算结合技术将进一步刺激和加速嵌入式技术的发展,造就更广阔的市场空间。嵌入式开发环境主要包括哪些组件?它们的功能是什么?嵌入式系统开发需要交叉编译和在线调试的开发环境, 主要包括: 宿主机目标机(评估电路板)基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境、嵌入式操作系统阅读下列与看门狗有关的寄存器描述,解释每一行代码的功能。看门狗定时器控制寄存器(WTCON)。(12分)寄存器地 址读/写描 述初 始 值WTCON0x53000000读/写看门狗定控制寄存器0x8021WTCON的标识位WTCONBit描 述初 始 值Prescaler Value15:8预装比例值,有效范围值为02550x80Reserved7:6保留00Watchdog Timer5使能和禁止看门狗定时器禁止看门狗定时器使能看门狗定时器0Clock Select4:3这两位决定时钟分频因素00:1/16 01:1/3210:1/64 11:1/12800Interrupt Generation2中断的禁止和使能0=禁止中断产生1=使能中断产生0Reserved1保留0ResetEnable/Disable0禁止很使能看门狗复位信号的输出1=看门狗复位信号使能0=看门狗复位信号禁止1看门狗定时器数据寄存器(WTDAT)寄 存 器地 址读/写描 述初 始 值WTDAT0x53000004读/写看门狗数据寄存器0x8000看门狗计数寄存器(WTCNT)寄 存 器地 址读/写描 述初 始 值WTCNT0x53000008读/写看门狗计数器当前值0x8000#define rWTCON (*(volatile unsigned *)0x53000000) / 第1行#define rWTDAT (*(volatile unsigned *)0x53000004) / 第2行#define rWTCNT (*(volatile unsigned *)0x53000008) / 第3行void watchdog_test(void)rWTCON = (PCLK/1000000-1)8)|(33)|(12); / 第4行rWTDAT = 7812;/ 第5行rWTCNT = 7812; / 第6行rWTCON |=(15); / 第7行第1-3 行:定义看门狗控制寄存器、数据寄存器和计数寄存器为rWTCON、rWTDAT和rWTCNT。 第4 行:设置看门狗的预装比例值为1000000,分频因素为1/128,并使能中断。 第5-6 行:对数据寄存器和计数寄存器赋值为7812。 第7 行:启动看门狗。(2分)一、 选择题1、以下说法不正确的是(B )。A、任务可以有类型说明B、任务可以返回一个数值 C、任务可以有形参变量D、任务是一个无限循环2下列描述不属于RISC计算机的特点的是(C)。 A流水线每周期前进一步。B更多通用寄存器。C指令长度不固定,执行需要多个周期。D独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。3 存储一个32位数0x2168465到2000H2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为( D)。A、0x21B、0x68C、0x65D、0x024 COS-II中对关键代码段由于希望在执行的过程中不被中断干扰,通常采用关中断的方式,以下X86汇编代码正确而且不会改变关中断之前的中断开关状态的是(D)A. 先CLI、执行关键代码、再STI B. 先STI、执行关键代码、再CLI C. 先POPF、CLI、执行关键代码、再PUSHF D. 先PUSHF、CLI、执行关键代码、再POPF。5 RS232-C串口通信中,表示逻辑1的电平是(D )。A、0vB、3.3vC、5v15vD、5v15v6 ARM汇编语句“ADD R0, R2, R3, LSL#1”的作用是(A)。A. R0 = R2 + (R3 1) B. R0 =( R2 1) + R3 C. R3= R0+ (R2 1) D. (R3 1)= R0+ R2 7 IRQ中断的入口地址是( C)。FIQ的入口地址为0x0000001CA、0x00000000B、0x00000008C、0x00000018D、0x000000148 S3C2420X I/O口常用的控制器是(D)。(1)端口控制寄存器(GPACON-GPHCON)。 (2)端口数据寄存器(GPADAT-GPHDAT)。(3)外部中断控制寄存器(EXTINTN)。 (4)以上都是。9 实时操作系统中,两个任务并发执行,一个任务要等待其合作伙伴发来信息,或建立某个条件后再向前执行,这种制约性合作关系被成为(A)。A. 同步 B. 互斥 C. 调度 D. 执行10 和PC系统机相比嵌入式系统不具备以下哪个特点( C)。A、系统内核小B、专用性强C、可执行多任务D、系统精简11 、ADDR0,R1,#3属于(A)寻址方式。A. 立即寻址B. 多寄存器寻址C. 寄存器直接寻址D. 相对寻址12、GET伪指令的含义是( A)A. 包含一个外部文件B. 定义程序的入口C. 定义一个宏D. 声明一个变量13、存储一个32位数0x876165到2000H2003H四个字节单元中,若以小端模式存储,则2000H存储单元的内容为( C)。A、0x00B、0x87C、0x65D、0x6114、COS-II操作系统不属于( C)。A、RTOS B、占先式实时操作系统 C、非占先式实时操作系统 D、嵌入式实时操作系统15、若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDRR0,R1,8!后R0的值为(D )。A. 0x2000B. 0x86C. 0x2008D. 0x3916、寄存器R13除了可以做通用寄存器外,还可以做(C )。A、程序计数器B、链接寄存器C、栈指针寄存器 D、基址寄存器17、FIQ中断的入口地址是( A)。A、0x0000001CB、0x00000008C、0x00000018D、0x0000001418、ARM指令集和Thumb指令集分别是(D )位的。A. 8位,16位B. 16位,32位C. 16位,16位D. 32位,16位19、ARM寄存器组有(D )个寄存器。A、7B、32C、6D、3720、若R1=2000H,(2000H)=0x28,(2008H)=0x87,则执行指令LDRR0,R1,8!后R0的值为(D )。A. 0x2000B. 0x28C. 0x2008 D. 0x8721、寄存器R15除了可以做通用寄存器外,还可以做( A)A. 程序计数器B. 链接寄存器C. 堆栈指针寄存器D. 基址寄存器22、嵌入式系统有硬件和软件部分构成,以下(C)不属于嵌入式系统软件。A. 系统软件 B. 驱动 C. FPGA编程软件 D. 嵌入式中间件 26、假设R1=0x31,R2=0x2 则执行指令ADDR0,R1,R2 LSL #3 后,R0的值是( C)A. 0x33B. 0x34C. 0x39D. 0x3823、和PC机系统相比下列哪个不是嵌入式系统独具的特点(C)A、系统内核小B、专用性强C、可执行多任务D、系统精简24、Unicode编码与(A)编码方式兼容。A、ASCII码B、GBKC、GB2312D、区位码25 、Cache用于存放主存数据的部分拷贝,主存单元地址与Cache单元地址之间的转换用(A)完成。A硬件 B. 软件 C. 用户 D. 程序员26 在C/OS-II系统中,OSTimeTick()函数只被以下(A)函数或过程所调用。A. OSTickISR B. OSShed C. OSCtxSwD. OSIntCtxSw27 每种嵌入式操作系统都有自身的特点以吸引相关用户,下列说法错误的是(D)。A. 嵌入式Linux提供了完善的网络技术支持;B. mCLinux是专门为没有MMU的ARM芯片开发的;C. mC/OS-操作系统是一种实时操作系统(RTOS);D. WinCE提供完全开放的源代码。28 下列关于存储管理单元(MMU)说法错误的是(B)。A. MMU提供的一个关键服务是使各个任务作为各自独立的程序在其自己的私有存储空间中运行。B. 在带MMU的操作系统控制下,运行的任务必须知道其他与之无关的任务的存储需求情况,这就简化了各个任务的设计。C. MMU提供了一些资源以允许使用虚拟存储器。D. MMU作为转换器,将程序和数据的虚拟
展开阅读全文