杭电_嵌入式系统原理个人期末整理缩印Super超级超级最终版

时间:2019-05-12 13:10:10下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《杭电_嵌入式系统原理个人期末整理缩印Super超级超级最终版》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《杭电_嵌入式系统原理个人期末整理缩印Super超级超级最终版》。

第一篇:杭电_嵌入式系统原理个人期末整理缩印Super超级超级最终版

———————————————1.系统概述、调试———————————————— 什么是嵌入式系统?嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。”嵌入式系统特点:a通常含有面向特定应用的嵌入式CPU。b是计算机技术、半导体技术和电子技术与各行业的具体应用相结合的产物。c其硬件和软件的设计效率要高。d与具体应用紧密结合,其升级换代也与具体产品同步进行,因此生命周期较长。e其软件均固化在存储芯片或单片机中,因此,速度和可靠性较高。f不具备独立开发能力,必须借助外部开发工具或系统进行设计,因此用户不能对其中的程序功能进行修改。实时性实现(RTOS实时操作系统见第七章):根据操作系统特性,调度一切可利用的资源完成实时控制任务,在时间限制内区别、处理离散事件和存储控制系统的大量数据。

嵌入式系统处理器特点:1)对实时多任务有很强的支持功能,能完成多任务并且有较短的中断响应时间从而使内部的代码和实时内核的执行时间减少到最低限度;2)具有功能很强的存储器保护功能;3)可扩展的处理器结构,能迅速地扩展出满足应用的高性能的嵌入式处理器;4)嵌入式处理器功耗很低。

嵌入式系统组成:①嵌入式系统硬件(嵌入式核心处理器芯片、存储器系统、输入/输出接口)②嵌入式系统软件(嵌入式操作系统和应用软件)③嵌入式系统的开发工具和开发系统

嵌入式系统包括硬件和软件两个部分,硬件包括处理器、存储器、外设2器件、I/O端口和图形控制器等。软件包括嵌入式操作系统和应用软件编程两大部分和4个层次即设备驱动接口、实时操作系统、可编程应用接口、应用软件。

嵌入式系统种类:①单个嵌入式处理器②嵌入式处理器可扩展的系统③复杂的嵌入式系统④在制造或过程中使用的计算机系统

嵌入式系统与通用计算机系统相比有什么特点?1)嵌入式系统通常是面向特定应用的嵌入式CPU,与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。2)嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。3)嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。4)嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。5)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。6)嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。

嵌入式系统的调试方法:基于主机的调试、远程调试、ROM仿真器、在线仿真器、BDM、JTAG 解析嵌入式系统的四种基本调试方法。1)源程序模拟器(Simulator)是在PC机上,通过软件手段模拟执行为某种嵌入式处理器编写的源程序的测试工具 2)仿真器调试方式是在微处理器的内部嵌入额外的控制模块。当特定的触发条件满足时,系统将进入某种特殊状态。在这种状态下,被调试的程序暂时停止运行,宿主机的调试器通过微处理器外部特设的通信口访问各种寄存器、存储器资源,并执行相应的调试指令 3)监控器(Monitor)调试方式需要目标机与宿主机协调。首先,在宿主机和目标机之间通过串口、以太口等建立物理连接,然后在宿主机上运行调试器,目标机运行监控程序和被调试程序,从而建立宿主机与目标机的逻辑连接。宿主机通过调试器与目标机的监控器建立通信连接,它们相互间的通信遵循远程调试协议。4)在线调试器方式它是一种边界扫描标准,只需5根引脚就可以实现在线仿真的功能。

调试子系统指的是JTAG调试接口和BDM调试接口等。嵌入式系统的发展趋势:(除软硬件外P24、P25)开发平台的完备化、嵌入式系统的网络化、系统集成度和性能指标的提高、友好的人机界面。

嵌入式系统应用:典型的嵌入式系统应用领域包括国防、工业控制、信息家电、各种商用设备、办公自动化。

嵌入式系统的体系结构:嵌入式系统自底向上包含四个部分:硬件平台、嵌入式实时操作系统(RTOS)、硬件抽象层(HAL)和嵌入式实时应用程序。硬件抽象层位于操作系统和硬件之间,包含了系统中与硬件相关的大部分功能。屏蔽了底层硬件的多样性,操作系统不再直接面对具体的硬件环境,而是面向由这个中间层次所代表的、逻辑上的硬件环境。嵌入式系统中进程间通信主要采用哪几种形式?嵌入式系统中进程间通信主要采用两种形式:共享内存和消息传递。二者在逻辑上没有什么区别,进程通信采用哪种方式,主要依赖实际需要。进程间通信也可以采用信号和管道的方式。

