第1章嵌入式系统基础1.什么是嵌入式系统?它由哪几部分组成?有何特点?写出你所想到的嵌入式系统。答:(1)定义:国内对嵌入式系统的一般定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。(2)组成:嵌入式处理器、外围设备、嵌入式操作系统和应用软件等几部分组成。(3)特点:a.软硬件一体化,集计算机技术、微电子技术、行业技术于一体;b.需要操作系统支持,代码小,执行速度快;c.专用紧凑,用途固定,成本敏感;d.可靠性要求高;e.多样性,应用广泛,种类繁多。(4)嵌入式系统:个人数字助理(PDA)、机顶盒(STB)、IP电话。2.嵌入式处理器分为哪几类?答:(1)低端的微控制器(MicroControllerUnit,MCU);(2)中高端的嵌入式微处理器(EmbededMicroProcessorUnit,EMPU);(3)通信领域的DSP处理器(DigitalSignalProcessor,DSP);(4)高度集成的片上系统(SystemonChip,SoC)。3.ARM英文原意是什么?它是一个怎样的公司?其处理器有何特点?答:(1)英文原意:AdvancedRISCMachines。高级精简指令集机器。(2)公司简介:该公司是全球领先的16/32位RISC微处理器知识产权设计供应商,通过将其高性能、低成本、低功耗的RISC微处理器、外围和系统芯片设计技术转让给合作伙伴来生产各具特色的芯片。ARM公司已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准。(3)其处理器特点:a.小体积、低功耗、低成本而高性能;b.16/32位双指令集;c.全球的合作伙伴众多。4.什么是实时系统?它有哪些特征?如何分类?答:(1)实时系统的定义:实时系统(RealTimeSystem)是指产生系统输出的时间对系统至关重要的系统。(2)特征:实时性、并行性、多路性、独立性、可预测性、可靠性。(3)分类:根据响应时间的不同,实时系统可分为3种类型:强实时系统、弱实时系统、一般实时系统。根据确定性的不同,实时系统可分为2种类型:硬实时、软实时。5.RTOS由哪几部分组成?它有哪些特点?与一般操作系统相比有何不同?答:(1)组成:实时内核、网络组件、文件系统、图形用户界面。(2)特点:a.支持异步事件的响应;b.中断和调度任务的优先级机制;c.支持抢占式调度;d.确定的任务切换时间和中断延迟时间;e.支持同步。(3)与一般OS的不同:a.实时性:响应速度快,只有几微秒;执行时间确定,可预测;b.代码尺寸小:只有10~100KB,节省内存空间,降低成本;c.应用程序开发较难;d.需要专用开发工具:仿真器、编译器和调试器等。6.单片机系统、嵌入式系统和SOC系统三者有何区别和联系?答:(1)目前嵌入式系统的主流是以32位嵌入式微处理器为核心的硬件设计和基于实时操作系统(RTOS)的软件设计;(2)单片机系统多为4位、8位、16位机,不适合运行操作系统,难以进行复杂的运算及处理功能;(3)嵌入式系统强调基于平台的设计、软硬件协同设计,单片机大多采用软硬件流水设计;(4)嵌入式系统设计的核心是软件设计(占70%左右的工作量),单片机系统软硬件设计所占比例基本相同。(5)SoC是嵌入式系统的最高实现形式,它集成了许多功能模块,它的核心技术是IP(IntellectualPropertyCore,知识产权核)核。7.无第2章嵌入式系统开发过程1.嵌入式系统开发过程分为哪几个阶段?每个阶段的特点是什么?答:(1)需求分析阶段:a.对问题的识别和分析;b.制定规格说明文档;c.需求评审。(2)设计阶段:a.数据流分析;b.划分任务;c.定义任务间的接口。(3)生成代码阶段:a.代码编程;b.交叉编译和链接;c.交叉调试;d.测试。(4)固化阶段2.嵌入式系统有哪几种调试方式?现在最流行的是哪种?使用什么接口?答:(1)调试方式:源程序模拟器方式、监控器方式、仿真器方式。(2)现在最流行的是仿真器方式,使用JTAG(JointTestActionGroup,联合测试行动组)接口。3.什么是板级支持包?它一般应完成哪些工作?答:(1)定义:有些嵌入式操作系统的内核明确分为两层,上层一般称为“内核”,而底层则称为“硬件抽象层”或“硬件适配层”,缩写为HAL,有的厂商将硬件抽象层称为BSP,即板级支持包(BoardSupportPackage)。(2)主要完成工作:a.在系统启动时,对硬件进行初始化。B.为驱动程序提供访问硬件的手段。(3)主要作用:消除硬件差异。第3章ARM体系结构1.ARM的英文全名是什么?ARM处理器有什么特点?答:见第1章课后习题第3题。2.ARM7和ARM9在流水线方面有何不同?答:ARM7是3级流水线结构,ARM9是5级流水线结构。AR]M9把3级流水线中的执行阶段的操作进行再分配,即把执行阶段中的“寄存器读”插在译码阶段中完成,把“寄存器写”安排在另一级(即第5级)完成,同时,在该级之前,再安排一级(存储访问)。3.ARM处理器支持的数据类型有哪些?答:(1)Byte字节,8位;(2)Halfword半字,16位;(3)Word字,32位;4.写出ARM使用的各种工作模式和工作状态。答:(1)工作模式:详见下表:(2)工作状态:a.ARM:32位,这种状态下执行字对齐的ARM指令;b.Thumb:16位,这种状态下执行半字对齐的Thumb指令。5.ARM处理器总共有多少个寄存器?其中哪个用做PC?哪个用做LR?答:(1)ARM处理器总共有37个寄存器:31个通用寄存器,6个状态寄存器。(2)R15用做程序计数器PC,R14用做子程序链接寄存器LR。6.假设R0=0x12345678,使用将R0存储到0x4000的指令存到存储器中,若存储器为大端组织,写出从存储器0x4000处加载一个字节到R2的指令执行后R2的值。答:由于0x4000是大端组织,所以R0存进后,0x4000中有数0x56781234,从0x4000加载一个字节到R2后(由地位到高位加载),R2的值为0x34。7.ARM920T处理器加入了哪两个协处理器?各自的主要功能是什么?答:ARM920T处理器加入了两个协处理器:(1)CP14,允许软件访问调试通信通道;(2)系统控制协处理器CP15,提供了一些附加寄存器用于配置和控制Caches、MMU、保护系统、时钟模式和其他系统选项。8.ARM920T支持哪些时钟模式?答:快速总线模式、同步模式、异步模式。9.什么是写直达和写回Cache操作,各有何特点?答:(1)写直达:当CPU对Cache写命中时,Cache与主存同时发生写修改。优点:一致性好;缺点:耗时。(2)写回:当CPU对Cache写命中时,只修改Cache的内容而不立即写入主存,只当此执行被换出时才写回主存。优点:减少访问主存次数,提高效率。缺点:一致性差点。10.ARM为何集成了32位的ARM指令集和16位的Thumb指令集?(即它的好处)答:可提供长的转移范围、强大的算术运算能力和大的寻址空间。11.什么是big-endian和little-endian,编写一段程序测试你所用的计算机体系结构采用哪种存储机制?答:(1)大端存储系统(big-endian):低地址存放高字节,高地址存放低字节。小端存储系统(little-endian):低地址存放低字节,高地址存放高字节。(2)intx=0x12345678;int*p=&x;if(*(char*)p=0x78)…littleendianelse…bigendian第4章ARM系统硬件设计基础1.一个典型的可执行映像由哪几部分组成?答:2.汇编和C语言的相互调用方法。答:(1)汇编程序调用C程序的方法为:首先在汇编程序中使用IMPORT伪指令事先声明将要调用的C语言函数;然后通过BL指令来调用C函数。(2)C程序调用汇编子程序的方法为:首先在汇编程序中使用EXPORT伪指令声明被调用的子程序,表示该子程序将在其他文件中被调用;然后在C程序中使用extern关键字声明要调用的汇编子程序为外部函数。(补充)3.基于ARM的硬件启动流程?答:(1)分配中断向量表;(2)初始化存储器系统;(3)初始化各工作模式下的堆栈;(4)初始化有特殊要求的硬件模块;(5)初始化用户程序的执行环境;(6)切换处理器的工作模式;(7)调用主应用程序。第5章基于S3C2410的系统硬件设计1.复习掌握:P230I/O口编程实例。补充:2.中断的处理流程?答:(1)保存现场;(2)模式切换;(3)获取中断源;(4)中断处理;(5)中端返回,恢复现场。3.中断寄存器的作用及相关的操作?P235-237。