(整理)嵌入式系统复习终极版.

(整理)嵌入式系统复习终极版.
(整理)嵌入式系统复习终极版.

嵌入式系统复习重点

一、题型

填空题 2`×10

单选题 2`×5

名词解释 2`×5

简答题 5`×6

设计题 15`×2

二、考点

第一章嵌入式系统概述

1、嵌入式系统从技术角度的定义及其特点(见PPT第一章)

定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

特点:嵌入性、内含计算机、专用性。

2、嵌入式系统的未来P3

产品市场窗口现在预计翻番的周期狂热到6~9个月;

全球重新定义市场的机会和膨胀的应用空间;

互联现在是一个需求而不是辅助性的,包括用有线和刚刚显露头角的无线技术;

基于电子的产品更复杂化;

互联嵌入式系统产生新的依赖网络基础设施的应用;

微处理器的处理能力按莫尔定律(Moore’s L aw)预计的速度在增加。该定律认为集成电路和晶体管个数每18个月翻一番。

3、什么是嵌入式处理器及嵌入式系统的分类P5

嵌入式处理器:为完成特殊应用而设计的特殊目的的处理器。

嵌入式系统可以分为以下几大类:

嵌入式微处理器EMPU;

嵌入式微控制器MCU;

嵌入式DSP处理器;

嵌入式片上系统SOC。

4、嵌入式操作系统相关的基本概念P7-10(可能考名词解释)

前后台系统:对基于芯片的开发来说,应用程序一般是一个无限的循环,可称为前后台系统或超循环系统。循环中调用相应的函数完成相应的操作,这部分可以看成后台行为,后台

也可以叫做任务级,这种系统在处理的及时性上比实际可以做到的要差。中断服务程序处理异步事件,这部分可以看成前台行为,前台也叫中断级,时间相关性很强的关键操作一定是靠中断服务程序来保证的。

操作系统:操作系统是计算机中最基本的程序。操作系统负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动;操作系统提供用户接口,使用户获得良好的工作环境;操作系统为用户扩展新的系统功能提供软件平台。

实时操作系统:实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中,每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。

代码的临界区:也称为临界区,指处理不可分割的代码,运行这些代码不允许被打断。一旦这部分代码开始执行,则不允许任何中断打断(这不是绝对的,如果中断不调用任何包含临界区的代码,也不访问临界区的使用的共享资源,这个中断可以执行)。为确保临界区代码的执行,在进入临界区之前要关中断,而临界区代码执行完成以后要立即开中断。

资源:程序运行时可使用的软、硬件环境统称为资源。资源可以是输入、输出设备,例如打印机、键盘、显示器,也可以是一个变量、一个结构或一个数组等。

共享资源:可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫做互斥。

任务:一个任务也叫做一个线程,是一个简单的程序,该程序可以认为CPU完全属于该程序本身。实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,被赋予一定的优先级,有它自己的一套CPU和寄存器和自己的栈空间。

任务切换:当多任务内核决定运行另外的任务时,保存正在运行任务的当前状态,即CPU 寄存器中的全部内容。这些内容保存在当前状态保存区,也就是任务自己的栈区之中。入栈工作完成以后,就把下一个将要运行的任务的当前状态从任务的栈中重新装入CPU寄存器,并开始下一个任务的运行,这个过程就叫任务的切换。(这个过程增加了应用程序的额外负担,CPU的寄存器越多,额外负担就越重。做任务切换所需要的时间取决于CPU有多少寄存器要入栈,实时内核的性能不应该以每秒钟能做多少次任务切换来评价。)

内核:多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通信。内核提供的基本服务是任务切换。使用实时内核可以大大简化应用系统的设计,是因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。内核提供必不可少的系统服务,如信号量、消息队列、延时等。

调度:调度是内核的主要职责之一。调度就是决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其重要程序的不同被赋予一定的优先级。基于优先级的调度法指CPU总是让处在就绪态的优先级最高的任务先运行。然而究竟何时让高优先级任务

掌握CPU的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核。

非先占式内核:非占先式内核要求每个任务自我放弃CPU 的所有权。非占先式调度法也称作合作型多任务,各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。

先占式内核:当系统响应时间很重要时,要使用占先式内核。因此绝大多数商业上销售的实时内核都是占先式内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。

任务优先级:任务的优先级是表示任务被调度的优先程度。每个任务都具有优先级。任务越重要,赋予的优先级应越高,越容易被调度而进入运行态。

中断:中断是一种硬件机制,用于通知CPU有个异步事件发生了。中断一旦被识别,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(ISR)。中断服务子程序做事件处理,处理完成后,程序回到:

1. 在前后台系统中,程序回到后台程序;

2. 对非占先式内核而言,程序回到被中断了的任务;

3. 对占先式内核而言,让进入就绪态的优先级最高的任务开始运行。

时钟节拍:时钟节拍是特定的周期性中断。这个中断可以看作是系统心脏的脉动。中断之间的时间间隔取决于不同应用,一般在10ms到200ms之间。时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据。时钟节拍率越快,系统的额外开销就越大。

5、嵌入式实时操作系统的优缺点及常见的嵌入式实时操作系统P11-14

优点:在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。

缺点:使用嵌入式实时操作系统还需要额外的ROM/RAM开销,2~5%的CPU额外负荷,以及内核的费用。

常见的嵌入式实时操作系统:uClinux、W i n d o w s C E、VxWorks、μC/OS-II

第二章 ARM7体系结构

1、ARM的体系结构及常用的ARM处理器系列P16

ARM内核采用RISC体系结构。

RISC是精简指令集计算机的缩写,其目标是设计出在高时钟频率下单周期执行,简单而有效的指令集。ARM内核采用RISC体系结构,因此具有RISC的结构特点如具有大量的通用存储器;独特的装载/保存(load-store)结构;简单的寻址模式;统一和固定长度的指令格式。

常用的ARM处理器系列:ARM7系列、ARM9系列、ARM10系列、ARM11系列、Intel的XScale 系列和MPCore系列;还有针对低端8位MCU市场推出的Cortex-M3系列,其具有32位CPU 性能、8位CPU的价格。

2、ARM7TDMI的完整意思是什么?

ARM7TDMI是基于ARM体系结构V4版本的低端ARM核。其弥补了ARM6很难在低于5V电压下稳定工作的不足,还增加了后缀所对应的功能:

3、存储器的字与半字及对齐关系P20

从偶数地址开始的连续2个字节构成一个半字;以能被4整除的地址开始的连续4个字节构成一个字;ARM指令的长度刚好是一个字,Thumb指令的长度刚好是一个半字。如果一个数据是从偶地址开始的连续存储,那么它就是半字对齐,否则就是非半字对齐;如果一个数据是以能被4整除的地址开始的连续存储,那么它就是字对齐,否则就是非字对齐。

4、3级流水线P20(可能考大题)

可参考第二章PPT23页的思考题例子。

5、ARM 处理器的两种状态P24

ARM7TDMI 处理器内核包含2套指令系统,分别为ARM 指令集和Thumb 指令,并且各自对应1种处理器的状态:

ARM 状态:32位,处理器执行字方式的ARM 指令,处理器默认为此状态; Thumb 状态:16位,处理器执行半字方式的Thumb 指令。 注意:两个状态之间的切换并不影响处理器模式或寄存器内容。 具体例子见书上P25程序清单2.2。

6、ARM 处理器的7种处理模式P26(必考)

ARM 体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。这样的好处是可以更好的支持操作系统并提高工作效率,ARM7TDMI 完全支持这七种模式。

7、ARM 状态下的内部寄存器P28-36(重点)(熟记各数字)

在ARM 处理器内部共有37个用户可访问的寄存器,分别为31个通用32位寄存器和6个状态

寄存器。ARM 处理器共有7种不同的处理器模式,每种模式都有一组相应的寄存器组,最多可以18个活动的寄存器。

如下表所示:

处理器模式 说明

备注

用户(usr )

正常程序运行的工作模式

不能直接从用户模式切换到其他模式

特 权 模式 系统(sys ) 用于支持操作系统的特权任务等 与用户模式类似,但具有直接切换到其他模式等特权 异常模式 管理(svc ) 供操作系统使用的一种保护模式 只有在系统复位和软件中断响应时,才进入此模式 中止(abt ) 用于虚拟内存和(或)存储器保护 在ARM7内核中没有多大用处 未定义(und ) 支持软件仿真的硬件协处理器 只有在未定义指令异常响应时,才进入此模式

中断(irq ) 中断请求处理 只有在IRQ 异常响应时,才进入此模式

快速中断(fiq )

快速中断请求处理

只有在FIQ 异常响应时,才进入此模式

寄存器R0~R7为未分组的通用寄存器,它们在任何处理器模式都对应于相同的32位物理寄存器。

寄存器R8~R12有两个分组的物理寄存器。一个用于除FIQ模式之外的所有寄存器模式,另一个用于FIQ模式。在发生FIQ中断后,处理器不必为保护寄存器而浪费时间,从而加速了FIQ 的处理速度。

寄存器R13、R14分别有6个分组的物理寄存器。1个用于用户和系统模式,其余5个分别用于5种异常模式。

寄存器R13通常作为堆栈指针(SP),用于保存待使用的寄存器的内容。

寄存器R14称为链接寄存器(LR),在结构上有两个特殊功能:当使用BL指令调用子程序时,返回地址将自动存入R14中;当发生异常时,将R14对应的异常模式版本设置为异常返回地址(有些异常有一个小的固定偏移量)。

寄存器R15称为程序计数器(PC),它指向正在“取指”的指令。

寄存器CPSR为当前程序状态寄存器,在异常模式中,另外一个寄存器“程序状态保存寄存器(SPSR)”可以被访问。每种异常都有自己的SPSR,在进入异常时它保存CPSR的当前值,异常退出时可通过它恢复CPSR。

Thumb状态寄存器集是ARM状态集的子集,程序员可以直接访问的寄存器为:8个通用寄存器R0~R7,在汇编语言中寄存器R0~R7为通用寄存器,对于任何处理器模式,它们中的每一个都对应于相同的32为物理寄存器。

程序计数器(PC);

堆栈指针(SP),堆栈指针SP对应ARM状态的寄存器R13。每个异常模式都有其自身的SP 分组版本,SP通常指向各异常模式所专用的堆栈。注意:在发生异常时,处理器自动进入ARM 状态。

链接寄存器(LR),链接寄存器LR对应ARM状态寄存器R14。注意:在发生异常时,处理器自动进入ARM状态。

当前程序状态寄存器( CPSR)。

在两种状态中,寄存器R0-R7是低端寄存器,R8-R12是高端寄存器,在Thumb状态中,高端寄存器的访问是受到限制的,只有MOV、CMP和ADD指令可以对其访问,可以用于数据的快速暂存。

8、当前程序状态寄存器的用法P36-39

ARM内核包含1个CPSR和5个仅供异常处理程序使用的SPSR。CPSR反映当前处理器的状态,其包含:

4个条件代码标志(负标志N、零标志Z、进位标志C和溢出标志V );

2个中断禁止位(IRQ禁止与FIQ禁止);

5个对当前处理器模式进行编码的位(M[4:0]);

1个用于指示当前执行指令的位(ARM指令还是Thumb指令)。

其格式如下:

各标志位的含义如下:

负标志N:运算结果的第31位值,记录标志设置操作的结果;

零标志Z:如果标志设置的操作为0,则置位;

进位标志C:记录无符号加法溢出,减法无借位,循环移位;

溢出标志V:记录标志设置操作的有符号溢出。

中断禁止控制位I和F:

当控制位I置位时,IRQ中断被禁止;

当控制位F置位时,FIQ中断被禁止。

处理器状态位T:

当控制位T置位时,处理器正在Thumb状态下运行;

当控制位T清零时,处理器正在ARM状态下运行。

警告:绝对不要强制改变CPSR寄存器中的控制位T。如果这样做,处理器将进入一个无法预测的状态。

处理器模式位M0~M4:

注意:不是所有模式位的组合都定义了有效的处理器模式,如果将非法值写入M[4:0]中,处理器将进入一个无法恢复的模式。

保留位:CPSR中的保留位被保留将来使用。当改变CPSR标志和控制位时,请确认没有改变这些保留位。另外,请确保您的程序不依赖于包含特定值的保留位,因为将来的处理器可能会将这些位设置为1或者0。

9、ARM体系的异常、中断及其向量表P39(异常中断的进入与退出是重中之重)当多个异常同时发生时,一个固定的优先级决定系统处理它们的顺序:

当一个异常导致模式切换时,内核自动的做如下处理:(即异常的进入)

将异常处理程序的返回地址(加固定的偏移量)保存到相应异常模式下的LR;

将CPSR的当前值保存到相应异常模式下的SPSR;

设置CPSR为相应的异常模式;

设置PC为相应异常处理程序的中断入口向量地址,跳转到相应的异常中断处理程序执行;

当异常处理程序结束时,异常处理程序必须:(即异常的退出)

返回到发生异常中断的指令的下一条指令处执行,即就是说将LR中的值减去偏移量后移入PC;

将SPSR的值复制回CPSR;

清零在入口处置位的中断禁止标志。

10、ARM体系的存储系统P48(了解“大端”与“小端”)

存储器系统有两种映射机制:

小端存储器系统:在小端格式中,数据的高字节存放在高地址中。

大端存储器系统:在大端格式中,数据的高字节存放在低地址中。

第三章 ARM7TDMI(-S)指令系统

1、ARM处理器的8种寻址方式P52(可能考名词解释)

寄存器寻址:操作数的值在寄存器中,指令中的地址码字段指出的是寄存器编号,指令执行时直接取出寄存器值来操作。寄存器寻址指令举例如下:

MOV R1,R2 ;将R2的值存入R1

SUB R0,R1,R2 ;将R1的值减去R2的值,结果保存到R0

立即寻址:立即寻址指令中的操作码字段后面的地址码部分即是操作数本身,也就是说,数据就包含在指令当中,取出指令也就取出了可以立即使用的操作数(这样的数称为立即数)。立即寻址指令举例如下:

SUBS R0,R0,#1 ;R0减1,结果放入R0,并且影响标志位

MOV R0,#0xFF000 ;将立即数0xFF000装入R0寄存器

寄存器移位寻址:寄存器移位寻址是ARM指令集特有的寻址方式。当第2个操作数是寄存器移位方式时,第2个寄存器操作数在与第1个操作数结合之前,选择进行移位操作。寄存器移位寻址指令举例如下:

MOV R0,R2,LSL #3;R2的值左移3位,结果放入R0;即是R0=R2×8

ANDS R1,R1,R2,LSL R3 ;R2的值左移R3位,然后和R1相;“与”操作,结果放入R1

寄存器间接寻址:寄存器间接寻址指令中的地址码给出的是一个通用寄存器的编号,所需的操作数保存在寄存器指定地址的存储单元中,即寄存器为操作数的地址指针。寄存器间接寻址指令举例如下:

LDR R1,[R2] ;将R2指向的存储单元的数据读出;保存在R1中

SWP R1,R1,[R2];将寄存器R1的值和R2指定的存储;单元的内容交换

基址寻址:基址寻址就是将基址寄存器的内容与指令中给出的偏移量相加,形成操作数的有效地址。基址寻址用于访问基址附近的存储单元,常用于查表、数组操作、功能部件寄存器访问等。基址寻址指令举例如下:

LDR R2,[R3,#0x0C] ;读取R3+0x0C地址上的存储单元;的内容,放入R2

STR R1,[R0,#-4]!;先R0=R0-4,然后把R1的值寄存;到保存到R0指定的存储单元

多寄存器寻址:多寄存器寻址一次可传送几个寄存器值,允许一条指令传送16个寄存器的任何子集或所有寄存器。多寄存器寻址指令举例如下:

LDMIA R1!,{R2-R7,R12} ;将R1指向的单元中的数据读出到;R2~R7、R12中(R1自动加1)

STMIA R0!,{R2-R7,R12} ;将寄存器R2~R7、R12的值保;存到R0指向的存储; 单元中;(R0自动加1)

堆栈寻址:堆栈指针指向最后压入的堆栈的有效数据项,称为满堆栈;堆栈指针指向下一个待压入数据的空位置,称为空堆栈。

所以可以组合出四种类型的堆栈方式:

满递增:堆栈向上增长,堆栈指针指向内含有效数据项的最高地址。指令如LDMFA、STMFA 等;

空递增:堆栈向上增长,堆栈指针指向堆栈上的第一个空位置。指令如LDMEA、STMEA等;满递减:堆栈向下增长,堆栈指针指向内含有效数据项的最低地址。指令如LDMFD、STMFD 等;

空递减:堆栈向下增长,堆栈指针向堆栈下的第一个空位置。指令如LDMED、STMED等。

相对寻址:相对寻址是基址寻址的一种变通。由程序计数器PC提供基准地址,指令中的地址码字段作为偏移量,两者相加后得到的地址即为操作数的有效地址。相对寻址指令举例如下:BL SUBR1;调用到SUBR1子程序

BEQ LOOP;条件跳转到LOOP标号处

...

LOOP MOV R6,#1

...

SUBR1 ...

2、ARM指令集中各典型指令的用途P58 小例子:(可能考选择或填空)

加载指令:

LDR/STR——加载/存储指令

LDM/STM——多寄存器加载/存储指令SWP——寄存器和存储器交换指令

数据处理指令:

见书上P70-71

乘法指令:

3、ARM分支指令和杂项指令P72-77

分支指令:

B指令为简单的跳转指令,不附带其它功能。跳转范围限制在当前指令的±32M字节地址内(ARM指令为字对齐,最低2位地址固定为0)。

BL 指令除了具有跳转功能,还能在跳转之前将下一条指令的地址拷贝到R14(即LR) 链接寄存器中,它适用于子程序调用。跳转范围限制在当前指令的±32M字节地址内。

BX 指令除了具有跳转功能,还能在跳转的同时切换处理器状态。其跳转范围不受限制。

杂项指令:

在ARM指令集中杂项指令共有3条,它们非常重要,特别是与操作系统的使用息息相关:

1.软件中断产生指令:SWI,主要用于用户程序调用操作系统的系统服务。

2. 程序状态寄存器读指令:MRS,对状态寄存器CPSR和SPSR进行读操作。

3. 程序状态寄存器写指令:MSR,对状态寄存器CPSR和SPSR进行写操作。

4、ARM伪指令P78

ARM伪指令有四条:

1.小范围地址读取指令:A D R,将基于PC相对偏移的地址值或基于寄存器相对偏移的地址值读取到寄存器中。

2.中等范围地址读取指令:A D R L,将基于PC相对偏移的地址值或基于寄存器相对偏移的地址值读取到寄存器中,比ADR伪指令可以读取更大范围的地址。

3.大等范围地址读取指令:L D R,用于加载32位的立即数或一个地址值到指定寄存器。

4.空操作指令:N O P,在汇编时将会被代替成ARM中的空操作,比如可能是“MOV R0,R0”指令等。NOP可用于延时操作。

5、ARM指令集和Thumb指令集的异同

同:

Thumb指令的格式与使用方式与ARM指令集类似,它也具有以下种类的指令:存储器访问指令

数据处理指令

分支指令

杂项指令

伪指令

异:

Thumb指令集较ARM指令集有如下限制:

只有B指令可以条件执行,其它指令都不能条件执行;

分支指令的跳转范围有更多限制;

数据处理指令的操作结果必须放入其中一个;

单寄存器访问指令,只能操作R0~R7;

LDM和STM指令可以对R0~R7的任何子集进行操作;

第四章 LPC2000系列ARM硬件结构

1、了解硬件结构P90

2、存储器重映射的概念及其作用P106

给物理存储器分配逻辑地址的过程称为存储器映射。

将已经过映射的存储器再次映射的过程称为存储器重映射,它使同一物理存储单元出现多个不同的逻辑地址(增加了代码的可移植性和可通用性)。这些存储单元主要包括引导块“Boot Block”和用于保存异常向量表的少量存储单元。

引导块(Boot Block)是芯片设计厂家在LPC2000系列ARM内部固化的一段代码,用户无法修改或删除。这段代码在芯片复位后被首先运行,其功能主要是:

判断运行哪个存储器上的程序;

检查用户代码是否有效;

判断芯片是否被加密;

芯片的在应用编程(IAP)以及在系统编程功能(ISP)

3、时钟部件——锁相环PLL(可能考大题)P126

PLL频率计算:

可以得出以下几个等式:

Fosc = Fcco/(2×p×M) à Fcco = Fosc×(2×p×M)

Fcclk = Fcco/(2×p) à Fcco = Fcclk×(2×p)

最后得出PLL的输出频率(当PLL激活并连接时)为:

Fcclk = M×Fosc 或 Fcclk = Fcco / (2×P)

CCO输出频率为:

Fcco = Fcclk×2×P 或 Fcco = Fosc×M×2×P

PLL设置举例:

系统要求Fosc=10MHz,Fcclk=60MHz。

根据这些要求:

确定Fcclk=60MHz;

选择Fosc=10MHz;

计算M= Fcclk/Fosc=60MHz/10MHz=6。M-1=5,所以写入PLLCFG[4:0]=00101;

计算P=Fcco/( Fcclk*2),其中Fcco为156~320 MHz。当Fcco=156MHz时,P=156MHz/(2*60MHz)=1.3当Fcco=320MHz时, P=2.67

P取整数2,所以写入PLLCFG[6:5]=01。

4、外部存储器控制器EMC及引脚连接模块P152-178

5、

6、GPIO P179

7、向量中断控制器P188

8、定时器0和定时器1的作用P222

9、

10、I2C接口的操作模式P271

11、

12、UART0和UART1的用法和区别P276

UART0只提供TXD和RXD信号引脚,而UART1增加了一个调制解调器(Modem)接口,其余二者都是完全相同的:

16字节接收FIFO和16字节发送FIFO;

寄存器位置符合16C550工业标准;

接收FIFO触发点可设置为1、4、8或14字节;

内置波特率发生器;

UART1含有标准调制解调器接口信号。

13、A/D转换器、脉宽调制器PWM和实时时钟RTC

第六章 C/OS-II程序设计基础

1、

2、任务的分类、划分和优先级安排P395

按执行方式可将任务分类以下三类:

任务的划分:

目标——

1.首要目标是满足“实时性”指标:即使在最坏的情况下,系统中所有对实时性有要求的功能都能够正常实现;

2.任务数目合理:对于同一个应用系统,合理的合并一些任务,使任务数目适当少一些还是比较有利;

3.简化软件系统:一个任务要实现其功能,除了需要操作系统的调度功能支持外,还需要操作系统的其它服务功能支持,合理划分任务,可以减少对操作系统的服务要求,简化软件系统;

4.降低资源需求:合理划分任务,减少或简化任务之间的同步和通信需求,就可以减少相应数据结构的内存规模,从而降低对系统资源的需求。

任务的优先级的安排原则——

中断关联性:与中断服务程序(ISR)有关联的任务应该安排尽可能高的优先级,以便及时处理异步事件,提高系统的实时性。如果优先级安排得比较低,CPU有可能被优先级比较高的任务长期占用,以致于在第二次中断发生时连第一次中断还没有处理,产生信号丢失现象;紧迫性:因为紧迫任务对响应时间有严格要求,在所有紧迫任务中,按响应时间要求排序,越紧迫的任务安排的优先级越高。紧迫任务通常与ISR关联;

关键性:任务越关键安排的优先级越高,以保障其执行机会;

频繁性:对于周期性任务,执行越频繁,则周期越短,允许耽误的时间也越短,故应该安排的优先级也越高,以保障及时得到执行;

快捷性:在前面各项条件相近时,越快捷(耗时短)的任务安排的优先级越高,以使其它就绪任务的延时缩短;

传递性:信息传递的上游任务的优先级高于下游任务的优先级。如信号采集任务的优先级高于数据处理任务的优先级。

3、时间管理P406(时间函数的使用)

时间管理服务函数是以系统节拍为处理单位的,实际的时间与希望的时间是有误差的,最坏的情况下误差接近一个系统节拍。因此时间管理服务函数只能用在对时间精度要求不高的场合,或者时间间隔较长的场合。

4、信号量、消息邮箱、消息队列等概念P443

信号量——

能防止优先级反转现象的信号就是互斥信号量。

在实时多任务系统中,信号量被广泛用于任务间对共享资源的互斥、任务和中断服务程序之间的同步、任务之间的同步。

消息邮箱——

消息是任务之间的一种通信手段,当同步过程需要传输具体内容时就不能使用信号量,此时

可以选择消息邮箱,即通过内核服务可以给任务发送带具体内容的消息。

消息队列——

消息队列就象一个类似于缓冲区的对象,通过消息队列任务和ISR发送和接收消息,实现数据的通信和同步。消息队列具有一定的容量,可以容纳多条消息,因此可以看成是多个邮箱的组合。

推拿重点总结

推拿重点总结 壹.各论疾病 一、颈椎病P190 定义:是一种常见的中老年疾病,随着年龄的增长,颈椎间盘发生退行性变,影响颈椎的稳定性,产生一系列病理性改变。这些变化直接刺激、压迫或通过影响血运使颈部脊神经根、脊髓、椎动脉及交感神经发生功能或结构上的损害,引起相应的临床症状。 1、分型:颈型颈椎病、神经根型颈椎病、脊髓型颈椎病、椎动脉型颈椎病、交感神经型颈椎病 2、目的(1)松解劳损、紧张甚至痉挛的颈肌,尤其是颈伸肌群,改善其力学特征 阻断疼痛-肌紧张-疼痛恶性循环链,促进软组织损伤性炎症消除 (2)调整颈椎节段异常移位或成角,降低椎间盘负荷,减缓颈椎退变过程 (3)扩大椎间孔、椎管、横突孔非连续骨性管道有效空间,改善颈椎管内外的高应力状态和神经根紧张力,减少或消除神经、血管机械性压迫和刺激,恢复颈椎动静力平衡。 3、治则:松解,调整 4、部位及取穴:部位以颈项部、枕后部、肩胛部、横突后结节和胸椎夹脊等处为主; 取穴以风池、颈夹脊、天鼎、肩井、天宗、阿是穴为主 5、手法:采用刺激性手法与颈椎调整手法并重,以刺激性手法为基础; 颈项部操作与循经手法刺激相结合,以颈项部操作为主的原则。 具体选用一指禅推法、?法、拔伸法、推法、拿法、按揉法和颈椎微调手法等 6、注意事项(): 1、颈椎病患者平时宜贯彻“仰头抬臂、协调平衡”的原则, 以锻炼颈部后伸肌群,平衡长期低头位而引起的颈部应力和稳定平衡失调。 2、注意纠正平时的不良习惯姿势,立足于预防。 3、注意用枕的合理性 4、注意肩颈部的保暖。 7、特殊体格检查 ①挤压试验:患者坐位,检查者双手交叠置患者头顶,并控制颈椎在不同的角度下(如使头后伸并向患侧倾斜)进行按压。如出现颈部疼痛或向上肢放射痛,即为阳性反应。挤压试验的机理在于使椎间孔缩小,加重对颈神经根的刺激,故出现疼痛或放射痛。 ②臂丛牵拉试验:患者坐位,头微屈。检查者立于患侧,一手置该侧头部,推头向对侧,同时另一手握该侧腕部作相对牵引,此时牵拉臂丛神经,若患肢出现窜痛麻木,则为阳性,提示臂丛神经受压,临床多见于神经根型颈椎病。 二、肩关节周围炎临床表现、推拿手法、治则、取穴部位、手法操作步骤P224 定义:指肩关节囊和关节周围软组织损伤、退变而引起的一种慢性无菌性炎症,该病以肩关节疼痛、活动功能障碍和肌肉萎缩为临床特征。本病常发生在单侧肩部。

3级嵌入式重点

1、嵌入式系统的定义 (1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 (2)嵌入式系统发展的4个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向Internet阶段。 (3)知识产权核(IP核):具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。 (4)IP核模块有行为、结构和物理3级不同程度的设计,对应描述功能行为的不同可以分为三类:软核、固核、硬核。 2、嵌入式系统的组成:硬件层、中间层、系统软件层和应用软件层 (1)硬件层:嵌入式微处理器、存储器、通用设备接口和I/O接口。 嵌入式核心模块=微处理器+电源电路+时钟电路+存储器Cache:位于主存和嵌入式微处理器内核之间,存放的是最近一段时间 微处理器使用最多的程序代码和数据。它的主要目标是减小存储器给微处理器内核造成的存储器访问瓶颈,使处理速度更快。 (2)中间层(也称为硬件抽象层HAL或者板级支持包BSP):它将系统上层软件和底层硬件分离开来,使系统上层软件开发人员无需关系底层硬件的具体情况,根据BSP层提供的接口开发即可。 BSP有两个特点:硬件相关性和操作系统相关性。设计一个完整的BSP需要完成两部分工作: A、嵌入式系统的硬件初始化和BSP功能。 片级初始化:纯硬件的初始化过程,把嵌入式微处理器从上电的默认状态逐步设置成系统所要求的工作状态。 板级初始化:包含软硬件两部分在内的初始化过程,为随后的系统初始化和应用程序建立硬件和软件的运行环境。 系统级初始化:以软件为主的初始化过程,进行操作系统的初始化。 B、设计硬件相关的设备驱动。 (3)系统软件层:由RTOS、文件系统、GUI、网络系统及通用组件模块组成。 RTOS是嵌入式应用软件的基础和开发平台。 (4)应用软件:由基于实时系统开发的应用程序组成。

整理版 嵌入式 题目

3、RISC的英文全称是Reduced Instruction Set Computer,中文是精简指令集计算机。特点是所有指 令的格式都是一致的,所有指令的指令周期也是相同的,并且采用流水线技术。在中高档服务器中采用 RISC指令的CPU主要有Compaq(康柏,即新惠普)公司的Alpha、HP公司的PA-RISC、IBM公司的PowerPC、 MIPS公司的MIPS和SUN公司的Sparc。 简答 1、简述ARM的7种模式及寄存器划分,如此划分的优点。 1、用户模式(usr) 2、快速中断模式(fiq) 3、中断模式(irq) 4、管理模式(svc):操作系统使用的保护模式 5、系统模式(sys):运行具有特权的操作系统任务 6、数据访问终止模式(abt):数据或指令预取终止时进入该模式 7、未定义指令终止模式(und):未定义的指令执行时进入该模式 ARM有31个通用的32位寄存器,6个程序状态寄存器,共分为7组,有些寄存器是所有工作模式共用的,还有一些寄存器专属于每一种工作模式 2、 cpsr和spsr寄存器作用,在异常处理时其中的内容是如何变化的? CPSR:程序状态寄存器(current program status register) (当前程序状态寄存器),在任何处理器模式下被访问。它包含了条件标志位、中断禁止位、当前处理器模式标志以及其他的一些控制和状态位。CPSR在用户级编程时用于存储条件码。SPSR:程序状态保存寄存器(saved program status register),每一种处理器模式下都有一个状态寄存器SPSR,SPSR用于保存CPSR的状态,以便异常返回后恢复异常发生时的工作状态。当特定的异常中断发生时,这个寄存器用于存放当前程序状态寄存器的内容。在异常中断退出时,可以用SPSR来恢复CPSR。由于用户模式和系统模式不是异常中断模式,所以他没有SPSR。当用户在用户模式或系统模式访问SPSR,将产生不可预知的后果。 3、简述冯?诺依曼结构与哈佛结构. 冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结 构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度 相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。 哈佛结构是一种存储器结构。使用哈佛结构的处理器有:A VR、ARM9、ARM10、ARM11等 冯诺依曼结构是一种程序指令存储器和数据存储器合并在一起的存储器结构。 哈佛体系结构是一种将程序指令存储和数据存储分开的存储器结构。 Intel处理器采用冯诺依曼结构,ARM属于哈佛结构处理器。 4、ARM状态和THUMB状态有什么不同?写出相互切换程序。 ARM状态此时处理器执行32位的字对齐的ARM指令,Thumb状态此时处理器执行16位的,半字对齐的THUMB指令。切换程序:从ARM到Thumb: LDR R0,=lable+1 BX R0 从ARM到Thumb: LDR R0,=lable BX R0 5. 存储器映射作用。 通过赋予每个任务不同的虚拟–物理地址转换映射,支持不同任务之间的保护。地址转换函数在每一个任务中定义,在一个任务中的虚拟地址空间映射到物理内存的一个部分,而另一个任务的虚拟地址空间映射到物理存储器中的另外区域。就是把一个地址连接到另一个地址。 6. WATCHDOG的作用及实现机理。 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片 7. 交叉编译。

(完整版)中医各家学说笔记重点整理(最终版)

总论: 一、伤寒学派始于晋唐,盛于明清。外感热病的辩证论治体系 1.宋金以前伤寒八大家:王叔和,孙思邈,韩祗和,朱肱,庞安时,许叔微,郭雍,成无己 方证同条,比类相附,“其人苦冒眩,泽泻汤主之。”——美尼尔氏综合症 方证相应,有是证,用是方。 2.明清伤寒学派 错简重订派:方有执(首先提出)喻昌(喻嘉言)(大力倡导) 维护旧论派:张遂辰,张志聪,张锡驹,陈念祖(陈修园) 辩证论治派:柯琴,徐大椿(以方类证) 尤怡,钱潢(以法类证) 陈修园,包诚(分经审证) 二、医经学派:内经等经典著作为研究对象,重理论。仙方活命饮加减治疗痤疮疡门开手第一方。 三、经方学派:重方药(秘方) 四、中西汇通派唐宗海(第一人) 五、河间学派刘完素寒凉派火热论 (为攻邪学派、丹溪学派的形成奠定了理论基础,还是明清时期温病学派形成的先导) 荆山浮屠:罗知悌 六、易水学派张元素李杲 七、攻邪学派张从正“汗、吐、下” 八、丹溪学派养阴 九、温补学派 宋《局方》温燥 金朱丹溪寒凉降火———苦寒 明温补 清寒凉 十、温病学派温疫学派:吴有性,戴天章,余师愚。 温热学派:叶桂,吴瑭,薛雪,王士雄(温病四大家) 华佗145-208东汉末医家建安三神医(董奉,张仲景)“外科圣手,外科鼻祖” 1.麻沸散:羊踯躅茉莉花根当归菖蒲 2.五禽戏:运动养生(华佗对中医养生的最大贡献) 3.漆叶青黏散:黄精漆叶桑葚何首乌茅山术 《华佗神方》孙思邈著 整易麻药神方:川乌草乌胡茄子羊踯躅麻黄专为开取箭头时用,服之令人不痛。 外敷麻药神方:川乌尖草乌尖生南星生半夏胡椒蟾酥荜茇细辛专为施割症时,可治骨质增生“阳化气,阴成形”解麻药神方:人参生甘草陈皮半夏白薇菖蒲茯苓 神膏:乳香没药血竭儿茶三七冰片麝香 热加黄连,腐加轻粉,有水加龙骨,收口加珍珠、蟹黄,杖伤三七倍用。 孙思邈药王千金要方(把虚损分为五劳六极七伤)注重养生、医德。 对《伤寒论》的研究采用了“方证同条,比类相附”的方法 “寻方之大意,不过三种。一则桂枝,一则麻黄,一则青龙” “以方类证”“三纲鼎立”之说 治疗经验 中风:1.伤风,太阳中风 2.关节不利,疼痛风寒湿痹乌头,天雄,附子 3.半身不遂,口僻,言语不利独活酒,牛膝酒 真中风风邪入中

嵌入式系统知识点

嵌入式系统知识点 1.什么是嵌入式系统。 2.嵌入式系统三要素 3.嵌入式处理器的类型 4.大端存储格式的规则是______;小端存储格式的规则是。 5.ARM是______的处理器,有_____个工作状态,工作在_____状态时,执行的是32位指令集,工作在_____状态时,执行的是16位指令集。_____指令集是_____指令集的子集。 6.ARM有_____种工作模式。它们的名称和缩写分别是:()。其中特权模式是指:(),异常模式又是指:()。当前工作模式状态及设置是由_____寄存器中的M[4:0]五位决定的,每种模式对应的M[4:0]值是:()。 7.ARM的异常中断有_____种,它们的名称是:(),对应的中断入口地址是:(),默认的优先级是:()。 8.ARM核内共有_____寄存器,分_____、_____两类。按工作模式不同可分_____个寄存器组。在ARM状态时的寄存器有:所有模式下均能访问的寄存器是();除()模式外均能访问寄存器R0-R12,()模式只使用自己的专用寄存器R8-R12;在()模式中,每个模式均有自己的R13、R14、SPSR 寄存器。其中R13是作_____寄存器共_____个、R14是作_____寄存器共_____个、R15是作_____寄存器共_____个。在Thumb状态下的寄存器:通用寄存器是_____,有_____组;SP堆栈指针寄存器共有_____个,LR_____寄存器共有_____个;PC_____寄存器有_____个,CPSR_____寄存器有_____个,SPSR_____寄存器有_____个。 9.ARM7系列是_____级流水线,即_____、_____、_____。程序计数器R15(PC)总是指向取指的指令,因此PC总是指向第_____条指令。 对于ARM指令有: PC值=当前程序执行位置+_____; 对于Thumb指令有: PC值=当前程序执行位置+_____。 10.ARM的寻址方式有七种,它们是:()。 11.LDR指令 LDR R4, STSRT ;将存储地址为START的字数据读入R4

嵌入式选择题整理题库

选择题: 1、下面哪一种工作模式不属于特权模式()。 A、用户模式 B、系统模式 C、软中断模式 D、模式 3、920T的工作状态包括()。 A、测试状态和运行状态 B、挂起状态和就绪状态 C、就绪状态和运行状态 D、状态和状态 4、232串口通信中,表示逻辑1的电平是()。 A、0v B、3.3v C、+5v~+15v D、-5v~-15v 5、汇编语句“ R0, R2, R3, 1”的作用是()。 A. R0 = R2 + (R3 << 1) B. R0 =( R2<< 1) + R3 C. R3= R0+ (R2 << 1) D. (R3 << 1)= R0+ R2 6、I2C协议中有几根线() A.1 B.2 C.3 C.4 7、指令“ R0!, {R1, R2, R3, R4}”的寻址方式为()。 A、立即寻址 B、寄存器间接寻址 C、多寄存器寻址 D、堆栈寻址 9、232C串行通信总线的电气特性要求总线信号采用()。 A、正逻辑 B、负逻辑 C、高电平 D、低电平 10、下面哪种操作系统不属于商用操作系统。 ( ) A. B. C. D.

11. 下面哪点不是嵌入式操作系统的特点。 ( ) / 22 A. 内核精简 B. 专用性强 C. 功能强大 D. 高实时性 12. 下面哪种不属于嵌入式系统的调试方法。 ( ) A. 模拟调试 B. 软件调试 C. 调试 D. 单独调试 13. 在嵌入式处理器中,下面哪种中断方式优先级最高。 ( ) A. B. 数据中止 C. D. 14. 和的说法正确的是。 ( ) A. 的读速度比稍慢一些 B. 的写入速度比慢很多 C. 的擦除速度远比的慢 D.大多数写入操作需要先进行擦除操作 15. 下面哪种嵌入式操作系统很少用在手机上。 ( ) A. B. C. D. 16、0x17&0x11的运算结果是。 ( ) A.0x01 B.0x11 C.0x17 D.0x07 17、以下哪种方式不属于文件系统的格式。 ( ) 18、下面哪个特点不属于设备的特点。 ( ) A.串行通信方式 B.不可热拨插 C.分、和 D.通信速率比串口快 19、寄存器中反映处理器状态的位是() 位位位位

推拿手法学-考试重点整理

推拿手法学 第一章绪论 推拿手法学:是学习研究推拿手法的术式结构,动作原理,技能训练,作用机制及临床应用规律的一门学科。 第二章 《引书》于1984年出土于湖北省江陵县张家山汉墓,内容反映了春秋战国时期的导引养生学成就,其中也有颞颌关节脱位口内复位法的最早记载。 《五十二病方》于1973年出土于湖南省长沙市马王堆汉墓,反映了春秋战国时期手法医学的成就。 《黄帝内经》对推拿手法的贡献 1.确立了手法医学的正式学科名----按摩 2.阐述了推拿手法的作用机理:温经散寒,活血补血,舒筋通络 3.提出了推拿手法的适应症和禁忌症 4.特殊手法的运用:按压腹主动脉法,按压颈动脉法 5.膏摩的运用:《灵枢-经筋》记载用”马膏”膏摩法治疗面神经麻痹 6.手法推拿与定穴的运用 7.按摩人员的选材与考核 第一部推拿专著:《黄帝岐伯按摩》 第一部小儿推拿专著:《小儿按摩经》 《金匮要略》书中首次提出了膏摩一词,并将其与针灸,导引法并列,用于预防保健。膏摩方:头风摩散 书中有手法抢救自缢死的首次记载 《肘后备急方》晋代葛洪,书中记载手指相对用力且协同操作的捏脊法和作用力向上的腹部抄举发,其中的拈脊骨皮法被后世冠以捏脊法之名而在小儿推拿领域得到了重用。 唐宋时期: 1.推拿医学教育和医疗体系的建立按摩科 八疾:风,寒,暑,湿,饥,饱,劳,逸 2.《诸病源候论》隋代巢元方该书所有的病症均无方药处方,却提出了详细的“补养宣导”之法,即对症导引疗法。唐代第一科:祝由 3.《千金方》唐代孙思邈 a. 倡导小儿按摩 b. 膏摩法在《千金要方》与《千金翼方》中得到了又一次总结 c. 重视养生保健手法 d.丰富多彩的手法应用:提出治疗颞颌关节半脱位,在手法牵引复位后”当疾出指” e. 手法用于诊断与定穴 4.《外台秘要》王焘保存了一些宝贵的推拿手法资料 a. 脊柱手法的记载:脊柱按压法 b. 其它手法:治疗霍乱转筋的手拗脚趾法,治疗大小便不通的捋腹通便法,摩小腹下 死胎法,捉筋治噎法,治疗咽喉舌疾的下颌关节爪法 5. 《圣经总录》:“开达抑遏”四字概括了按摩的功用;将封裹膏摩与手法复位和用药并提, 作为正骨疗法的常规;中指熨目法,掌心熨目法治疗目昏暗和目暗 6. 《十产论》中助产手法,亦可保健按摩 明代: 1.明代按摩科变迁万全《幼科发挥》《育婴秘诀》有多处小儿推拿意外的记录 2.小儿推拿的兴起:

嵌入式系统开发技术常考重点知识点汇总(2018年全国计算机等级考试三级教程)

2018年全国计算机等级考试三级教程嵌入式系统开发技术 常考重点知识点汇总 作者:LightoDeng 吉林大学2018年8月19日 第一章 嵌入式系统概论 1.1嵌入式系统的定义、特点、分类,以及嵌入式系统的逻辑组成。 定义:嵌入式系统是以应用为中心,及计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等多种约束的专用计算机系统。 (1)6个特点: 专用性 隐蔽性(嵌入式系统是被包装在内部) 资源受限(要求小型化、轻型化、低功耗及低成本,因此软硬件资源受到限制) 高可靠性(任何误动作都可能会产生致命的后果) 软件固化(软件都固化在只读存储器ROM中,用户不能随意更改其程序功能) 实时性 (2)逻辑组成:硬件(CPU、存储器、I/O设备及I/O接口、数据总线)+软件 1)处理器(运算器、控制器、寄存器、高速缓冲存储器Cache) 目前所有的处理器都是微处理器 嵌入式系统可包含多个处理器,中央处理器(CPU)和协助处理器(数字信号 处理器DSP、图像处理器、通信处理器) 现在嵌入式系统中使用最多的还是8位和16位的CPU,但32位和64位是技 术发展的主流 2)存储器(随机存储器RAM和只读存储器ROM) 3)I/O设备与I/O接口 4)数据总线 5)软件 (3)分类 按嵌入式系统的软硬件技术复杂程度进行分类: 低端系统 采用4位或8位单片机,在工控领域和白色家电领域占主导地位,如计算器、遥控器、充电器、空调、传真机、BP机等。

中端系统 采用8位/16位/32位单片机,主要用于普通手机、摄像机、录像机、电子游戏机等。 高端系统 采用32位/64位单片机,主要用于智能手机、调制解调器、掌上计算机、路由器、数码相机等。 1.2嵌入式处理芯片 嵌入式处理芯片有4种产品类型:微处理器、数字信号处理器、微控制器、片上系统 微处理器 比较笨重,常用于工业控制领域 数字信号处理器(DSP):专用于数字信号处理的微处理器,使用哈佛结构存储器,支持单指令多数据并行处理(SIMD)的特殊指令 微控制器(单片机MCU):相比于微处理器,集成度更高,体积小,功耗低 片上系统(SoC):系统级芯片,半导体加工工艺进入深微纳米时代。SoC将嵌入式系统的几乎全部功能都集中到一块芯片上,单个芯片就能实现数据的采集、转换、存储、处理和输入输出等多种功能。 1.3S O C芯片 (1)微电子技术 1)集成电路的分类: 大规模集成电路LSI,超大规模集成电路VLSI,极大规模集成电路ULS 嵌入式处理芯片大多属于VLSI和ULSI 2)集成电路制作工艺 集成电路的制造大约需要几百道工序,工艺复杂且技术难度非常高。集成电路是在硅衬底上制作而成的。硅衬底是将单晶硅锭经切割、研磨和抛光后制成的像镜面一样光滑的圆形薄片,它的厚度不足1mm,其直径可以是6、8、12英寸甚至更大这种硅片称为硅抛光片,用于集成电路的制造。 制造集成电路的工艺技术称为硅平面工艺,包括氧化、光刻、掺杂等多项工序。把这些工序反复交叉使用,最终在硅片上制成包含多层电路及电子元件的集成电路。 集成电路的特点:体积小、重量轻、可靠性高。其工作速度主要取决于逻辑门电路的晶体管的尺寸。尺寸越小,工作频率就越高,门电路的开关速度就越快。 摩尔定律:单块集成电路的集成度平均每18~24个月翻一番 (2)通用SoC和专用SoC 通用SoC 半导体企业通过自主开发处理器内核或购买其他企业的处理器内核的IP授权,按照目标领域功能要求所开发的SoC芯片系列 专用SoC 嵌入式系统开发商依据待开发产品的特殊要求,向半导体企业定制的SoC芯片。为委托方所专有,无法在市场采购到。如苹果公司的系列芯片。 (3)开发流程 1)总体设计可以采用系统设计语言System C(或称IEEE 1666,它是C++的扩充)或System Vetilog语言对SoC芯片的软硬件作统一的描述,按照系统需求说明书确定SoC的性能能参数,并据此进行系统全局的设计。

嵌入式Linux系统开发教程很完整的习题答案资料

参考答案 第一章 一、填空题。 1、嵌入式系统主要融合了计算机软硬件技术、通信技术和微电子技术,它是将计算机直接嵌入到应用系统中,利用计算机的高速处理能力以实现某些特定的功能。 2、目前国内对嵌入式系统普遍认同的定义是:以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 3、嵌入式系统一般由嵌入式计算机和执行部件组成,其中嵌入式计算机主要由四个部分组成,它们分别是:硬件层、中间层、系统软件层以及应用软件层。 4、嵌入式处理器目前主要有ARM、MIPS、Power PC、68K等,其中arm处理器有三大特点:体积小、低功耗、的成本和高性能,16/32位双指令集,全球合作伙伴众多。 5、常见的嵌入式操作系统有:Linux、Vxworks、WinCE、Palm、uc/OS-II和eCOS。 6、嵌入式系统开发的一般流程主要包括系统需求分析、体系结构设计、软硬件及机械系统设计、系统集成、系统测试,最后得到最终产品。 二、选择题 1、嵌入式系统中硬件层主要包含了嵌入式系统重要的硬件设备:、存储器(SDRAM、ROM等)、设备I/O接口等。(A) A、嵌入式处理器 B、嵌入式控制器 C、单片机 D、集成芯片 2、20世纪90年代以后,随着系统应用对实时性要求的提高,系统软件规模不断上升,实时核逐渐发展为,并作为一种软件平台逐步成为目前国际嵌入式系统的主流。(D) A、分时多任务操作系统 B、多任务操作系统 C、实时操作系统 D、实时多任务操作系统 3、由于其高可靠性,在美国的火星表面登陆的火星探测器上也使用的嵌入式操作系统是。(B) A、Palm B、VxWorks C、Linux D、WinCE [在此处键入]

新员工培训教材手册(最终版)

新员工培训手册 山东鲁能智能技术有限公司SHANDONG LUNENG INTELLIGENCE TECHNOLOGY CO.,LTD. 2007.7

选择鲁能智能 品味职业人生 前言 鲁能智能公司全体员工欢迎您的加盟! 随着鲁能智能事业的发展,不断有新鲜血液充实进来,给公司带来了勃勃 生机与活力,持续地推动了我们事业和谐稳健发展。 鲁能智能公司雄厚的电力技术专业背景和深厚的电力行业背景,清晰的产 权结构和现代化的经营管理理念,奠定了鲁能智能坚实的发展基础;卓越的管 理模式,系统的管理体系,规范的行为方式,昭示了公司的勃勃生机和活力; 倡导学习创新,谋求共同发展,注重员工价值提升,诠释了以人为本的企业文 化;推崇为客户创造价值,注重经营管理、研发、技术服务等方面能力的积累, 培植公司核心竞争力,确立了公司以自己坚实的步伐追求成为国内优秀企业的 发展战略。 为着期盼成功的梦想,寻找一个能施展抱负和才学的环境,您成了鲁能智 能的一员。我们坚信,在共同理想的召唤下,成长中的鲁能智能将成为您施展 卓越才华、实现梦想的舞台。 本手册将帮助您了解鲁能智能的发展、文化以及一些基本规章制度,带领 您快速融入鲁能智能团队。 愿您在鲁能智能事业发展,工作进步,生活愉快! 人力资源部 2007年7月

第一章公司概况 一、简介 山东鲁能智能技术有限公司成立于2001年,是山东省科技厅认证的“高新技术企业”和山东省信息产业厅认定的“软件企业”。 公司致力于电气自动化、企业信息化和电力行业特种机器人等领域的技术研究、产品开发、销售和服务,产品涉及RCS-9000微机型继电保护和监控系统系列、LCS-600微机型继电保护和监控系统系列、GZDW高频开关直流电源系统系列、PI软件、SafeTransfer软件等。凭借在电力行业及相关领域的长期积累,先后成功投运省内外各类工程项目800余套,部分产品已远销韩国、印度。先进的技术、卓越的产品质量和服务,得到国内外客户的一致认可,多次获得 “山东省优秀软件企业 ”、“中国生产力促进奖”、“最佳信贷诚信客户奖”、“中央红旗班组”等荣誉称号。 公司先后被省科技厅批准成立了“山东省电力智能机器人工程技术研究中心”和“山东省配电自动化工程技术研究中心”两家工程技术中心,内设多个行业重点实验室和博士后流动站,现拥有各类专业人才200余名,具有高、中级职称及本科以上学历的员工占80%以上,专业涵盖了计算机软硬件、机电一体化、电力电子、人工智能等各个学科,形成了一支强有力的科研开发队伍。依靠雄厚的研发势力和完善的实验设备,公司先后承担了多个国家、省、部级重点项目,开发并形成了一系列具有自主知识产权的高科技产品,获得了多项技术专利、软件著作权及各类科技成果,并自主研发出国内首台“变电站设备巡检机器人”和“高压带电作业机器人”。与此同时,公司还与美国OSIsoft 公司、南京南瑞电气有限公司等国内外一流企业建立了良好的战略伙伴关系。 公司秉承“诚信、负责”的企业理念,始终坚持以技术创新、管理创新、市场创新和服务创新为手段,精心塑造“鲁能智能”品牌,以坚持不懈的努力,不断向客户提供优质产品和专业化服务,共享先进科技带给我们的机遇。

推拿学重点(部分

推拿治疗 1. 推拿:中医特色外治疗法,在中医学和现代科学理论指导下,在人体特定的部位或穴位上,运用各种手法和进行特定的肢体活动来防治疾病的一种治疗方法。 2. 推拿学的三个特征:(1)手法治疗和功法训练是推拿学的基本特征(2)中医学和现代科学理论的紧密结合是推拿学的理论内涵(3)广泛的适应证和严格的禁忌证是推拿学的临床特点 3. 推拿手法:以术者的手或肢体其他部位,或者借用一定的器具以达到手功能的延伸,按特定的技巧和规范化的动作,以力的形式作用于体表特定的部位或穴位,以达到防病治病、强身健体和延年益寿的一种治疗方法,属中医外治法范重阳。功法:是手法的前提 4. 推拿手法(温通、松解)的基本技术要求:持久、有力、均匀、柔和、深透 (1)持久:手法按要求作用一定的时间。 (2)有力:手法要有一定的力度,达到一定的层次。 (3)均匀:手法的力量,速度及操作幅度要均匀。 (4)柔和:手法要轻柔和缓,不宜用蛮力,暴力,做到力量轻而不浮,重而不滞。变换动作要自然。 (5)深透:手法产生的效果是从浅层组织渗透到深层组织。 5. 推拿手法(温通、松解)的基本技术要求:稳准巧快 6. 小儿推拿手法的基本技术要求:轻快柔和,平稳着实,补泻有度(生理)发病容易,传变迅速,脏器清灵,易趋康复(病理)

7. 小儿生理病理特点:脏腑娇嫩,形气未冲,生机蓬勃,发育迅速 8. 推拿发生意外的原因:(1)诊断不明确或误诊(2)对疾病的机制和手法作用的原理缺乏认识(3)手法操作不当或选用不当(4)未注意推拿治疗的适应症和禁忌证9. 推拿的发展: (1)甲骨文时期-推拿源于人的自我保护的本能;按摩为殷人发明 (2)先秦时期-推拿是治疗和养生保健的主要手段;用于临床急救 (3)秦汉时期-推拿专著《黄帝岐伯按摩》是我国最早的推拿学专著;《黄帝内经》我国现存最早、且比较全面、系统阐述中医学理论体系的古典医学巨著,书中确定“按摩”之名;东汉张仲景《伤寒杂病论》首次提出“膏摩”,为药物外用与按摩手法结合的外治法;华佗是按摩治疗与自我按摩导引的倡导者,发明五禽戏 (4)两晋南北朝时期-推拿用于急症治疗。葛洪《肘后备急方》提出最早的“捏脊”法(5)隋唐时期-推拿专业化。唐蔺道人《仙授理伤续断秘方》是我国现存最早的骨伤科专著,提出治疗闭合性骨折的四大手法“揣摸、拔伸、撙捺、捺正” 6)宋金元时期-推拿理论不断丰富 (7)明代-小儿推拿学术体系形成。推拿成为医术十三科之一;“按摩”之名开 始有“推拿”之称;形成小儿推拿的独特体系:我国现存最早的小儿推拿专题文献《秘传看惊掐筋口授手法论》;我国现存最早的推拿专著《小儿按摩经》(收录于杨继洲《针灸大成》)

嵌入式系统原理与应用复习知识点总结

第一章 1、嵌入式系统的应用范围:军事国防、消费电子、信息家电、网络通信、工业 控制。 2、嵌入式系统定义:嵌入式系统是以应用为中心,以计算机技术为基础,软件 与硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专 用计算机系统。(嵌入式的三要素:嵌入型、专用性与计算机系统)。 3、嵌入式系统的特点:1)专用性强;2)实时约束;3)RTOS;4)高可靠性;5) 低功耗;6)专用的开发工具和开发环境;7)系统精简; 4、嵌入式系统的组成: (1)处理器:MCU、MPU、DSP、SOC; (2)外围接口及设备:存储器、通信接口、I/O 接口、输入输出设备、电源等;(3)嵌入式操作系统:windows CE、UCLinux、Vxworks、UC/OS; (4)应用软件:Bootloader 5、嵌入式系统的硬件:嵌入式微处理器(MCU、MPU、DSP、SOC),外围电路, 外部设备; 嵌入式系统的软件:无操作系统(NOSES),小型操作系统软件(SOSE)S,大型 操作系统软件(LOSES)注:ARM 处理器三大部件:ALU、控制器、寄存器。 6、嵌入式处理器特点:(1)实时多任务;(2)结构可扩展;(3)很强的存储区 保护功能;(4)低功耗; 7、DSP处理器两种工作方式:(1)经过单片机的DSP可单独构成处理器;(2) 作为协处理器,具有单片机功能和数字处理功能; 第二章 1、IP核分类:软核、固核、硬核; 2、ARM 处理器系列:(1)ARM7系列(三级流水,thumb 指令集,ARM7TDMI); (2)ARM9系列(DSP处理能力,ARM920T)(3)ARM/OE(增强DSP)(4)SecurCone 系列(提供解密安全方案);(5)StrongARM系列(Zntle 产权);(6)XScale系列(Intel 产权);(7)Cortex 系列(A:性能密集型;R:要求实时性;M:要求低 成本) 3、ARM 系列的变量后缀:(1)T:thumb 指令集;(2)D:JTAG调试器;(3)快

(整理)嵌入式系统考试试题.

精品文档 10个小题,每小题1分,共10分)Array 1、以下说法不正确的是()。 A、任务可以有类型说明 B、任务可以返回一个数值 C、任务可以有形参变量 D、任务是一个无限循环 2、用图形点阵的方式显示一个16*16点阵汉字需要()字节。 A、8 B、32 C、16 D、64 3、μCOS-II操作系统中最多可以管理()个任务。 A、64 B、56 C、128 D、63 4、存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存 储,则2000H存储单元的内容为()。d A、0x21 B、0x68 C、0x65 D、0x02 5、以ARM为内核的微处理器是()位的。d A、4位 B、8位 C、16位 D、32位 6、RS232-C串口通信中,表示逻辑1的电平是()。d A、0v B、3.3v C、+5v~+15v D、-5v~-15v 7、寄存器R14除了可以做通用寄存器外,还可以做()。b A、程序计数器 B、链接寄存器 C、栈指针寄存器 D、基址寄存器 8、IRQ中断的入口地址是()。 A、0x00000000 B、0x00000008 C、0x00000018 D、0x00000014 9、采用RS232-C串行通信至少需要三根线,其中不包括()。 A、电源线 B、地线

C、发送数据线 D、接收数据线 10、Unicode编码与()编码方式兼容。 A、ASCII码 B、GBK C、GB2312 D、区位码 二、填空题(本大题共24个空,每空1分,共24分) 11、发展到现在,常用的操作系统包括三大类,分别为:批处理系统、分 时系统、和实时系统。 12、在图形操作系统中,字符通常有两种存储方式:一种是方式;一种是 方式。在嵌入式开发系统中一般使用方式。 13、ARM7指令系统采用三级流水线指令,分别包括:、、 和。 14、ARM处理器有七种工作模式,分别为、、、、 、、和状态。见第二套题的19题 15、OSTaskSuspend (self)可把正在运行的任务挂起,参数self指任务本 身。 用此函数挂起的任务可通过 OSTaskResume 函数唤醒。 16、创建信号量OSSemCreat(0)函数中,参数0表示信号量的初始值。 17、若一个优先级为35的任务就绪,则在就绪表中,OSRdyTbl[]的 2 置位, 变量OSRdyGrp的 4 置位。 18、网络通信中面向连接的协议是____tcp____,面向无连接的协议是___udp_____。 三、简答题(本大题共4个小题,每小题5分,共20分) 19、简述进程和线程有什么区别,μCOS-II操作系统中的任务属于进程还是线程?进程:包含正在运行的一个程序的所有状态信息,包括程序的代码、程序的数据、PC值、一组通用的寄存器的当前值,堆、栈,一组系统资源(如打开的文件)。进程有动态性、独立性、并发性的特点。 线程:是较进程更小的能独立运行的基本单位,是进程当中的一条执行流程,它可以满足统一进程内不通实体间的并发执行而又共享相同的地址空间。 一个进程中可以同时存在多个线程 各个线程之间可以并发地执行

(整理)印刷培训资料

印刷定义:将文字、图画、照片等原稿经制版、施墨、加压等工序, 使油墨转移到纸张、织品、皮革等材料表面上,批量复制原稿内容的技术。称之为印刷。印刷有多种形式分为:传统胶印,丝网印刷,数码印刷等。 印刷种类: 除了选择适当的印刷媒体(纸张)及油墨外,印刷品的最终效果还是需要通过适当的印刷方法完成。印刷种类有多款,方法不同,操作也不同,成本与效果亦各异。现行使用的印刷方法主要可分为凸版、凹版、平版及孔版印刷四大类:(1)凸版印刷,印纹高于非印纹 (2)凹版印刷,印纹凹陷于版面 (3)平版印刷,印纹没有凸起或凹下 (4)孔版印刷,油墨通过洞孔的印纹 当今最常用的工业印刷方法有: 1.胶版印刷(又称柯式(Offset)印刷):平版印刷的一种,能以高精度清晰地还原原稿的色彩、反差及层次,是目前最普遍的纸张印刷方法。适用于海报、简介、说明书、报纸、包装、书籍、杂志、月历及其他有关彩色印刷品。 2.活版印刷:凸版印刷技术的一种,一般在文字多,相片及图片少、文字的更改机会大、印品数量不多的情况下采用。适用于印制邀请卡、名片、标签及小型包装盒等小批量任务。传统的顺序号码打印和小商标套印均以活版方式进行。 3.丝网印刷:丝网印刷作为一种利用范畴很广的印刷,按照承印质料的分歧可以分为:织物印刷,塑料印刷,金属印刷,陶瓷印刷,玻璃印刷,电子产物印刷,彩票丝印,电饰告白板丝印,金属告白板丝印,不锈钢成品丝印,光反射体丝印,丝网转印电化铝,丝印版画和漆器丝印等等.孔版印刷技术之一,印刷油墨特别浓厚,最宜制作特殊效果的印件。数量不大而墨色需要浓度的尤为适宜。又可以在立体面上施印,如方形盒、箱、圆形瓶、罐等。除纸张外也可以印布、塑胶面料、夹板、胶片、金属片、玻璃等。常见新产品有横幅、锦旗、T恤、瓦棱纸箱、汽水瓶及电路板等。丝网印刷的灵活性特点是其他印刷方法所不能比拟。 4.橡胶版印刷:凸版印刷的一种,只适用于印制塑料袋、标签及大小塑料包装。通常输入橡胶版印刷机的媒体是卷装而不是单张的,印后要逐张分切。印刷网点、线条的精细度远比不上胶版和活版印刷,不能用以印制书本刊物等。 5.凹版印刷:适合印制高品质及价值昂贵的印刷品,不论是彩色或是黑白图片,凹版印刷效果都能与摄影照片相媲美。由于制版费昂贵,印量必须大,故也是在普遍方法中较少采用的一种。适用于印制有价证券、股票、礼券、商业性信誉之凭证或文具等。

推拿学重点整理终极版

推拿学的发展源流 △秦汉时期 《黄帝岐伯按摩》十卷——我国最早的推拿学专著(已佚失) 《黄帝内经》——我国现存最早,且比较全面、系统阐述中医学理论体系的古典医学巨作,概括推拿作用、马膏膏摩治疗口眼歪斜、治疗病证、工具、适应症禁忌症 △明代 ①“推拿”之称的出现(最早出现推拿的时间);②形成了小儿推拿的独特体系《小儿按摩经》是现存最早的小儿推拿专著 △清代 《医宗金鉴》“正骨八法”——“摸、接、端、提、按、摩、推、拿” 推拿的作用原理 △中医学 ①疏通经络,行气活血; ②理筋整复,滑利关节; ③调整脏腑功能,增强抗病能力 △现代医学(运动系统) ①改善肌肉的营养代谢; ②解除肌肉的痉挛; ③促进损伤组织的修复; ④促进炎症介质的分解、稀释; ⑤促进水肿、血肿的吸收; ⑥松解软组织的粘连 ⑦纠正解剖位置的异常; ⑧改变突出物与神经根之间的相对位置关系 推拿的治疗原则与治法 △治疗原则 ①未病先防; ②治病求本; ③扶正祛邪; ④调整阴阳; ⑤三因制宜 △治法 温、通、补、泻、汗、和、散、清 △补泻作用 补——扶助人体正气,增强人体组织某功能;泻——祛除体内病邪,抑制组织器官功能亢进 ①经络循行:顺——补;逆——泻 ②血流方向:向心性——补;离心性——泻 ③手法刺激强度:轻——补;重——泻 ④手法运动方向:顺时针——补;逆时针——泻 ⑤手法频率:缓慢——补;急速——泻 ⑥治疗时间:时间长——补;时间短——泻 推拿的禁忌症 1.各种传染性疾病; 2.各种恶性肿瘤; 3.结核性和感染性疾病; 4.胃、十二指肠等急性穿孔 5.所操作的部位皮肤有烧伤、烫伤或有皮肤破损的皮肤病; 6.骨折及较为严重的骨质疏松症; 7.月经期、怀孕期的腹部、腰骶部操作。 推拿常用的介质(膏摩) 介质作用——润滑、药效作用 介质的种类——药膏、药散、药酒、药汁、药油、滑石粉、水 经络与腧穴 十二经别——离、合、出、入 离:从十二经脉分出;合:表里经别同行;出:从头颈部出来;入:进入胸腹腔 穴位定位 足三里:小腿外侧,距胫骨前缘一横指,犊鼻穴下3寸。(胃经) 肩井:大椎与肩峰端连线的中点上。(胆经) 委中:腘横纹中点(膀胱经) 量诊 △脊柱活动范围 ①颈椎:前屈35°~45°,后伸35°~45°,左右侧屈各45°,左右旋转各60°~80° ②腰椎:前屈90°,后伸30°,左右侧屈各20°~30°,左右旋转各30° △肌力的分级 0级:肌肉完全无收缩(完全瘫痪); 1级:肌肉稍有收缩,但关节无活动; 2级:关节可在桌面上伸屈活动,但不能对抗地心引力; 3级:可对抗地心引力,但不能对抗阻力;

嵌入式系统原理与设计知识点整理

第一章嵌入式处理器 1嵌入式系统的概念组成: 定义:以应用为主,以计算机技术为基础,软硬件可裁剪,满足系统对功能、性能、可靠性、体积和功耗有严格要求的计算机系统。 组成:硬件:处理器、存储器、I / O设备、传感器 软件:①系统软件, ②应用软件。 2.嵌入式处理器分类特点: 分类:①MPU(Micro Processor Unit)微处理器。一块芯片,没有集成外设接口。部主要由运算器,控制器,寄存器组成。 ②MCU(Micro Controller Unit)微控制器(单片机)。一块芯片集成整个计算机系统。 ③EDSP(Embled Digital Signal Processor)数字信号处理器。运算速度快,擅长于大量重复数据处理 ④SOC(System On Chip)偏上系统。一块芯片,部集成了MPU和某一应用常用的功能模块 3.嵌入式处理器与通用计算机处理器的区别: ①嵌入式处理器种类繁多,功能多样 ②嵌入式处理器能力相对较弱,功耗低 ③嵌入式系统提供灵活的地址空间寻址能力 ④嵌入式系统集成了外设接口 4.①哈佛体系结构:指令和数据分开存储————————(嵌入式存储结构) 特征:在同一机器周期指令和数据同时传输 ②·诺依曼体系结构:指令和数据共用一个存储器——(通用式存数结构) 数据存储结构(多字节): 大端方式:低地址存高位;小端方式:高地址存高位 6.ARM指令集命名:V1~V8 (ARMV表示的是指令集)

7.ARM核命名:. 命名规则:ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{S}{x}——系列(版本) {y}——当数值为“2”时,表示MMU(存管理单元) {z}——当数值为“0”时,表示缓存Cache {T}——支持16位Thumb指令集 {D}——支持片上Debug(调试) {M}——嵌硬件乘法器 {I}——嵌ICE(在线仿真器)——支持片上断点及调试点 {E}——支持DSP指令 {J}——支持Jazzle技术 {F}——支持硬件浮点 {S}——可综合版本 8. JTAG调试接口的概念及作用: ①概念:(Joint Test Action Group)联合测试行动小组→检测PCB和IC芯片标准。(P CB→印刷电路板IC→集成芯片) ②作用(1)硬件基本功能测试读写 (2)软件下载:将运行代码下载到目标机RAM中 (3)软件调试:设置断点和调试点 (4)FLASH烧写:将运行最终代码烧写到FLASH存储器中。 9.GPIO概念:(General Purpose I/O Ports)通用输入/输出接口,即处理器引脚。 10.S3C2410/S3C2440 GPIO引脚 S3C2410共有117个引脚,可分成A——H共8个组,(GPA,GPB,…GPH组) S3C2440共有130个引脚,可分成A——J共9个组,(GPA,GPB,…,GPH,GPJ 组) 11.GPxCON寄存器,GPxDAT寄存器,GpxUP寄存器的功能,各位含义和用法 ①GPxCON寄存器(控制寄存器)——设置引脚功能 →GPACON(A组有23根引脚,一位对应一个引脚,共32位,拿出0~22位,其余没用) (若某一位是)0:(代表该位的引脚是一个)输出引脚 1:地址引脚 →GPBCON——GPH/JCON(用法一致,两位设置一个引脚) 00:输入引脚 01:输出引脚 10:特殊引脚 11:保留不用 GPBCON ②GPxDAT寄存器(数据寄存器)——设置引脚状态及读取引脚状态 若某一位对应的是输出引脚,写此寄存器相应位可令引脚输出高/低电平。 若某一位对应的是输入引脚,读取此寄存器可知相应引脚电平状态。GPBDAT

嵌入式经典笔试题目

1将一个字符串逆序 2、将一个链表逆序 3、计算一个字节里(byte)里面有多少bit被置1 4、搜索给定的字节(byte) 5、在一个字符串中找到可能的最长的子字符串 6、字符串转换为整数 7、整数转换为字符串 答案: 1、方法1: int main() { char* src = "hello,world"; int len = strlen(src); char* dest = (char*)malloc(len+1);//要为\0分配一个空间char* d = dest; char* s = &src[len-1];//指向最后一个字符 while( len-- != 0 ) *d++=*s--; *d = 0;//尾部要加\0 printf("%s\n",dest); free(dest);// 使用完,应当释放空间,以免造成内存汇泄露return 0; } 方法2: #include #include main() { char str[]="hello,world"; int len=strlen(str); char t; for(int i=0; i { t=str[i]; str[i]=str[len-i-1]; str[len-i-1]=t; } printf("%s",str); return 0; } 2、 链表题:一个链表的结点结构 struct Node {

int data ; Node *next ; }; typedef struct Node Node ; (1)已知链表的头结点head,写一个函数把这个链表逆序 ( Intel) Node * ReverseList(Node *head) //链表逆序 { if ( head == NULL || head->next == NULL ) return head; Node *p1 = head ; Node *p2 = p1->next ; Node *p3 = p2->next ; p1->next = NULL ; while ( p3 != NULL ) { p2->next = p1 ; p1 = p2 ; p2 = p3 ; p3 = p3->next ; } p2->next = p1 ; head = p2 ; return head ; } (2)已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。(保留所有结点,即便大小相同) Node * Merge(Node *head1 , Node *head2) { if ( head1 == NULL) return head2 ; if ( head2 == NULL) return head1 ; Node *head = NULL ; Node *p1 = NULL; Node *p2 = NULL; if ( head1->data < head2->data ) { head = head1 ; p1 = head1->next; p2 = head2 ; } else {

相关文档
最新文档