在嵌入式系统中使用Bootloader有哪些优点?大多数嵌入式系统还是采用了引导加载程序Bootloader,而不让可执行映像在EEPROM或FLASH中就地执行。这样做是出于几个方面的考虑:1)效率方面的考虑虽然CPU可以在ROM或FLASH空间就地执行操作系统(包含应用软件)的映像,但是ROM和FLASH的速度往往比不上RAM。所以先把映像从ROM或FLASH空间搬运到RAM空间,然后在RAM空间中运行这个映像,有利于提高系统的运行效率。2)操作系统的多样性一方面嵌入式系统可以采用很多不同种类的操作系统,同一种操作系统也可以有不同的版本。而且,嵌入式系统的应用软件又常常与操作系统连成一体,这就更增加了系统映像的多样性。另一方面,嵌入式系统的硬件提供商所面对的通常是二次开发商而不是最终用户,往往并不清楚最终用的是什么操作系统,或者手中并无目标操作系统的映像。所以,最好的办法是先在硬件中装上一个引导加载程序,而让二次开发商提供具体的操作系统映像,这样就为采用不同版本,甚至完全不同的操作系统(以及应用程序)映像提供了灵活性。3)存储地与执行地分离特别是在嵌入式系统的调试阶段,更换系统的可执行映像是很频繁的事情,此时需要把新的可执行映像写入相应的EPROM或FLASH芯片中去。如果让可执行映像就地运行,那就变成要把新的映像覆盖到正在执行的老的映像上,那样当然会带来一些技术上的问题。这说明映像的存储地与执行地应该分离。4)调试/排错方面的考虑调试/排错方面的考虑也要求在RAM中执行系统映像。嵌入式软件的开发在前期可以采用一些模拟、仿真的调试/排错手段,可是最终总得要“来真格”的,到实际的运行环境中考察、调试。如果目标程序在ROM或FLASH中就地运行,就无法通过这种方法设置断点了。5)嵌入式系统独特的开发模式嵌入式系统的操作系统内核往往与应用软件静态地连接在一起,而且程序的开发通常是在另一台“主机”上进行,所以每次修改程序以后就得把新的映像“下载”到目标机中,此时就得依靠目标机的引导加载程序。嵌入式系统的BooTLoader的功能是什么?BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。(对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。)

———————————————9嵌入式软件组件——————————————

嵌入式软件组件有时也称为嵌入式系统构件、软件模块,是指在开发嵌入式系统时,对软件的开发进行总体规划,设计成模块化结构、组件化结构。

设计方法:对一定范围内不同功能或其他功能、不同性能、不同规格产品进行分析,划分并设计出一系列功能模块,通过模块选择和组合构成不同产品。嵌入式系统的软件组成:1.嵌入式操作系统 2.嵌入式应用软件 3.硬件抽象层HAL 4.板级支持包BSP 5.设备驱动程序 6.操作系统的应用程序接口函数API

嵌入式软件的特点:1)软件要求固态化存储。2)软件代码要求高质量、高可靠性。3)系统软件的高实时性是基本要求。4)多任务实时操作系统成为嵌入式应用软件的必需。嵌入式系统开放中,使用软件组件技术有什么好处?a.提高开发的效率b.提高开发的可靠性c.提高软件的可移植性d.适合于并行开发

异步串行通信基本通信方式:单工通信、半双工通信、双攻通信

异步串行通信两个子模块:a.应用接口模块(API)为用户的编程提供API,完成模块初始化、数据发送和接收功能,并管理发送和接收的环形队列。b.中断服务程序模块:允许把收到的字符送入接收环形队列,把发送环形队列中的数据发送出去。异步串行通信两种工作方式:查询方式、中断方式

实际应用中,查询用于发送:a.应用程序把发送的字符存放到发送寄存器或发送缓冲区中b.启动发送c.通信控制器发送数据d.通信控制器发送完成后,置位发送完成标志d.应用程序或接口函数查询发送标志,如果发送完成则返回,继续下面的操作。中断用于接受:通信控制器接受到一个字符就会产生一个中断。——————————————2.开发流程————————————————

嵌入式系统开发的基本流程?1)系统定义与需求分析;2)系统设计方案的初步确立;3)初步设计方案性价比评估与方案评审论证;4)完善初步方案、初步方案实施;5)软硬件集成测试;6)系统功能性能测试及可靠性测试。

嵌入式系统开发过程:需求分析阶段、详细设计阶段、开发阶段、测试阶段。需求分析阶段:

1.分析用户的需求(分析用户对产品的需求、确认用户的需求、罗列用户的需求、需求的内部一致性)

2.确定硬件和软件(处理器、总线吞吐量、嵌入式操作系统、编程语言、第三方软件或库函数、第三方硬件)

3.对需求分析的结果进行检查(原因、目的、方法和内容)

4.确定项目的约束条件(约束随时可能出现、约束影响所选择的方法、约束会滋长新的约束、太多的约束将使进行中的项目变为不可能)

5.概要设计(系统结构模型建立方式、系统结构模型建立流程<硬件:功能设计、结构化设计、物理设计与实现 / 软件:功能分析与设计、软件模块划分、模块开发与实现>)详细设计阶段:

1.审查分析资料:审查分析资料、审查分析条件

2.体系结构设计:1)系统是硬实时系统还是软实时系统2)操作系统是否需要嵌入3)物理系统的成本、尺寸和耗电量是否是产品成功的关键因素4)选择处理器和相关硬件 3.硬件和软件的划分

4.硬件和软件的设计次序:先设计硬件、先设计软件、软硬件同时设计

硬件设计:设计硬件子系统、定义硬件接口

嵌入式系统硬件子系统组成:处理器子系统、存储器子系统、附属电路、I/O子系统 设计嵌入式硬件系统:复用原则、模块化原则、标准化原则

软件设计:设计软件子系统、定义软件接口、规定系统启动和关闭过程、确定出错处理方案

5.检查设计

科研开发阶段:

构造嵌入式开发环境有哪几种形式?1)交叉开发环境 ;2)软件模拟环境 ;3)评估电路板

