第1章概述1.嵌入式系统的基本含义是什么?为什么说单片机是典型的嵌入式系统?一种计算机硬件和软件的组合,也许还有机械装置,用于实现一个特定功能。在某些特定情况下,嵌入式系统是一个大系统或产品的一部分。MCU的含义是:在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。大部分嵌入式系统以MCU为核心进行设计。MCU从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。因此以MCU为核心的系统是应用最广的嵌入式系统。2.简述嵌入式系统的特点以及应用领域。答:嵌入式系统属于计算机系统,但不单独以通用计算机的面目出现;嵌入式系统开发需要专用工具和特殊方法;使用MCU设计嵌入式系统,数据与程序空间采用不同存储介质;开发嵌入式系统涉及软件、硬件及应用领域的知识;嵌入式系统的其他特点,比如紧张的资源,较高稳定性要求,低功耗,低成本等。一般用于工业控制,智能家电,日常电子等领域。日常数码产品:手机,MP3,U盘,相机等。日常工业类:冰箱,空调,微波炉,汽车等。3.比较MCU与CPU的区别与联系。答:CPU是一个单独的PC处理器。而MCU,则有微处理器,存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。所以可以这么说,MCU是一个包含微处理器的嵌入式系统,而CPU紧紧是一个处理器而已。4.嵌入式系统的常用术语嵌入式的知识体系硬件最小系统(包括电源、晶振、复位、写入调试接口)通用I/O(开关量输入/输出,涉及各种二值量检测与控制)模数转换A/D(各种传感器信号的采集与处理,如红外、温度、光敏、超声波、方向等)数模转换D/A(对模拟量设备利用数字进行控制)通信(串行通信接口SCI、串行外设接口SPI、集成电路互联总线I2C,CAN、USB、嵌入式以太网、ZigBee技术等)显示(LED、LCD等)控制(控制各种设备,包括PWM等控制技术)数据处理(图形、图像、语音、视频等处理或识别)各种具体应用与硬件相关的术语封装(Package)印刷电路板(PCB,Printedcircuitboard)动态可读写随机存储器(DRAM,DynamicRandomAccessMemory)静态可读写随机存储器(SRAM,StaticRandomAccessMemory)只读存储器(ROM,ReadOnlyMemory)闪速存储器(FlashMemory)模拟量开关量与通信相关的术语并行通信串行通信串行外设接口SPI集成电路互连总线I2C通用串行总线USB控制器局域网CAN背景调试模式BDM边界扫描测试协议JTAG与功能模块及软件相关的术语通用输入/输出GPIOA/D与D/A脉冲宽度调制器PWM看门狗液晶显示LCD发光二极管LED键盘实时操作系统RTOS5.C语言的那些特性使得它成为嵌入式系统中使用频率最高的高级语言。答:相比底端汇编,更简单易学;与高级语言如(C++,C#,java等)相比,执行效率高,编译后的编码体积小,而且支持好的编译器还支持嵌入汇编代码;对位的操纵能力很强。6.举例说明结构体变量类型的定义,结构体变量的声明和使用方法6.结构体定义结构体类型,类型名称为student:structstudent{charname[8];//成员变量nameintage;//成员变量agecharsex[2];//成员变量sex};声明和使用结构体变量和指针:structstudents1;structstudent*Pstudent;s1.age=20;Pstudent=(structstudent*)malloc(sizeof(structstudent));Pstudent-age=18;1、什么是嵌入式系统?嵌入式系统的特点是什么?嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统的主要特点如下:高实时性OS、系统内核小专用性强系统精简实时性和可靠性要求高嵌入式软件开发走向标准化嵌入式系统需要专门的开发工具和环境2、嵌入式软件的特点有哪些?�规模相对较小,开发难度大�快速启动,直接运行�实时性和可靠性要求高�程序一体化�两个平台3、嵌入式系统的主要应用领域有哪些?消费电子、通信设备、家庭设备、汽车电子、工业控制、军事国防、医疗电子等。4、按实时性来分,嵌入式系统可分为几类?它们的特点是什么?可分为硬实时系统和软实时系统。其中硬实时系统对响应时间有严格要求,如果系统响应时间得不到满足,就会引起系统崩溃或致命的错误;软实时系统对响应时间有要求,但系统响应时间得不到满足时,不会导致系统崩溃或致命的错误。0deadlinetime1HardSystemSoftSystem5、影响系统响应时间的主要因素有哪些?影响系统响应时间的主要因素有:�任务调度算法�任务执行时间�事件发生的频率�任务数量�中断响应时间�任务响应时间�资源共享�任务间通信6、根据自己的理解描述嵌入式系统的发展趋势?行业性嵌入式软硬件平台——标准化互联网的普及——网络化半导体技术的改善——小型化3C技术的快速融合——功能多样化使用者的需求——个性化信息服务应用生活化——泛在化28、请简述计数信号量的工作原理。计数器信号量通常用于保护多实例访问的资源。计数信号量可以看成一个内存单元,这个内存单元的内容保存一个计数值。当一个任务用semTake获取一个计数信号量时,会有两种结果:如果这个信号量的计数是非0的,那这个信号量的计数就会减1,调用semTake的任务也会继续执行;如果这个信号量的计数是0,调用semTake的任务会被阻塞,等待信号量的可用。如果用semTake获取一个计数信号量时指定了超时,并且达到了超时值,这个任务会从阻塞队列移出并移入到就绪队列,同时返回错误状态。有可能会有几个任务同时等待在一个计数信号量上。当一个任务调用semGive()释放一个计数信号量时,等待在这个计数信号量队列中的任务会解除阻塞状态。如果没有任务等待,该信号量计数会加1。29、简述消息队列的工作机制?工作模式?有何优缺点?消息队列是任务之间传递信息的一种机制,允许多个任务,中断之间发送以指针方式定义的变量或其他信息,指向的数据结构的变量类型也可以有所不同;可以看作多个邮箱组成的数组,共用一个等待列表,可以用作计数型信号量。主要的工作模式有两种:C/S模型、双工通信模型。优点:可以携带少量信息,可以缓冲,防止峰值。缺点:效率不高。传递指针信息,没有对消息进行复制,不能对原消息进行修改,效率相对高(vxWorks会复制消息)。30、简述管道的工作机制?与消息队列相比,各有什么优点?管道是构筑于消息队列之上,由pipeDrv所控制的一个虚拟的I/O设备,具有标准的I/O接口。消息队列的优点:具有超时功能、消息有优先级、更快、可以被删除。管道的优点:使用标准的I/O接口,如read(),write(),open(),close();可以通过iotaskStdSet()重定向;在Select()重可以使用文件描述符。31、简要描述VxWorks中信号的定义和用途。信号是一种软件通知,用以通知处理事件的任务。VxWorks支持软件信号功能,信号异步地改变任务的控制流,任何任务都可以向另外一个任务发送信号。信号多用于异常处理,很少用于任务间通信。32、实时系统软件开发不同于其他软件工程的主要特征有哪些?实时系统的设计是受资源约束的。时间是实时系统的首要资源,除此以外,其他系统资源如内存大小等,在实现系统目标时都有可能与时间进行折衷。实时系统是紧凑而复杂的,通常需要软件硬件协同设计。实时系统的运行常常不需要用户的参与。33、选择嵌入式系统处理器时主要考虑哪些因素?主要考虑的因素有应用类型、I/O接口、主频、功耗、所支持的存储器类型、总线、价格、封装、产品的生命力和厂家的实力、技术支持和第三方软件的支持。34、选择嵌入式操作系统时主要考虑哪些因素?是自建还是购买,或是使用开源软件;应用对嵌入式操作系统的功能、性能的要求;与硬件平台和开发工具的关系;产品所属的应用领域是否有行业的标准或限制;技术支持;版税或服务费的问题。第2章ARMCortex-M0+处理器ARM公司在经典处理器ARM11以后的产品统一改用Cortex命名,并分成A50、A、R和M四类,旨在为各种不同的市场提供服务。1.ARMCortex-A50系列处理器面向高效的低功耗服务器市场领域。2.ARMCortex-A系列处理器面向尖端的基于虚拟内存的操作系统和用户应用。3.ARMCortex-R系列处理器针对实时系统,为有严格的实时响应限制的嵌入式系统提供高性能计算解决方案。4.ARMCortex-M系列处理器该系列处理器是一系列可向上兼容的高能效、易于使用的处理器,旨在帮助开发人员满足将来的嵌入式应用的需要。2.取数指令存储器中内容加载到寄存器中的指令。其中,LDR、LDRH、LDRB指令分别表示加载来自存储器单元的一个字、半字、单字节(不足部分以0填充)。LDRSH和LDRSB指令将存储单元的半字、单字节有符号数扩充至32位,并加载到指定寄存器Rt中。3.存数指令寄存器中内容存储至存储器中。STR、STRH、STRB指令存储Rt寄存器的字、半字、单字节至存储器。存储单元地址由Rn与Rm之和决定。Rt、Rn和Rm必须为R0~R7之一。3.ARMCortex-M0+处理器的寄存器4.1)立即数寻址,操作数直接通过指令给出,数据包含在指令编码中,随着指令一起被编译成机器码存储于程序空间中。用#作为立即数的前导标识符。ARMCortex-M0+立即数范围是0x00~0xff。例如:SUBR1,R0,#1@R1←R0-1MOVR0,#0xff@将立即数0xff装入R0寄存器2)寄存器寻址,操作数来自于寄存器。MOVR1,R2@R1←R2SUBR0,R1-R2@R0←R1-R23)直接寻址,操作数来自存储单元,指令中直接给出存储单元的地址。指令码中显示数据的位数,字(4字节)、半字(2字节)、单字节三种情况。LDRRt,label@从标号label处连续取4字节至寄存器Rt中LDRHRt,label@从标号label处连续取2字节至寄存器Rt中LDRBRt,label@从标号label处取单字节至寄存器Rt中4)偏移及寄存器间接寻址,操作数来自存储单元,指令中通过寄存器及偏移量给出存储单元的地址。偏移量不超过4KB(指令编码中偏移量为12位)。偏移量为0的偏移寻址也称为寄存器间接寻址。LDRR3,[PC,#100]@地址为(PC+100)的存储器单元的内容加载到寄存器R3中LDRR3,[R4]@地址为R4的存储单元的内容加载到寄存器R3中8.伪指令是没有对应机器码的指令,只能为编译器所识别并指导汇编如何进行。主要用于变量和常量以及宏的定义、条件判断、文件包含等。第3章KL25简介与硬件最小系统(本章3.6节内容不做考核要求)•3.1飞思卡尔Kinetis系列微控制器简介飞思卡尔在2010年飞思卡尔技术论坛(FTF2010)美国站推出了Kinetis系列微控制器。面向领域不同,Kinetis系列基于ARMCortex-M内核陆续推出了KinetisK系列、L系列、M系列、W系列。•KinetisK系列飞思卡尔的KinetisK系列产品组合有超过200种基于ARMCortex-M4结构的低功耗,高性能、可兼容的微控制器。目标应用领域是便携式医疗设备、仪器仪表、工业控制及测量设备等。•KinetisL系列飞思卡尔的KinetisL系列MCU不仅汲取了新型ARMCortex-M0+处理器的卓越能效和易用性、功耗更低、价格更低、效率更高,而且体现了Kinetis产品优质的性能、多元化的外设、广泛的支持和可扩展性。目标应用领