1.选择开发平台(硬件平台、操作系统、编程语言、开发工具):选择处理器、选择硬件部件、选择嵌入式操作系统、选择编程语言、评估板

2.软件开发过程:嵌入式系统的软件开发过程<建立交叉开发环境、编译和连接、重定位和下载、调试>、在主机系统上验证软件、在目标系统上验证软件、代码优化<清除程序中的无用代码、清除为调试所引入的代码、避免使用大型的库例程、避免使用递归式例程、避免浮点操作、通过使用非常简单的诀窍来提高程序的执行效率、将访问最频繁的变量声明为寄存器变量或自动变量、尽量使用无符号数据类型、如果某函数或例程消耗大量运行时间就改用汇编语言编写、与处理器的开发工具一起提供的编译器有一个代码优化器> 测试阶段:

测试原因:在软件中找到错误、减少用户与公司的风险、节约开发与维护成本、提高性能 1.找到错误2.减少风险3.开发关键性任务软件4.节约成本5.提高性能

Top-down设计方法:自顶向下设计的简称,在组件设计中应用,其意义是先确定总体思路、设计总体布局,然后设计零部件,从而完成一个完整的设计。

———————————————6 裸机系统的软件开发—————————————— 裸机嵌入式系统的软件组成:初始化引导代码、用户应用程序、中断服务程序、库函数模块、子程序或函数。移植的必要性:

1.嵌入式处理器的原因:每一种处理器都有一个生命周期,如果重要的嵌入式系统装置采用了淘汰的处理器,那么在处理器出现问题时,会对系统长期运行带来重大隐患。

2.操作系统的原因:以前嵌入式系统的开发工具不是很完善,一种嵌入式应用软件往往只能运行在一种嵌入式操作系统上。如果应用软件需要运行在新的操作系统平台上,就要考虑应用软件在操作系统平台上的移植。(a.裸机系统的嵌入式系统软件移植;b.基于嵌入式操作系统开发的嵌入式系统软件的移植)

裸机系统的软件移植:基于模块化和可移植的嵌入式系统应用软件可分为应用软件、输入/输出模块(与硬件有关)、嵌入式微控制器硬件,对上面的软件结构做进一步的细分:应用软件、输入/输出模块(与硬件无关)、硬件抽象层(与硬件有关)、嵌入式微控制器硬件,这样的四层软件结构使可移植的代码进一步减少,减少了移植的工作量。

基于裸机的移植:对很多小型系统,没有操作系统,有些用汇编语言编程,基本上没法移植。如采用移植性比较好的C语言,可以考虑移植。设计时考虑模块化和层次化。在处理器的硬件层上增加了一个硬件抽象层,把I/O设计成不是基于硬件的,而是基于抽象层的,屏蔽了硬件的特性,可以减少移植的代码量。

可移植应用软件的设计原则:a.层次化:纵向结构,下层通过API为上层服务,上层利用下层的服务;定义清晰的接口和功能,层数要合适,太多增加复杂性降低效率,太少失去了分层的意义;移植时通常只需修改底层的软件,并保持与上层接口的API不变。b.模块化:体现在软件的整体设计和同一层次内部的设计;模块之间一般是独立的而不是相互依赖的;模块之间可以根据操作系统提供的方法来通信。c.设计硬件抽象层:层次化的最底层。在硬件抽象层,将系统硬件和软件完全分离开。独立开发、调试。可以缩短开发周期、提高可靠性。

硬件抽象层:硬件抽象层是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。从软硬件测试的角度来看,软硬件的测试工作都可分别基于硬件抽象层来完成,使得软硬件测试工作的并行进行成为可能。

硬件抽象层特点:硬件抽象层具有与硬件密切相关性;硬件抽象层具有与操作系统和应用软件的无关性;接口定义简单明了,太多接口函数会增加软件模拟的复杂性;具有可测性的接口设计有利于系统的软硬件测试和集成。

硬件抽象层设计步骤:a.分析接口的数据传输特性(双向/单向数据传输,字节型/数据帧型传输模式)b.分析接口配置属性c.定义所需的相关函数d.定义接口函数的参数和算法e.函数开发与测试

嵌入式Linux系统移植的一般过程:嵌入式系统的开发和应用层软件的开发不同,有其自身的特点,尤其在开发流程上有很大的不同。从大体上讲,Linux系统移植一般分为下面几步:1)开发环境的搭建嵌入式系统移植过程中,目标机和宿主机往往在软硬件环境上有很大的不同,开发时常常在功能强大的宿主机上进行,这就形成了交叉开发环境的搭建与选择问题。同时由于宿主机和目标机在体系结构等方面的差异,编译时也需要采用交叉编译工具对目标代码进行编译,这样,才能使生成的可执行文件在目标机上能够执行。2)系统引导在微处理器第一次启动的时候,会从预定的、固定的地址空间开始执行指令。一般的嵌入式系统中并没有PC机上的BIOS,而是由一种称为Bootloader的系统引导程序来完成上述功能,启动代码完全依赖于硬件,需要在系统移植中完成。3)内核引导系统移植的开发人员还应当完成Bootloader和内核的衔接部分的移植以及I/O映射、存储器映射等与目标硬件平台相关的板级初始化和CPU自身初始化的移植工作。4)设备驱动程序Linux内核源代码树中的相当大部分是各类驱动程序,在实际的开发过程中,也需要对相应的设备进行驱动,如LCD、网卡、触摸屏等等进行移植和编写。由于一般在Linux源码和相关社区中都拥有相当丰富的设备驱动源码资源,因此,设备驱动的任务主要是相近源码的移植修改工作。5)文件系统在嵌入式Linux内核启动的最后阶段,将进行文件系统的加载。不同的嵌入式目标平台有不同的应用需求,需要根据具体情况实现对文件系统的移植工作。目前,常用的嵌入式文件系统有JFFS2、Cramfs、Romfs等。

——————————————3。——处理器———————————————— 嵌入式处理器子系统:通用微处理器、嵌入式微控制器、嵌入式微处理器、DSP,有时还可以使用可编程逻辑器件(FPGA或CPLD)作为核心处理单元。

嵌入式处理器通常有3种芯片(微处理器、微控制器、数字信号处理器)

常用的嵌入式处理器通常分成哪几大类?嵌入式系统中的处理器通常分为三大类,即微处理器(Micro-Processor Unit,MPU)、微控制器(Micro-Controller Unit,MCU)和数字信号处理器(DSP)。微处理器是指功能较强大的CPU,它不是为任何特定的计算目标而设计的。因此这种芯片通常用于个人计算机与服务器。微控制器是针对嵌入式系统而设计的,它将CPU、存储器以及其他外设都集成在同一片电路板上。数字信号处理器(DSP)中的CPU是针对快速离散时间信号处理计算的。因此,DSP非常适用于音频及视频通信。现代的芯片生产工艺已经允许将重要处理器的内核和各种外围的芯片器件整合在一起,以进一步降低功耗,达到专用的需求,这时,便出现了片上系统SoC(System On Chip)。

什么是可编程片上系统?用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统SOPC.它是一种特殊的嵌入式系统,首先它是SOC,即由单个芯片实现整个系统的主要逻辑功能,具有一般SOC基本属性;其次,它又具备软硬件在系统可编程的功能,是可编程系统,具有可裁剪、可扩充、可升级等灵活的设计方式。DSP是专门为处理密集的数学算法而设计的微处理器,信号的数据量大,需要很强的实时性。嵌入式处理器的技术指标:功能、字宽、处理速度、工作温度、功耗、寻职能力、平均故障间隔时间、性能价格比、工艺、电磁兼容性指标

选择嵌入式处理器:够用原则、成本原则、考虑选择的参数

微控制器本身的支持电路:1.电源、地、电源滤波2.时钟电路3.复位电路 通用处理器与嵌入式处理器有哪些相同和不同的地方?

嵌入式微处理器一般具备四个特点:对实时和多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时操作系统的执行时间减少到最低限度;具有功能很强的存储区保护功能;可扩展的处理器结构,以能迅速地扩展出满足应用的高性能的嵌入式微处理器;嵌入式处理器的功耗必须很低;嵌入式处理器与通用处理器的最大区别在于嵌入式处理器集成了大量的不同功能的I/O模块。用户在开发嵌入式系统时,可以根据系统需求选择合适的嵌入式处理器,而无需再另外配备I/O电路。

ARM微处理器的七种运行(工作)模式:用户模式、快速中断模式、外部中断模式、管理模式、数据访问终止模式、系统模式、未定义指令中止模式。

ARM核现在有哪几种?ARM7、ARM9、ARM9E、ARM10E,、SecurCore、ARM11

ARM状态下和Thumb状态下寄存器的组织有何不同?Thumb状态下的寄存器集是ARM状态下寄存器集的一个子集,程序可以直接访问8个通用寄存器(R7~R0)、程序计数器(PC)、堆栈指针(SP)、连接寄存器(LR)和CPSR。同时,在每一种特权模式下都有一组SP、LR和SPSR。在Thumb状态下,高位寄存器R8~R15并不是标准寄存器集的一部分,但可使用汇编语言程序受限制的访问这些寄存器,将其用作快速的暂存器。

如何从ARM指令集跳转到Thumb指令集?ARM指令集中的跳转指令与汇编语言中的跳转指令有什么区别?进入Thumb指令模式有2种方法:一种是执行一条交换转移指令BX,将指令中的目标地址寄存器的最低位置1,并将其他位的值放入程序计数器PC,则可进入Thumb指令。另一种方法是利用异常返回,也可把微处理器从ARM模式转换为Thumb模式。在这个过程中,ARM提供了2种机制:当返回地址保存在当前异常模式的R14(LR)时,采用传送指令;当返回地址保存在堆栈时,使用多寄存器Load/Store指令。ARM指令集中的跳转指令与汇编语言中的跳转指令的区别是ARM指令集中的跳转指令可以直接向程序计数器PC写入跳转地址值。

有时要使用Thumb技术的原因(Thumb指令集是把32位的ARM指令集的一个子集重新编码后形成的一个特殊的16位指令集。)在性能和代码大小之间取得平衡,在需要较低的存储代码时采用Thumb指令系统用Thumb指令编写最小代码量的程序(能够很好的解决代码长度的问题),却取得以ARM代码执行的最好性能,可以带来低功耗,小体积,低成本。比较ARM9与ARM7处理器的性能特点,它们有哪些不同?

答:ARM7提供了非常好的性能-功耗比,它包含了Thumb指令集快速乘法指令和ICE调试技术的内核。ARM9处理器通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。ARM7内核是0.9MIPS/MHz的三级流水线和冯.诺伊曼结构,而ARM9内核是5级流水线,提供1.1MIPS/MHz的哈佛结构。从ARM7到ARM9的性能提升还来源于存储器读写指令——load和store,以及互锁技术的应用。

寄存器R13,R14,R15的专用功能各是什么?1)寄存器R13保存堆栈指针SP;2)寄存器R14用作子程序链接寄存器,也称为LR,用以保存返回地址;3)R15(PC)用作程序计数器。

寄存器CPSR,SPSR的功能各是什么?1)CPSR包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。所有处理器模式下都可以访问当前的程序状态寄存器CPSR。2)在每种异常模式下都有一个对应的物理寄存器——程序状态保存寄存器SPSR。当异常出现时,SPSR用于保存CPSR的状态,以便异常返回后恢复异常发生时的工作状态。ARM的异常有哪几种,各进入何种工作模式?他们退出各采用什么指令? 1)复位(Reset)异常(管理模式);2)未定义指令(undefined instruction)异常(未定义模式);3)软件中断(SWI)异常(管理模式);4)指令预取中止(Prefech Abort)异常(中止模式);5)数据访问中止(Data Abort)(中止模式);6)快速中断请求(FIQ)(FIQ模式);

7)外部中断请求(IRQ)(IRQ模式)。

异常返回指令:1)SWI,未定义的返回:MOVS PC,R14;2)IRQ,FIQ,预取中止的返回:SUBS PC,R14,#4;3)数据中止返回并重新存取:SUBS PC,R14,#8

异常中断的优先级:复位(最高优先级)--> 数据异常中止--->FIQ--> IRQ--->预取指异常中止--->SWI---->未定义指令(包括缺协处理器)。

在ARM的立即寻址方式下其立即数如何在指令编码中表示?在ARM数据处理指令中,当参与操作的第二操作数为立即数型时,每个立即数都是采用一个8位的常数循环右移偶数位而间接得到。其中循环右移的位数由一个4位二进制的两倍表示,如果立即数记作,8位常数记作immed_8,4位的循环右移值记作rotate_imm,有效的立即数是由一个8位的立即数循环右移偶数位得到。因此有效立即数immediate可以表示成:=immed_8循环右移(2×rotate_imm)

指令ADR,ADRL、LDR、NOP是如何处理地址值读入到寄存器中的?ADR是将基于PC或者寄存器的地址值读入到寄存器的,ADR伪指令通常被替换成一条ADD指令或SUB指令来实现该ADR指令的功能。而ADRL伪指令与ADR指令的最大不同之处是,它可以读取更大范围内的地址,而且被编译器替换成2条数据处理指令。LDR将一个32位的立即数或者一个地址值读取到寄存器中。大范围的地址读取。NOP在汇编时将被替换成ARM中的空操作。指令LDR R1,=0xFFF是如何将立即数0xfff读入到R1的?由于需要读取的寄存器的数据超过了MOV及MVN指令可操作的范围,编译器将该常数放在数据缓冲区中,同时用一条基于PC的LDR指令读取该常数。

LDR R1,[PC,offset_to_LPOOL]......LTORG;声明数据缓冲池

LPOOL DCD OxFFF; OxFFF放在数据缓冲池中。

在C语言程序如何调用汇编语言程序?为了保证程序调用时参数的正确传递,汇编程序的设计要遵守ATPCS。在汇编程序中需要使用EXPORT伪操作来声明,使得本程序可以被其它程序调用。同时,在C程序调用该汇编程序之前需要在C语言程序中使用extern关键词来声明该汇编程序。

汇编语言程序调用C语言程序?为了保证程序调用时参数的正确传递,汇编程序的设计要遵守ATPCS。在C程序中不需要使用任何关键字来声明将被汇编语言调用的C程序,但是在汇编程序调用该C程序之前需要在汇编语言程序中使用IMPORT伪操作来声明该C程序。在汇编程序中通过BL指令来调用子程序。

在嵌入式C语言程序设计中为提高程序效率的相关设计技巧。1)变量定义;2)参数传递;3)循环条件;4)以空间换时间;5)数学方法解决问题;6)使用位操作;7)嵌入汇编。——————————————4.—存储器——————————————————— 存储器3种(随机存储器RAM、只读存储器ROM、混合存储器)

存储器的性能指标:易失性、只读性、位容量、速度、功耗、可靠性、价格

SRAM(静态随机存储器)和DRAM特点比较:SRAM比DRAM速度快;工作时,SRAM比DRAM功耗大;DRAM存储密度大于SRAM;DRAM需要周期性刷新,需要使用专用的DRAM控制器;价格方面,小容量用SRAM,大容量用DRAM。

只读存储器ROM:EPROM、EEPROM、Flash(快闪存储器)

不可擦除型:掩膜只读存储器ROM、可一次编程只读存储器PROM 可擦除型:EPROM、EEPROM、Flash

什么是小端和大端存储器组织?1)小端存储器组织是较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址(同同小)。2)大端存储器组织是较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址(正反大)。——————5——I/O模块、电路、译码器—————————————————— 嵌入式处理器的复位电路:阻容复位电路、手动复位电路、专用复位电路、软件复位和看门狗复位

时钟电路:RC时钟、石英晶体、石英振荡器、锁相倍频时钟、多时钟源 I/O接口的信号(外设):数据信息、控制信息、状态信息 寄存器地址的映射方式:与存储器统一编址、单独编址

定时器/计时器的工作模式:1.门脉冲控制时钟输入2.利用门脉冲重新启动计数3.利用门脉冲停止计数4.单一计数5.循环计数

什么是数据的边界对齐?默认情况下,ADS编译器使用的是数据类型的自然边界对其方式。数据的自然对其方式是指:如果该数据类型是n个字节的,那么该数据类型就按n字节对齐。

————————————————7操作系统—————————————————— 操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。

操作系统的五大类型:批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统。

操作系统结构组成:内核、进程、线程、类程、管程

操作系统功能组成:1.处理器管理a.任务调度:保存当前任务的上下文;选择下一个任务;加载下一个任务的上下文;转交控制台给下一个任务b.协作与占先多任务:协作多任务、占先多任务2.存储管理 3.文件管理

嵌入式操作系统特点:实时性、可裁减性、可靠性 嵌入式操作系统的主要技术指标:a.任务调度算法b.上下文切换时间c.确定性d.最小内存开销e.最大中断禁止时间

目前嵌入式操作系统有哪些? 1)µC/OS-II 嵌入式操作系统内核;2)VxWorks嵌入式实时操作系统;3)WinCE操作系统;4)Linux操作系统 ;5)Symbian操作系统

嵌入式操作系统的主要任务有哪些?嵌入式操作系统通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。

实时操作系统,其主要功能是什么?实时多任务操作系统(RTOS)简称实时操作系统,主要用来完成嵌入式实时应用的任务调度和控制等核心功能。这些功能是通过内核服务函数形式交给用户调用的,也就是RTOS的系统调用,或者叫做RTOS的API。实时性实现(RTOS实时操作系统见第七章):根据操作系统特性,调度一切可利用的资源完成实时控制任务,在时间限制内区别、处理离散事件和存储控制系统的大量数据。

开发Linux应用程序一般分为哪几个步骤。1)编写程序。2)编写makefile文件。3)编译程序。4)运行程序。5)将生成的可执行文件加入文件系统。Linux虚拟内存的实现需要的6种机制:1)地址映射。2)内存分配回收。3)缓存和刷新。4)请求页。5)交换。6)内存管理机制。

嵌入式Linux操作系统的特点。答:广泛的硬件支持、内核高效稳定、开放源码,软件丰富、优秀的开发工具、完善的网络通信和文件管理机制,Windows CE操作系统及其特点。Windows CE是一个32位、多任务、多线程的操作系统,其开放式的设计结构适用于各种各样的设备,其主要特点:是一种压缩并可升级的软件系统,即使在小内存条件下,也能提供较高的性能;具有便于携带的优点,可以运行于多种微处理器上;拥有很好的电源管理系统,能延长移动设备的电池寿命;支持标准的通讯系统,可以非常方便地访问Internet,发送和接受电子邮件,浏览万维网。设计嵌入式应用系统时,对嵌入式操作系统有哪些基本要求? 嵌入式操作系统中任务控制方式(任务控制功能):任务的创建、删除、改变任务的状态、优先级等。

任务之间的通信方式:信箱、队列、管道 任务之间的同步方式:信号量(semaphore)、事件组(event group)、信号(signal)嵌入式操作系统常用的存储器管理方法有哪几种?各自的优缺点是什么?

———————————————8网络与协议栈——————————————— 网络的抽象模型:开放式系统互联参考模型(OSI/RM)a.物理层b.数据链路层c.网络层 d..传输层e,会话层f.表示层g应用层

现场总线网络(FF)的结构及功能:a.物理层:规定了信号如何发送b.数据链路层:规定如何在设备间共享网络和调度通信c.应用层:规定了在设备间交换数据、命令、事件信息以及请求应答中的信息格式与服务d.用户层:用于组成用户所需要的应用程序

目前在使用的现场总线网络与协议:HART、Profibus、CAN、Control Net

嵌入式系统联网主要考虑哪些因素?a.选择协议栈b.选择成熟的实现方案c.使用标准的应用协议d.流行的网络体系结构

接入Internet的方式:直接介入Internet、通过网关接入

嵌入式TCP/IP协议栈与普通协议栈相比,有哪些相同和不同的地方?

嵌入式协议栈的API可能与普通的协议栈不同:普通协议栈的接口是标准的,标准化的优点是提高了应用软件兼容性,但为了实现标准化接口,需要使用大量代码,效率低开销大2.嵌入式协议栈的可裁剪性3.嵌入式TCP/IP协议栈的平台兼容性4.嵌入式协议栈的效率较高

———————————————11人机界面———————————————

人机界面(HMI)是人与机器进行交互的操作方式是用户与及其相互传递信息的媒介。嵌入式系统对GUI的基本要求是什么?

GUI在嵌入式系统或者实时系统中的地位将越来越重要,这些系统对GUI的基本要求包括:轻型、占用资源少、高性能、高可靠性、可配置、可移植等特点。

MiniGUI具有的技术优势:1).占用资源少 2).高性能、高可靠性 3).可定制配置 4).跨操作系统支持

MiniGUI结构:图形抽象层、输入抽象层、图形设备接口、消息处理模块、多窗口处理模块和外观支持模块。

—————————————12案例分析—————————————————— PDA(个人数字助理)(与只能手机区别越来越模糊)

PDA硬件组成:嵌入式处理器、内存、显示、输入、通信功能、网络功能 PDA软件配置:操作系统、应用软件

PDA硬件设计:a.硬件配置b.原理方框图设计c.电路原理图设计d.PCB图与制版 PDA软件设计:a.软件配置b.软件开发工作c.关于应用软件开发的考虑

API应用程序编程接口,是一些预先定义的函数

BDM背景调试模式,通过BDM接口可以完成基本的调试功能

CRC循环冗余码码校验,是一种特定的校验和算法,用来检测最普遍的数据错误。

Context Switch 上下文切换,多任务系统中,指CPU的控制权由运行任务转移到另外一个就绪任务时所发生的事件 DMA 直接存储器访问

DRAM 动态存储器,是动态随机存取存储器最为常见的系统内存。

DSP 数字信号处理器,通过使用数学技巧执行转换或提取信息,来处理现实信号的方法 EMPU 嵌入式微处理器 EMCU 嵌入式微控制器

EDSP嵌入式数字信号处理器 ESOC嵌入式片上系统

EPSOC 嵌入式可编程片上系统

EPROM是一种断电后仍能保留数据的计算机储存芯片——即非易失性的(非挥发性)EEPROM 电可擦可编程只读存储器,一种掉电后数据不丢失的存储芯片 Event group 事件组,提供一种机制,指示某种系统事件的发生 FF现场总线标准

FCS现场总线控制系统

FLASH 快闪存储器,可快速读取数据,使数据不会因为断电而丢失

GPIO总线扩展器,当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO产品能够提供额外的控制和监视功能

GUI图形用户界面,指采用图形方式显示的计算机操作用户界面

HAL 硬件抽象层,位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化 HART高速可寻址的远程变送器,主要为方便对现场设备的组态和管理 HMI 人机界面,是系统和用户之间进行交互和信息交换的媒介

HTTP超文本传送协议一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。

IOC 控制反转,是一个重要的面向对象编程的法则来削减计算机程序的耦合问题

ISR中断服务程序,不需要其他程序或主程序的调用,当事件发生时,中断服务程序自动运行处理事件,处理完成后退出。

ICE在线仿真器,是最直接的仿真调试方法 ISS指令集模拟器,也叫软件仿真器

IIC集成电路总线,是一种简单、双向的二线制同步串行总线

JTAG联合测试行动小组,是一种国际标准测试协议,主要用于芯片内部测试。LCD 液晶显示器 LED发光二极管

Mailbox 信箱,一种任务间通信方式,用于在任务间发送和接收一个消息

OSI/RM开放系统互连参考模型,是一个网络体系结构标准,从低到高分七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

PROFIBUS,是一种国际化.开放式.不依赖于设备生产商的现场总线标准

PDA 个人数字助理,辅助个人工作的数字工具,主要提供记事、通讯录、名片交换及行程安排等功能。

RTOS实时操作系统,是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统

RAM随机存储器,存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器

ROM只读存储器,是一种只能读出事先所存数据的存储器

RTC 实时时钟,是PC主板上的晶振及相关电路组成的时钟电路的生成脉冲。SOC片上系统,指的是在单个芯片上集成一个完整的系统

SRAM 静态存储器,一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据

SMTP 简单邮件传输协议,是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式

SPI串行外部设备接口,实现芯片间的快速、同步、全双工通信

Semaphore 信号量,提供了对临界资源的控制机制,主要作为进程之间及同一进程不同线程之间的同步手段

Signal信号,是运载消息的工具,是消息的载体,用于通知接收进程有某种事件发生 TCP/IP传输控制协议/因特网互联协议,是Internet最基本的协议

TCP 传输控制协议,是一种面向连接(连接导向)的、可靠的、基于字节流的运输层通信协议

UART 通用串行数据总线,用于异步通信

UDP:UDP协议是一种无连接、不可靠的传输层协议。使用该协议只是把应用程序传来的数据加上UDP头包括端口号、段长等字段,作为UDP数据包发送出去,但是并不保证数据包能到达目的地,其可靠性由应用层来提供。

Watchdog看门狗,一种专门用于监测单片机程序运行状态的芯片Hard Real-Time硬实时:通常将采用优先级驱动的、具有时间确定性的、可抡占调度的RTOS而设计的实时系统称为硬实时系统。

软实时:软实时系统并不要求限定某一任务必须在一定的时间内完成,只要求各任务运行得越快越好。

Priority-Driven优先级驱动:在一个多任务系统中,正在运行的任务总是优先级最高的任务。在任何给定的时间内,总是把处理器分配给最高优先级的任务。

Priority-Inversion优先级反转:当一个任务等待比它优先级低的任务释放资源而被阻塞时,就会发生优先级反转。优先级继承技术可以解决优先反转问题。

Priority-Inheritance优先级继承:当优先级反转发生时,较低优先级任务的优先级被暂时提高,以匹配较高优先任务的优先级。这样,就可以使较低优先级任务尽快地执行、并且释放较高优先级所需要的资源。

Real TimeExecutive实时执行体/Kernal内核:实时执行程序包括一套支持实时系统所必需的机制,如多任务支持、CPU调度、通信和存储分配等。

Rescheduling Procedure重调度过程:重调度过程是一段系统程序,用于判定任务优先级和任务的执行状态。一旦任务的状态发生变化,就会引起切换

Task任务:RTOS中的任务相当于一般操作系统的进程,一个任务就是RTOS的一个可以独立运行的例程。在程序设计时,任务被设计成无限循环程序(过程)Task Context任务上下文:任务上下文是指一个未运行的任务的状态

Scheduling Latency 调度延迟,指一个事物从引起更高优先级的任务就绪到该任务开始运行之间的时间 Scheduling Architecture可伸缩的体系结构:可伸缩的体系结构是指一个软系统能够支持多种应用而无需在接口上做很大的变动。这种结构往往提供可选用的系统组件,供开发者量体裁衣。Inrerrupt Latency中断延迟:中断延迟是指中断发生到开始执行中断处理程序的这一段时间。

Mutual Exclusion互斥:互斥是用于控制多任务对共享数据进行顺序访问的同步机制。在多任务应用中,当两个或更多的任务同时访问一数据区时,就会造成访问冲突。互斥能使它们依次访问共享数据而不引起冲突。

Preemptive抢占:抢占是指当系统在处于核心态的内核运行时,允许任务重新调度。也就是说,一个正在执行的任务可以被打断而让另外一个任务运行,这提高了应用对外部中断的响应性。许多RTOS都是以抢占方式运行,但不是说调度在任何时候都是可以发生的。例如,当RTOS的一个任务正在通过系统调用访问共享数据时,重新调度和中断都是不允许的。RISC的基本设计思想是为了使计算机的结构更简单,运算速度更快,保留最基本的,去掉复杂、使用频度不高的指令;采用Load/Store结构,以减少指令格式,统一存储器访问方式;采用硬接线控制代替微程序控制

RISC体系结构有如下特点:a具有大量的寄存器,大多操作都在寄存器中完成;b寻址方式灵活简单,执行效率高;c通过载入和存储指令访问存储器;d采用固定长度的指令格式e所有的指令都可以条件执行,以提高指令执行效率;f同一条数据处理指令中包含算术逻辑单元处理和移位处理;g使用地址自动增加(减少)来优化程序中的循环处理;h载入和存储指令可以批量传输数据,从而提高数据传输效率。

立即寻址:操作数本身就在指令中给出,只要取出指令也就取到了操作数,这个操作数被称为立即数。

寄存器寻址:利用寄存器中的数值作为操作数。

寄存器间接寻址:以寄存器中的值作为操作数的地址,而操作数本身存放在存储器。基址变址寻址:将寄存器(该寄存器一般称做基址寄存器)的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址。变址寻址方式常用于访问某基地址附近的地址单元。

多寄存器寻址:一条指令可以完成多个寄存器值的传送。

相对寻址:以程序计数器PC的当前值为基地址,指令中的地址标量作为偏移量,将两者相加后得到操作数的有效地址。

堆栈寻址:堆栈是一种数据结构,按先进后出(FILO,First In Last Out)的方式工作,使用一个称做堆栈指针的专用寄存器指示当前的操作位置,堆栈指针总是只向栈顶。内存管理:在LINUX内核中,内存管理子系统允许多个进程安全地共享主内存区域。逻辑上分为两部分:硬件无关:提供进程的映射和虚拟内存的对换。硬件相关:为内存管理硬件提供了虚拟接口。

虚拟文件系统:在LINUX内核中,VFS避开了各种硬件的具体细节,为所有硬件提供统一的接口。管理:(管道)管道就是一种把一个进程的标准输出与另一个进程的标准输入相连接的方法。报文队列:是消息的链接表,包括POSIX消息队列、System V消息队列等。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读取队列中的消息。

共享存储段:即允许一个或多个进程通过在它们的虚地址空间中同时出现的存储区进行通信。

题外话:

这是我考试前两天花了整整一天时间整理起来的,书我是没去仔细看过。里面涉及的概念、释义等等,都是我照着书上敲上去的。还有一些题目的话,有些是网上找到然后弄上去的。

名词解释是我书又重新一页页翻过去找的英文然后加上释义,最后按照A、B、C...顺序排下去。

说说考试,我这一届大概是第一次考嵌入式,所以应该是考的很简单。名词解释20分(等于送分),我这次是总线、DMA、GPIO什么的。反正是五个,每个四分,英文的写出它中文释义即可。然后简答题,60分。

最后两个问答题(只考一、二、六、九章节)20分。其实考的也就是扯蛋,嵌入式系统的特点能扯掉3个题。

什么实时性,你尽量扯上去,什么发展趋势啊,应用啊,能鬼扯就扯,扯得差不多了就过了。

这次的嵌入式考试,真是慌死了。我他妈居然傻逼到鬼扯都忘了。

考试出来,空了一大片,初步估计自己写了的能得的大概就40分左右。觉得完了,完了,这你妈最有把握的课要完了(毕竟这上面基本什么都有)。然后看着别人用着你整理一天的东西在那嘻嘻哈哈。还摆着一副“哈哈哈,你看看你你看看你”的表情。你就知道这种心情是多么他妈的操了。然后今天,成绩出来了,奇迹的过了。

另外说下,平时分是最后堂课老师说三七还是四六。然后他们喊的四六。

不过我觉得我平时分不高的,点名总共才点了三次我被点到两次。其实吧,课是无所谓,分还是有的。

大概平时都是80分左右的应该,四六开的话,换算下有32。期末只要拿46分左右也就OK了。像嵌入式特点鬼扯掉三题就是25分。名词解释20。不也就差不多了。最后,祝大家考试轻松过。

——By X.2013.01.21

下载杭电_嵌入式系统原理个人期末整理缩印Super超级超级最终版word格式文档
下载杭电_嵌入式系统原理个人期末整理缩印Super超级超级最终版.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