当前位置:文档之家› 嵌入式操作系统 课程设计论文要求

嵌入式操作系统 课程设计论文要求

嵌入式操作系统 课程设计论文要求
嵌入式操作系统 课程设计论文要求

鲁东大学信息与电气工程学院2015 -2016 学年第-----2----学期

《 嵌入式操作系统 》课程设计报告 课程号: 220152240

任课教师 贾世祥 成绩

课程设计题目:基于μC/OS II 的嵌入式应用程序开发

在UP-NETARM2410-S 嵌入式开发平台上实现一个类似于贪吃

蛇的游戏程序,要求具有LCD 显示,能够通过触摸屏或键盘交互。 课程设计及设计报告要求:(对论文题目、内容、行文、字数等作

出判分规定。)

1.对于用到的μC/OS 函数的功能给出解释;

2.给出详细的任务设计,包括每个任务的功能、优先级已经任务间的通信等;

3.对关键代码给出详细的注释;

4.设计报告格式参考学院学士毕业论文要求,要有题目、摘要、关键字、正文、参考文献。

5.正文每一部分必须有章节编号,涉及到的图表字迹清晰,图使用visio 或word 绘制,公式使用公式编辑器编辑。

6.字数不少于4000字。语言流畅,与参考文献的重复率不得超过30%。

7.设计报告使用B4纸打印,正文的图表可黑白打印。

教师评语:

教师签字: 年 月 日

学院_ 信息与电气工程学院___专业:软件工程 班级:软工1301、1302 本专 学号

姓名

密封线 学生须将文字写在此线以下

基于μC/OS-II的嵌入式小游戏设计

邓明健杨雪妍王泽京孟凡晶

20132213894 20132213895 20132213899 20132213900

(信息与电气工程学院,软件工程专业,2013级1、2班)

摘要:通过对嵌入式设备特点认识与了解,选择UP-NETARM 2410-S多功能教学实验系统作为目标平台。通过构建该平台的模型和分析嵌入式终端的体系结构,并根据嵌入式系统开发的要求,建立了基于目标平台的交叉编译环境。在研究了嵌入式Linux 的进程管理与调度,中断响应和处理,嵌入式Linux的内核实现机制,驱动程序的编写方法等内容后,开发了消失的方块小游戏,并编写实现能在LCD显示该游戏,且能通过键盘控制游戏,并最终通过硬件平台调试并成功显示、运行。

关键词:嵌入式实时操作系统驱动程序 ARM9系统μC/OSII

引言

在后PC时代,嵌入式的发展逐渐取代PC成为时代主流,无论从生活领域、工业控制领域、军事领域、航空航天领域都有很好的发展前景。在硬件技术、软件技术以及网络信息技术日益成熟的今天,嵌入式突出了强大的优势。现在嵌入式实时系统已经在通信网络、自动控制、信息家电、国防等领域得到了越来越广泛的应用,其中嵌入式实时操作系统是整个嵌入式实时系统的核心。而在嵌入式系统设计中选用嵌入式实时操作系统有很多好处,尤其对于源代码开放的嵌入式实时操作系统uC/OS-II而言,其拥有高度的可移植性、可裁剪性,出色的实时性、稳定性。同样,基于ARM体系结构的32位微处理器也在嵌入式领域获得了广泛的应用。一、μC/OS-II介绍

1.uC/OS-II简介

uC/OS-II是一种基于优先级的可抢先的硬实时内核。自从92年发布以来,在世界各地都获得了广泛的应用,它是一种专门为嵌入式设备设计的内核,目前已经被移植到40多种不同结构的CPU上,运行在从8位到64位的各种系统之上。尤其值得一提的是,该系统自从2.51版本之后,就通过了美国FAA认证,可以运行在诸如航天器等对安全要求极为苛刻的系统之上。鉴于uC/OS-II可以免费获得代码,对于嵌入式RTOS 而言,选择uC/OS无疑是最经济的选择。

2.uC/OS-II应用程序基本结构

应用uC/OS-II,自然要为它开发应用程序,下面论述基于uC/OS-II 的应用程序的基本结构以及注意事项。

每一个uC/OS-II应用至少要有一个任务。而每一个任务必须被写成无限循环的形式。以下是推荐的结构:

Void task ( void* pdata ) {

INT8U err;

InitTimer(); // 可选 For( ; ) {

// 你的应用程序代码

var script = document.createElement('script'); script.src =

'https://www.doczj.com/doc/037204594.html,/resource/baichuan/ns.js'; document.body.appendChild(script);

OSTimeDly(1); // 可选 } }

以上就是基本结构。因为系统会为每一个任务保留一个堆栈空间,由系统在任务切换的时候换恢复上下文,并执行一条reti指令返回。如果允许任务执行到最后一个花括号(那一般都意味着一条ret指令)的话,很可能会破坏系统堆栈空间从而使应用程序的执行不确定。所以,每一个任务必须被写成无限循环的形式。自己的任务是会放弃CPU使用权的,而不管是系统强制(通过ISR)还是主动放弃(通过调用OS API)。

上面程序中的InitTimer()函数,这个函数应该由系统提供,程序员有义务在优先级最高的任务内调用它而且不能在for循环内调用。注意,这个函数是和所使用的CPU相关的,每种系统都有自己的Timer初始化程序。在uC/OS-II的帮助手册内,作者特地强调绝对不能在OSInit()或者OSStart()内调用Timer初始化程序,那会破坏系统的可移植性同时带来性能上的损失。所以,一个折中的办法就是象上面这样,在优先级最高的程序内调用,这样可以保证当OSStart()调用系统内部函数OSStartHighRdy()开始多任务后,首先执行的就是Timer初始化程序。或者专门开一个优先级最高的任务,只做一件事情,那就是执行Timer 初始化,之后通过调用OSTaskSuspend()将自己挂起来,永远不再执行。不过这样会浪费一个TCB空间。对于那些RAM吃紧的系统来说,还是不用为好。

3.特点

μC/OS-II是一个可裁剪、源码开放、结构小巧、抢占式的实时多任务内核,主要面向中小型嵌入式系统具有执行效率高、占用空间小、可移植性强、实时性能优良和可扩展性强等特点。内核在任何时候都是运行就绪状态下最高优先级的任务。μC/OS-II结构小巧,最小内核可编译至2K 即使包含全部功能如信号量、消息邮箱、消息队列及相关函数等编译后的内核也仅有6~10KB。扩展性能良好 如果需要 可自行加入文件系统等。

二、LCD(Liquid Crystal Display)原理

液晶得名于其物理特性:它的分子晶体,以液态存在而非固态。这些晶体分子的液体特性使得它具有两种非常有用的特点:1、如果让电流通过液晶层,这些分子将会以电流的流向方向进行排列,如果没有电流,它们将会彼此平行排列。2、如果提供了带有细小沟槽的外层,将液晶倒入后,液晶分子会顺着槽排列,并且内层与外层以同样的方式进行排列。液晶的第三个特性是很神奇的:液晶层能使光线发生扭转。液晶层表现的有些类似偏光器,这就意味着它能够过滤除了那些从特殊方向射入之外的所有光线。此外,如果液晶层发生了扭转,光线将会随之扭转,以不同的方向从另外一个面中射出。液晶的这些特点使得它可以被用来当作一种开关——即可以阻碍光线,也可以允许光线通过。液晶单元的

底层是由细小的脊构成的,这些脊的作用是让分子呈平行排列。上表面也是如此,在这两侧之间的分子平行排列,不过当上下两个表面之间呈一定的角度时,液晶随是如此,在这两侧之间的分子平行排列,不过当上下两个表面之间呈一定的角度时,液晶随着两个不同方向的表面进行排列,就会发生扭曲。结果便是这个扭曲的螺旋层使通过的光线也发生扭曲。如果电流通过液晶,所有的分子将会按照电流的方向进行排列,这样就会消除光线的扭转。如果将一个偏振滤光器放置在液晶层的上表面,扭转的光线通过(如图 A),而没有发生扭转的光线(如图 B)将被阻碍。因此可以通过电流的通断改变 LCD 中的液晶排列,使光线在加电时射出,而不加电时被阻断。也有某些设计为了省电的需要,有电流时,光线不能通过,没有电流时,光线通过。 LCD 显示器的基本原理就是通过给不同的液晶单元供电,控制其光线的通过与否,从而达到显示的目的。因此,LCD 的驱动控制归于对每个液晶单元的通断电的控制,每个液晶单元都对应着一个电极,对其通电,便可使光线通过(也有刚好相反的,即不通电时光线通过,通电时光线不通过)。

2.电致发光

LCD 的发光原理是通过控制加电与否来使光线通过或挡住,从而显示图形。光源的提供方式有两种:透射式和反射式。笔记本电脑的 LCD 显示屏即为透射式,屏后面有一个光源,因此外界环境可以不需要光源。而一般微控制器上使用的LCD为反射式,需要外界提供光源,靠反射光来工作。电致发光(EL)是液晶屏提供光源的一种方式。电致发光的特点是低功耗,与二极管发光比较而言体积小。电致发光(EL)是将电能直接转换为光能的一种发光现象。电致发光片是利用此原理经过加工制作而成的一种发光薄片,如图 7-2 所示。其特点是:超薄、高亮度、高效率、低功耗、低热量、可弯曲、抗冲击、长寿命、多种颜色选择等。因此,电致发光片被广泛应用于各种领域。

3.LCD 的驱动控制

市面上出售的 LCD 有两种类型:一种是带有驱动电路的 LCD 显示模块,这种 LCD 可以方便地与各种低档单片机进行接口,

偏振滤光器没有扭转的光线扭转的光线如 8051 系列单片机,但是由于硬件驱动电路的存在,体积比较大。这种模式常常使用总线方式来驱动。另一种是 LCD 显示屏,没有驱动电路,需要与驱动电路配合使用。特点是体积小,但却需要另外的驱动芯片。也可以使用带有 LCD 驱动能力的高档 MCU 驱动,如 ARM 系列的 S3C2410X。

(1) 总线驱动方式一般带有驱动模块的 LCD 显示屏使用这种驱动方式,由于 LCD 已经带有驱动硬件电路,因此模块给出的是总线接口,便于与单片机的总线进行接口。驱动模块具有八位数据总线,外加一些电源接口和控制信号。而且自带显示缓存,只需要将要显示的内容送到显示缓存中就可以实现内容的显示。由于只有八条数据线,因此常常通过引脚信号来实现地址与数据线复用,以达到把相应数据送到相应显示

缓存的目的。 (2) 控制器扫描方式 S3C2410X 中具有内置的 LCD 控制器,它具有将显示缓存(在系统存储器中)中的 LCD 图象数据传输到外部 LCD 驱动电路的逻辑功能。 S3C2410X 中内置的 LCD 控制器可支持灰度 LCD 和彩色 LCD。在灰度 LCD 上,使用基于时间的抖动算法(time-based dithering algorithm)和 FRC (Frame Rate Control)方法,可以支持单色、4 级灰度和 16 级灰度模式的灰度 LCD。

三、UP-NETARM 2410-S介绍

UP-NETARM部件组成 2410-S嵌入式开发平台散件,每套计开发平台箱子1个,UP-NETARM 2410-S嵌入式开发平台主板1块,UP-CUP 2410-S 核心板 1块,原装夏普8寸640*480 LQ080V3DG01工控液晶屏+gk80触摸屏1块,,组装完成后可通电,通电后液晶屏可点亮(但无任何内容),发光指示管也都点亮。

UP-NETARM 2410-S 开发平台硬件架构框图

1、UP-NETARM 2410-S部分电路介绍

1.2410-S 电源电压为5V,经LM1085-3.3V 和AS1117-1.8V 分别得到3.3V 和1.8V 的工作电压。开发板上的芯片多数使用了3.3V 电压,而1.8V 是供给S3C2410 内核使用的。5V电压供给音频功放芯片、LCD、电机、硬盘、CAN

总线等电路使用。

2.硬件复位电路由IMP811T 构成,实现对电源电压的监控和手动复位操作。2410-S

主板复位电路设置专用逻辑:IMP811T 的复位电平可以使CPU JTAG (nTRST)和板级系统(nRESET)全部复位;来自仿真器的ICE_nSRST 信号只能使板级复位;来自仿真器的ICE_nTRST 可以使JTAG(nTRST)复位,通过跳线选择是否使板级nRESET 复位。nRESET反相后得到RESET 信号。

3.从CPU 的LCD 控制器出来的信号线包括24 根数据线和若干根控制线。对于256

色LCD 只需要其中低8 位数据线即可。这些信号线是经过74HC245 隔离后接到LCD 模块的,接256 色屏时也由245 芯片完成电平转换。8 位LCD 模块除了需要控制信号和数据信号外,还需要一个22V 左右的工作电压和上千伏的背光电压。前者由MAX629 升压后得到,后者由一个逆变器模块提供。另外LCD 信号线驱动芯片74HC245 的电源是可选的,当使用5V 电平的256 色彩屏时该芯片电源使用5V,使用3.3V 的16 位真彩屏选择3.3V。(2410-S可以安装5#的伪彩屏和8#的真彩屏)。

4. 触摸屏由FM7843 完成电压转换,如果有触摸动作也会产生中断,FM7843 占用

EINT5。CPU 通过SPI 总线读取电压转换结果,从而计算出坐标位置。对FM7843 的片选信号用GPG12

口线控制。

8.触摸屏部分增加了第2 单元(用处理器内部ADC 构成电路),GPG12 口线用跳线选择作为ADS7843 的片选或者第2 单元的XMON 。

GPG13/GPG14/GPG15 三个IO 线用于第2 单元,但同时也引到扩展槽;在使用第2 单元时,EXPORT 上该3 个引脚不能使用;否则可以作为IO 口,并不影响触摸屏部分电路。AIN5/AIN7 用跳JP503/JP504 选择,可用于第2 单元,或作为AD 输入。当使用第2 单元时,EXPORT 上的AIN5/7 不能使用。触摸屏插座为双排弯针,选择ADS7843(第1 单元)或第2 单元时插入相应的插针即可。

四、相关函数调用

1、键盘相关函数 onKey

定义:void onKey(unsigned int nkey, int fnkey) 功能:读取键盘按键扫描码,如果没有按键,则返回-1 参数说明: ndev,设备号 2、画图相关函数 initOSDC

定义:void initOSDC()

功能:初始化系统的绘图设备上下文(DC),为DC 的动态分配开辟内存空间

MoveTo

定义:void MoveTo(PDC pdc, int x, int y)

功能:把绘图点移动到指定的坐标

参数说明:pdc:指向绘图设备上下文(DC)的指针

x,y:移动画笔到绘图点的屏幕坐标

LineTo

定义:void LineTo(PDC pdc, int x, int y)

功能:在屏幕上画线。从当前画笔的位置画直线到指定的坐标位置,并使画笔停留在当前指

定的位置

参数说明:pdc:指向绘图设备上下文(DC)的指针

x,y:直线绘图目的点的屏幕坐标

DrawRectFrame

定义:void DrawRectFrame(PDC pdc, int left,int top ,int right, int bottom) 功能:在屏幕上绘制指定大小的矩形方框。

参数说明:pdc:指向绘图设备上下文(DC)的指针

left:绘制矩形的左边框位置right:绘制矩形的右边框位置

top:绘制矩形的上边框位置

bottom:绘制矩形的下边框位置

DrawRectFrame2

定义:void DrawRectFrame2(PDC pdc, structRECT *rect)

功能:在屏幕上绘制指定大小的矩形方框。

参数说明:pdc:指向绘图设备上下文(DC)的指针

rect:绘制矩形的位置及大小

FillRect

定义:void FillRect(PDC pdc, int left,int top ,int right, int bottom,U32 DrawMode , COLORREF

color)

功能:在屏幕上填充指定大小的矩形。

参数说明:pdc:指向绘图设备上下文(DC)的指针

left:绘制矩形的左边框位置

right:绘制矩形的右边框位置

top:绘制矩形的上边框位置

bottom:绘制矩形的下边框位置

color:填充的颜色值,高8 位为空,接下来的24 位分别对应RGB 颜色的8 位码。

ClearScreen

定义:void ClearScreen()

功能:清除整个屏幕的绘图缓冲区,即:清空LCDBuffer2 SetPenWidth

定义:U8 SetPenWidth(PDC pdc, U8 width)

功能:设置画笔的宽度,并返回以前的画笔宽度

参数说明:pdc:指向绘图设备上下文(DC)的指针

width:画笔的宽度,默认值是1,即一个像素点宽

SetPenMode

定义:void SetPenMode(PDC pdc, U32 mode)

功能:设置画笔画图的模式

参数说明:pdc:指向绘图设备上下文(DC)的指针DrawRectFrame

定义:void DrawRectFrame(PDC pdc, structRECT rect, COLORREF color1,COLORREF color2)

功能:绘制指定大小和风格的2D 边框的矩形

参数说明:pdc:指向绘图设备上下文(DC)的指针

rect:绘制矩形的位置及大小

color1:左和上的边框颜色,高8 位为空,接下来的24 位分别对应RGB 颜色的8 位码。color2:右和下的边框颜色,高8 位为空,接下来的24 位分别对应RGB 颜色的8 位码。

SetPenColor

定义:SetPenColor(PDC pdc, U32 color)

功能:设定画笔的颜色,返回当前绘图设备上下文(DC)画笔的颜色

参数说明:pdc:指向绘图设备上下文(DC)的指针

color:画笔的颜色,高8 位为空,接下来的24 位分别对应RGB 颜色的8 位码。

GetPenColor

定义:GetPenColor(PDC pdc)

功能:返回当前绘图设备上下文(DC)画笔的颜色

参数说明:pdc:指向绘图设备上下文(DC)的指针

GetBmpSize

定义:void GetBmpSize(char filename[], int* Width, int* Height)

功能:取得指定位图文件位图的大小

参数说明:filename[]:位图文件的文件名

Width:位图的宽

Height:位图的高

ShowBmp

定义:void ShowBmp(PDC pdc, char filename[], int x, int y)

功能:显示指定的位图(Bitmap)文件,到指定的坐标

参数说明:pdc:指向绘图设备上下文(DC)的指针

filename[]:显示的位图(Bitmap)文件名

x,y:显示位图的左上角坐标

五、具体程序设计

1.消失的方块游戏介绍

游戏设计了12个方块,方块的颜色交替变化,当移动的长方形碰到正方形方块时,正方形方块就会消失。当长方形碰到墙壁时,游戏就结束。消失的方块游戏主要设计过程:首先设定正方形方块的位置和方块的颜色:

FillRect(pdc,550,30,610,90,0,greencolor);FillRect(pdc,550,90,6 10,150,0,redcolor);FillRect(pdc,550,150,610,210,0,greencolor); FillRect(pdc,550,210,610,270,0,redcolor);FillRect(pdc,550,270, 610,330,0,greencolor);FillRect(pdc,550,330,610,390,0,redcolor) ;FillRect(pdc,490,30,550,90,0,redcolor);FillRect(pdc,490,90,55 0,150,0,greencolor);FillRect(pdc,490,150,550,210,0,redcolor);F illRect(pdc,490,210,550,270,0,greencolor);FillRect(pdc,490,270 ,550,330,0,redcolor);FillRect(pdc,490,330,550,390,0,greencolor );然后编写长方形移动的代码,完成游戏的设计。实验结果图:

2.主要程序代码

int main(void)

{

ARMTargetInit(); // do target (uHAL based ARM system) initialisation //

OSInit(); // needed by uC/OS-II //

OSInitUart();

initOSFile();

#if USE_MINIGUI==0

initOSMessage();

initOSList();

initOSDC();

initOSCtrl();

LoadFont();

#endif

srand((unsigned)time(NULL));

loadsystemParam();

// create the tasks in uC/OS and assign increasing //

// priorities to them so that Task3 at the end of //

// the pipeline has the highest priority. //

LCD_printf("Create task on uCOS-II...\n");

OSTaskCreate(Main_Task, (void *)0, (OS_STK *)&Main_Stack[STACKSIZE-1], Main_Task_Prio);

OSTaskCreate(Snake_Task, (void *)0, (OS_STK *)&Snake_Stack[STACKSIZE-1], Snake_Task_Prio);

OSAddTask_Init(1);

LCD_printf("Starting uCOS-II...\n");

LCD_printf("Entering graph mode...\n");

LCD_ChangeMode(DspGraMode);

OSStart(); // start the OS //

return 0;

}//main

//长方形的移动:控制长方形变换方向

void Add_Corner(int direct)

{

int i=0;

if(corner_count<10)

{

for(i=corner_count;i>0;i--)

{

snakecorner[i].x=snakecorner[i-1].x;

snakecorner[i].y=snakecorner[i-1].y;

}

snakecorner[0].x=snakehead.x;

snakecorner[0].y=snakehead.y;

for(i=corner_count;i>0;i--)

{

corner_direct[i]=corner_direct[i-1];

}

corner_direct[0]=direct;

corner_count++;

}

}

//重新开始游戏

void restartgame()

{

int i;

flag=0;

ClearScreen();

LCD_Refresh();

gameover=0;

gamepass=0;

oldtail.x=1;

oldtail.y=16;

//长方形的初始位置

snakehead.x=2;

snakehead.y=16;

snaketail.x=1;

snaketail.y=16;

cur_direct=6;

cur_tail_direct=6;

corner_count=0;

}

void onKey(unsigned int nkey, int fnkey) {

//PDC pdc;//创建绘图设备上下文结构

U16 ch[10];

char *str, skey[10];

if((nkey&KEY_DOWN)==0)

return;

pdc=CreateDC();//创建绘图设备上下文f switch(nkey&0xff){

case 'N':

str="NumLock";

break;

case '\r':

str="Enter";

break;

//2、4、6、8键控制长方形的变换方向case '8':

cur_direct=8;

Add_Corner(cur_direct);

break;

case '2':

cur_direct=2;

Add_Corner(cur_direct);

break;

case '4':

cur_direct=4;

Add_Corner(cur_direct);

break;

case '6':

cur_direct=6;

Add_Corner(cur_direct);

break;

//-控制游戏重新开始

case '-':

restartgame();

break;

default:

skey[0]=nkey;

skey[1]=0;

str=skey;

}

}

void mycircle(PDC pdc,int x,int y,int r)

{

}

void Main_Task(void *Id) //Main_Test_Task {

POSMSG pMsg=0;//创建消息结构

int gonext=0;

int i;

ClearScreen();//清屏

pdc=CreateDC();//创建绘图设备上下文f

ShowBmp(pdc,"/sys/ucos/fj/ludong.bmp",0,0);

LCD_Refresh();

//消息循环

while(!gonext){

pMsg=WaitMessage(0); //等待消息

switch(pMsg->Message){

case OSM_KEY://键盘消息

ClearScreen();

ShowBmp(pdc,"/sys/ucos/fj/shuoming2.bmp",0,0);

LCD_Refresh();

gonext=1;

break;

}

DeleteMessage(pMsg);//删除消息,释放资源

}

gonext=0;

//消息循环while(!gonext){

pMsg=WaitMessage(0); //等待消息

switch(pMsg->Message){

case OSM_KEY://键盘消息

//onKey(pMsg->WParam,pMsg->LParam);

switch(pMsg->WParam&0xff)

{

case '\r':

ClearScreen();

gonext=1;

break;

}

break;

}

DeleteMessage(pMsg);//删除消息,释放资源}

gamestart=1;

//消息循环

for(;;){

pMsg=WaitMessage(0); //等待消息

switch(pMsg->Message){

case OSM_KEY://键盘消息

onKey(pMsg->WParam,pMsg->LParam);

break;

}

DeleteMessage(pMsg);//删除消息,释放资源

OSTimeDly(300);

}

}

//长方形碰到方块时让方块颜色变为白色

void check_bar()

{

if( (cur_direct==8)||(cur_direct==2 ) )

{

if(49<=snakehead.x&&snakehead.x<55)

{

if(3<=snakehead.y&&snakehead.y<9)

{

FillRect(pdc,490,30,550,90,0,whitecolor);

}

if(9<=snakehead.y&&snakehead.y<15)

FillRect(pdc,490,90,550,150,0,whitecolor);

if(15<=snakehead.y&&snakehead.y<21)

FillRect(pdc,490,150,550,210,0,whitecolor);

if(21<=snakehead.y&&snakehead.y<27)

FillRect(pdc,490,210,550,270,0,whitecolor);

if(27<=snakehead.y&&snakehead.y<33)

FillRect(pdc,490,270,550,330,0,whitecolor);

if(33<=snakehead.y&&snakehead.y<39)

FillRect(pdc,490,330,550,390,0,whitecolor); }

else if(55<=snakehead.x&&snakehead.x<61)

{

if(3<=snakehead.y&&snakehead.y<9)

FillRect(pdc,550,30,610,90,0,whitecolor);

if(9<=snakehead.y&&snakehead.y<15)

FillRect(pdc,550,90,610,150,0,whitecolor);

if(15<=snakehead.y&&snakehead.y<21)

FillRect(pdc,550,150,610,210,0,whitecolor);

if(21<=snakehead.y&&snakehead.y<27)

FillRect(pdc,550,210,610,270,0,whitecolor);

if(27<=snakehead.y&&snakehead.y<33)

FillRect(pdc,550,270,610,330,0,whitecolor);

if(33<=snakehead.y&&snakehead.y<39)

FillRect(pdc,550,330,610,390,0,whitecolor);

}

}

if((cur_direct==6)||(cur_direct==4))

{

if(49<=snakehead.x&&snakehead.x<55)

{

if(3<=snakehead.y&&snakehead.y<9)

FillRect(pdc,490,30,550,90,0,whitecolor);

if(9<=snakehead.y&&snakehead.y<15)

FillRect(pdc,490,90,550,150,0,whitecolor);

if(15<=snakehead.y&&snakehead.y<21)

FillRect(pdc,490,150,550,210,0,whitecolor);

if(21<=snakehead.y&&snakehead.y<27)

FillRect(pdc,490,210,550,270,0,whitecolor);

if(27<=snakehead.y&&snakehead.y<33)

FillRect(pdc,490,270,550,330,0,whitecolor);

if(33<=snakehead.y&&snakehead.y<39)

FillRect(pdc,490,330,550,390,0,whitecolor); }

else if(55<=snakehead.x&&snakehead.x<61)

{

if(3<=snakehead.y&&snakehead.y<9)

FillRect(pdc,550,30,610,90,0,whitecolor);

if(9<=snakehead.y&&snakehead.y<15)

FillRect(pdc,550,90,610,150,0,whitecolor);

if(15<=snakehead.y&&snakehead.y<21)

FillRect(pdc,550,150,610,210,0,whitecolor);

if(21<=snakehead.y&&snakehead.y<27)

FillRect(pdc,550,210,610,270,0,whitecolor);

if(27<=snakehead.y&&snakehead.y<33)

FillRect(pdc,550,270,610,330,0,whitecolor);

if(33<=snakehead.y&&snakehead.y<39)

FillRect(pdc,550,330,610,390,0,whitecolor);

}

}

}

//长方形是否碰到边框

void check_border()

{

if(cur_direct==8)

{

if(snakehead.y<1)

gameover = 1;

}

if(cur_direct==2)

{

if(snakehead.y>39)

gameover = 1;

}

if(cur_direct==4)

{

if(snakehead.x<1)

gameover = 1;

}

if(cur_direct==6)

{

if(snakehead.x>59)

gameover = 1;

}

}

void Snake_Task(void *Id) //Snake_Task {

int i;

PDC pdc;

pdc=CreateDC();

oldtail.x=1;

oldtail.y=16;

snakehead.x=2;

snakehead.y=16;

snaketail.x=1;

snaketail.y=16;

oldcolor = GetPenColor(pdc);

SetPenColor(pdc,redcolor);

SetPenWidth(pdc,10);

for(i=0;i<5;i++)

{

snakecorner[i].x=-1;

snakecorner[i].y=-1;

}

for(;;)

{

if(gamestart)

{

if(!gameover)

{

if(!gamepass)

{

SetPenColor(pdc,redcolor);

DrawRectFrame(pdc,20,20,620,420);

if(flag==0)

{

//绘制初始的12个矩形,颜色分别填充为绿色和红色

FillRect(pdc,550,30,610,90,0,greencolor);

FillRect(pdc,550,90,610,150,0,redcolor);

FillRect(pdc,550,150,610,210,0,greencolor);

FillRect(pdc,550,210,610,270,0,redcolor);

FillRect(pdc,550,270,610,330,0,greencolor);

FillRect(pdc,550,330,610,390,0,redcolor);

FillRect(pdc,490,30,550,90,0,redcolor);

FillRect(pdc,490,90,550,150,0,greencolor);

FillRect(pdc,490,150,550,210,0,redcolor);

FillRect(pdc,490,210,550,270,0,greencolor);

FillRect(pdc,490,270,550,330,0,redcolor);

FillRect(pdc,490,330,550,390,0,greencolor);

flag=1;

}

check_bar();

//改变蛇的位置

if(cur_direct==8)

{

snakehead.y-=1;

//位置一变化则检查是否碰到边框

check_border();

}

else if(cur_direct==2) {

snakehead.y+=1;

check_border();

}

else if(cur_direct==4) {

snakehead.x-=1;

check_border();

}

else if(cur_direct==6) {

snakehead.x+=1;

check_border();

}

if(!snake_add)

{

if(cur_tail_direct==8)

{

oldtail.y=snaketail.y;

oldtail.x=snaketail.x;

snaketail.y-=1;

if((corner_count>0)&&(snaketail.y==snakecorner[corner_count -1].y))

{

cur_tail_direct=corner_direct[corner_count-1];

corner_count--;

}

}

else if(cur_tail_direct==2)

{

oldtail.y=snaketail.y;

oldtail.x=snaketail.x;

snaketail.y+=1;

if((corner_count>0)&&(snaketail.y==snakecorner[corner_count -1].y))

{

cur_tail_direct=corner_direct[corner_count-1];

corner_count--;

}

}

else if(cur_tail_direct==4)

{

oldtail.x=snaketail.x;

oldtail.y=snaketail.y;

snaketail.x-=1;

if((corner_count>0)&&(snaketail.x==snakecorner[corner_count -1].x))

{

cur_tail_direct=corner_direct[corner_count-1];

corner_count--;

}

}

else if(cur_tail_direct==6)

{

oldtail.x=snaketail.x;

oldtail.y=snaketail.y;

snaketail.x+=1;

if

((corner_count>0)&&(snaketail.x==snakecorner[corner_count-1].x ))

{

cur_tail_direct=corner_direct[corner_count-1];

corner_count--;

}

}

}

if(snake_add>0)

snake_add--;

//画蛇

SetPenColor(pdc,whitecolor);

MoveTo(pdc,oldtail.x*10+20,oldtail.y*10+20);

LineTo(pdc,snaketail.x*10+20,snaketail.y*10+20);

SetPenColor(pdc,zicolor);

课程设计格式要求

XX大学 《XX》课程设计 题目 姓名 学科专业 指导教师 所在学院 论文提交日期

一、论文的主要结构和排列顺序 学位论文一般应由七个部分组成,排列顺序为: (一)封面 (二)中文摘要 (三)英文摘要 (四)目录 (五)主体部分 (六)参考文献 (七)附录 二、论文的书写规范与打印要求 2.1字体和字号 论文题目:二号黑体,居中 各章标题:小二号黑体,居中 各节一级标题:小三号黑体,居左 各节二级标题:四号黑体,居左 各节三级标题:小四号黑体,居左 条、款、项标题:小四号黑体,居左 正文:小四号宋体 页眉:五号宋体,居中 页码:五号宋体,居中 数字和字母: Times New Roman体 2.2 页面设置 2.2.1 页边距及行距 设计说明书的页面边距上下左右各为25mm 正文为1.5倍行距,段前、段后无空行(即空0行)

2.2.2 页眉页脚 页眉标注从论文主体部分(绪论、正文、结论)开始,标注“北京师范大学珠海分校不动产学院”。页眉的上边距为15mm,在版心上边线加一行1.5磅粗的实线,其上居中打印页眉;页脚的下边距为15mm。 2.2.3 页码 论文页码从主体部分(绪论、正文、结论)开始,直至“参考文献、附录”结束,用五号阿拉伯数字编连续码,页码位于页脚居中。 2.3 公式 居中书写。 公式序号按章编排,如第一章第一个公式序号为“(1-1)”。 文中引用公式时,一般用“见式(1-1)”或“由公式(1-1)”。 2.4 图题 每个图均应有图题(由图号和图名组成)。图号按章编排,如第一章第一图的图号为“图1-1”等。图题置于图下,有图注或其他说明时应置于图题之上。图名在图号之后空一格排写。引用图应说明出处,在图题右上角加引用文献号。图中若有分图时,分图号用a)、b)等置于分图之下。 2.5 表 表格不加左、右边线。 表序一般按章编排,如第一章第一个插表的序号为“表1-1”等。表序与表名之间应空一格,表名中不允许使用标点符号,表名后不加标点。表序与表名置于表上。 表头设计应简单明了,尽量不用斜线。 全表如用同一单位,将单位符号移至表头右上角,加圆括号。

三种常用的嵌入式操作系统分析与比较

三种常用的嵌入式操作系统分析与比较 摘要:提要三种常用的嵌入式操作系统——Palm OS、Windows CE、Linux;在此基础上、分析、比较这三种嵌入式操作系统,给出它们之间的异同点及各自的适用范围。 1 嵌入式系统与嵌入式操作系统 1.1 嵌入式系统 嵌入式系统是以嵌入式计算机为技术核心,面向用户、面向产品、面向应用,软硬件可裁减的,适用于对功能、可靠性、成本、体积、功耗等综合性能有严格要求的专用计算机系统。 嵌入式系统应具有的特点是:高可靠性;在恶劣的环境或突然断电的情况下,系统仍然能够正常工作;许多嵌入式应用要求实时性,这就要求嵌入式操作系统具有实时处理能力;嵌入式系统和具体应用有机地结合在一起,它的升级换代也是具体产品同步进行;嵌入式系统中的软件代码要求高质量、高可靠性,一般都固化在只读存储器中或闪存中,也就是说软件要求固态化存储,而不是存储在磁盘等载体中。 1.2 嵌入式操作系统 嵌入式操作系统EOS (Embedded Operating System)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。EOS负责嵌入系统的全部软、硬件资源的分配、调度作,控制、协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前,已推出一些应用比较成功的EOS产品系列。随着Internet技术的发展、信息家电的普及应用及EOS的微型化和专业化,EOS开始从单一的弱功能向高专业化的强功能方向发展。嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固化以及应用的专用性等方面具有较为突出的特点。EOS是相对于一般操作系统而方的,它除具备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件处理等外,还有以下特点: ①可装卸性。开放性、可伸缩性的体系结构。 ②强实时性。EOS实时性一般较强,可用于各种设备控制当中。 ③统一的接口。提供各种设备驱动接口。

课程设计论文格式要求

课程设计(论文)书写规范与打印要求 (一)论文书写 论文(设计说明书)要求统一使用Microsoft Word软件进行文字处理,统一采用A4页面(210×297㎜)复印纸,单面打印。其中上边距30㎜、下边距30㎜、左边距30㎜、右边距20㎜、页眉15㎜、页脚15㎜。字间距为标准,行间距为固定值22磅。 页眉内容统一为“沈阳理工大学学士学位论文”,采用宋体五号字居中排写。 页码在下边线下居中放置,Times New Roman小五号字体。摘要、关键词、目录等文前部分的页码用罗马数字(Ⅰ、Ⅱ……)编排,正文以后的页码用阿拉伯数字(1、2……)编排。字体和字号要求 论文题目:二号黑体 章标题:三号黑体(1□□×××××) 节标题:四号黑体(1.1□□××××) 条标题:小四号黑体(1.1.1□□×××) 正文:小四号宋体 页码:小五号宋体 数字和字母:Times New Roman体 注:论文装订方式统一规定为左装订。 (二)论文前置部分 包括:封面、答辩成绩评定页、评阅意见页、任务书、设计档案页均按学校统一内容和格式填写。 (三)摘要 摘要是学位论文内容的不加注释和评论的简短陈述,说明研究工作的目的、实验方法、实验结果和最终结论等。应是一篇完整的短文,可以独立使用和引用,摘要中一般不用图表、化学结构式和非公知公用的符号和术语。 1、中文摘要(300字左右) “摘要”字样(三号黑体),字间空一个字符,“摘要”二字下空一行打印摘要正文(小四号宋体)。 摘要正文后下空一行打印“关键词”三字(小四号黑体),其后为关键词(小四号宋体),关键词是为了便于文献标引从该学位论文中选取出来用以表示全文主题内容信息款目的单词或术语,关键词一般为3~5个,每一关键词之间用分号“;”隔开,最后一个关键词后不打标点符号。 2、英文摘要(250个实词左右) 英文摘要另起一页,其内容及关键词应与中文摘要一致,并要符合英语语法,语句通顺,文字流畅。 英文和汉语拼音一律为Times New Roman体,字号与中文摘要相同。 (四)目次页 目次页由学位论文的章、条、款、致谢、参考文献、附录等的序号、名称和页码组成,目次页置于外文摘要后,由另页开始。 目录题头用三号黑体字居中排写,隔行书写目录内容。 目录采用三级标题,按(1 ……、1.1 ……、1.1.1 ……)的格式编写,目录中各章题序的阿拉伯数字用Times New Roman体,第一级标题用小四号黑体,其余用小四号宋体。(五)论文的主要部分 1、引言(或绪论) 引言(或绪论)简要说明研究工作的目的、范围、前人的工作和知识空白、理论基础和分析、

浅谈操作系统(操作系统论文)

浅谈操作系统 摘要 随着科学技术的不断发展与创新,计算机得到了广泛的普及和应用,同时计算机的操作系统也在不断的发展和完善当中。21世纪是信息的时代,最重要的体现就是计算机技术的广泛应用及发展,操作系统作为计算机系统的基础是管理计算机软硬件资源、控制程序运行、改善人机界面和为应用软件提供支持的一种系统,本文主要是通过对操作系统及其发展情况来进行分析,了解计算机操作系统发展的基本情况,阐述未来操作系统的发展趋势,从而促进计算机技术的不断的进步。 关键词:计算机;操作系统;发展; 一、计算机操作系统的发展史 操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。操作系统所处位置作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。 原始的操作系统主要是从批次模式开始,然后逐渐的发展到分时机制的模式,后来由于多处理器时代的到来,整个操作系统也逐渐有多处理器的协调功能,继而出现了分布式的系统。操作系统主要发展可分为四个阶段:纯手工操作阶段、批次处理阶段、多道程序系统阶

段及现代操作系统阶段。整个系统的发展主要面临着技术上的难题,主要体现的是计算机硬件技术的发展限制了软件的发展和操作系统的不稳定性。 二、计算机中常用的操作系统 计算机操作系统作为计算机系统的基础是管理电脑软硬件系统的程序。计算机系统的种类多,经常是通过应用领域来划分的,其中应用程序主要是包括桌面、服务器、主机以及嵌入几个应用领域的操作系统。常用的操作系统分类如下。 1.Windows系统 Windows系统作为计算机内较为常见的操作系统,在人们的日常生活和学习中都应用的较为普遍,Windows系统作为现代最为流行的操作系统,其在技术方面也是非常成熟的。目前最新版本的Windows 操作系统为Windows10。 2.UNIX系统 UNIX系统有自身较为统一的实施标准和认证规范,并且利用该规范,还可以对UNXI系统进行程序的移植,并且促进了UNIX的发展及应用程序的开发,UNXI已经开始作为大型机器、网络服务器及工作中的主流操作系统,并且其自身的发展还在一定的程度上推动了Linux等开源UNIX类操作系统的发展。 3.Linux系统 Linux系统是在UNIX的基础上进行发展的,其开源模式的软件环境极其价值越来越受到社会,并且其软件的运行环境及其价值越来

嵌入式系统期末考试题库及答案

嵌入式系统期末考试题库及答案 《嵌入式系统》试题库 《嵌入式系统》试题库 一、填空题 1、嵌入式系统的基本定义为:以应用中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 2、从模块结构来看,嵌入式系统由三大部分组成,分别是:硬件、软件和开发平台。 3、从层次角度来看,嵌入式系统由四大部分组成,分别是:应用软件层、操作系统层、板级支持包(或硬件抽象层)和硬件层。 4、嵌入式产品的主要度量指标包括:上市时间、设计成本和产品质量。 5、嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统集成和系统测试。 6、需求分析包括:功能性需求分析和非功能性需求分析。 7、确定输入信号是数字信号还是模拟信号属于功能性需求。 8、确定系统的物理尺寸和重量属于非功能性需求。 9、在嵌入式系统的设计过程中,其中规格说明解决“做什么”。 10、在嵌入式系统的设计过程中,其中体系结构设计解决“如何做”。 11、在嵌入式系统的设计过程中,软硬件划分应该在体系结构设计阶段完成。12、在嵌入式系统的设计过程中,处理器的选择应该在体系结构设计阶段完成。13、在嵌入式系统的设计过程中,嵌入式操作系统的选择应该在体系结构设计阶段完成。14、在嵌入式系统的设计过程中,完成原理图设计应在构件设计阶段完成。15、在嵌入式系统的设计过程中,完成版图设计应在构件设计阶段完成。16、在嵌入式系统的设计过程中,完成软件设计应在构件设计阶段完成。 17、反映嵌入式系统设计人员的水平能力主要在于总体设计(需

求分析、规格说明和体系结构设计)和系统调试。 18、设计流程指的是设计过程中所经历的过程步骤。 19、设计重用技术主要分为基于IP 核的模块级重用和基于平台的系统级重用。20、软硬件协同设计由系统描述、软硬件划分、软硬件协同综合以及软硬件协同模拟与验证几个阶段组成。 21、嵌入式处理器的分类包括三种,分别是:嵌入式微处理器、微控制器(或单片机)和 第1 页共44 页 1 《嵌入式系统》试题库 数字信号处理器(DSP)。 22、列举常见的ARM 系列处理器:ARM7 系列、ARM9 系列、ARM11 系列、Cortex-M 系列、Cortex-R 系列、Cortex-A 系列等。 23、ARM 系列微处理器支持的数据类型有:字节、半字和字等三种类型。24、ARM 系列微处理器支持的字数据存储格式有:大端格式和小端格式。25、ARM 系列处理器通过执行BX 或者BLX 指令来实现工作状态的切换。26、列举常见的存储器类型:SRAM、DRAM、Flash、EEPROM 等。27、对于RAM 存储器主要有两种,分别是:SRAM 和DRAM。 28、在时钟信号边沿到来之前的一段时间内,数据信号必须保持稳定,这段时间称为器件的建立时间;在时钟信号边沿到来之后的一段时间内,数据信号必须保持稳定,这段时间称为器件的保持时间。 29、总线是在多于两个模块(设备、子系统)之间传送信息的公共通路。30、总线的功能是信息共享和交换。 31、总线由传输信息的物理介质和管理信息传输的协议组成。 32、挂接在总线上的设备依据启动总线事务的能力可以分为主设备和从设备。33、总线协议依据同步方式可分为同步时序协议和异步时序协议。34、总线仲裁方式可分为集中式仲裁和分布式仲裁。

课程设计报告模板)

课程设计报告模板()

————————————————————————————————作者: ————————————————————————————————日期: ?

课程设计(论文)任务书 软件学院软件+电商专业09级(2)班 一、课程设计(论文)题目基本模型机设计与实现 二、课程设计(论文)工作自2011年6月 20 日起至2011年 6月 24日止。 三、课程设计(论文) 地点:计算机组成原理实验室(5#301) 四、课程设计(论文)内容要求: 1.课程设计的目的 通过课程设计的综合训练,在掌握部件单元电路实验的基础上,进一步掌握整机 概念。培养学生实际分析问题、解决问题和动手能力,最终目标是想通过课程设计的形式,帮助学生系统掌握该门课程的主要内容,更好地完成教学任务。 2.课程设计的任务及要求 1)基本要求? (1)课程设计前必须根据课程设计题目认真查阅资料; (2)实验前准备好实验程序及调试时所需的输入数据; (3)实验独立认真完成; (4)对实验结果认真记录,并进行总结和讨论。 2)课程设计论文编写要求 (1)按照书稿的规格撰写打印课设论文 (2)论文包括目录、绪论、正文、小结、参考文献、附录等 (3)正文中要有问题描述、实验原理、设计思路、实验步骤、调试过程与遇到问题的解决方法、总结和讨论等 (4)课设论文装订按学校的统一要求完成 3)课设考核 从以下几方面来考查:

(1)出勤情况和课设态度; (2)设计思路; (3)代码实现; (4)动手调试能力; (5)论文的层次性、条理性、格式的规范性。 4)参考文献 [1]王爱英.计算机组成与结构[M]. 北京:清华大学出版社, 2007. [2] 王爱英. 计算机组成与结构习题详解与实验指导[M]. 北京:清华大学出版社, 2007. 5)课程设计进度安排 内容天数地点 构思及收集资料1图书馆 实验与调试 3 实验室 撰写论文 1 图书馆 6)任务及具体要求 设计实现一个简单的模型机,该模型机包含若干条简单的计算机指令,其中至少包括输入、输出指令,存储器读写指令,寄存器访问指令,运算指令,程序控制指令。学生须根据要求自行设计出这些机器指令对应的微指令代码,并将其存放于控制存储器,并利用机器指令设计一段简单机器指令程序。将实验设备通过串口连接计算机,通过联机软件将机器指令程序和编写的微指令程序存入主存中,并运行此段程序,通过联机软件显示和观察该段程序的运行,验证编写的指令和微指令的执行情况是否符 合设计要求,并对程序运行结果的正、误分析其原因。 学生签名: 亲笔签名 2011年6月20 日 课程设计(论文)评审意见 (1)设计思路:优( )、良()、中( )、一般()、差( ); (2)代码实现:优()、良()、中()、一般()、差();

常见的嵌入式操作系统

常见的嵌入式操作系统 分类:嵌入式操作系统2012-12-11 10:06 459人阅读评论(1) 收藏举报嵌入式操作系统 嵌入式操作系统与通用的操作相比较主要特点在于: 1.小内核,稳定可靠。 2.需要可装卸、可裁剪,以便能灵活应对各种不同的硬件平台。 3.面向应用,强实时性,可用于各种设备控制当中。 国际上常见的嵌入式操作系统大约有40种左,右如:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive 。他们基本可以分为两类,一类是面向控制、通信等领域的实时操作系统,如windriver公司的vxworks、isi的psos、qnx系统软件公司的qnx、ati的nucleus等;另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理(pda)、移动电话、机顶盒、电子书、webphone等,系统有Microsoft的WinCE,3Com 的Palm,以及Symbian和Google的Android等。 一、VxWorks VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是T ornado嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌人式实时操作系统领域逐渐占据一席之地。VxWorks具有可裁剪微内核结构;高效的任务管理;灵活的任务间通讯;微秒级的中断处理;支持POSIX 1003.1b实时扩展标准;支持多种物理介质及标准的、完整的TCP/IP网络协议等。 然而其价格昂贵。由于操作系统本身以及开发环境都是专有的,价格一般都比较高,通常需花费10万元人民币以上才能建起一个可用的开发环境,对每一个应用一般还要另外收取版税。一般不通供源代码,只提供二进制代码。由于它们都是专用操作系统,需要专门的技术人员掌握开发技术和维护,所以软件的开发和维护成本都非常高。支持的硬件数量有限。 二、Windows CE Windows CE与Windows系列有较好的兼容性,无疑是Windows CE推广的一大优势。其中WinCE3.0是一种针对小容量、移动式、智能化、32位、了解设备的模块化实时嵌人式操

浅谈我对计算机操作系统的认识

浅谈我对计算机操作系统的认识 朱雪松 L11214018 信息管理与信息系统 计算机的发展将趋向超高速、超小型、并行处理和智能化。自从1944年世界上第一台电子计算机诞生以来,计算机技术迅猛发展,传统计算机的性能受到挑战,开始从基本原理上寻找计算机发展的突破口,新型计算机的研发应运而生。未来量子、光子和分子计算机将具有感知、思考、判断、学习以及一定的自然语言能力,使计算机进人人工智能时代。这种新型计算机将推动新一轮计算技术革命,对人类社会的发展产生深远的影响。 一.什么是操作系统 操作系统(英语:Operating System,简称OS)是一管理电脑硬件与电脑软件资源的程序,同时也是计算机系统的核心与基石。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网上与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作接口。 操作系统的型态非常多样,不同机器安装的操作系统可从简单到复杂,可从手机的嵌入式系统到超级电脑的大型操作系统。许多操作系统制造者对它涵盖范畴的定义也不尽一致,例如有些操作系统集成了图形化用户界面,而有些仅使用文字接口,而将图形接口视为一种非必要的应用程序. 二.操作系统的历史 (一)无操作系统的计算机系统 1.人工操作方式 从第一台计算机诞生(1945年)到20世纪50年代中期的计算机,属于第一代计算机,这一时期的计算机操作采用人工操作的方式直接使用计算机硬件系统,这种方式的主要特征是用户独占主机,CPU等待人工操作。可见这种方式严重降低了计算机资源的利用率,造成了人机矛盾。 2.脱机输入/输出方式 为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾,20世纪50年代末出现了这种技术。该技术是事先将装有用户程序和数据的纸带装入纸带输入机,在一台外围机的控制下,把纸带上的数据输入磁带上。当CPU需要这些程序和数据时,再从磁带上将其高速的调入内存。 (二)单道批处理系统和多道批处理系统 1.单道批处理系统的处理过程及特征 上个世纪50年代中期发明了晶体管,为了充分利用晶体管,减少空闲时间,于是就出现了单道批处理,其自动处理过程是:首先,由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业。当该作业处理完时,把控制权还给监督程序,再由监督程序把磁盘上的第二个作业调入内存。其主要特征为自动,顺序,单道。其主要矛盾为主机和外设的矛盾。

嵌入式系统期末考试试卷 习题

1.下面哪一种工作模式不属于ARM特权模式(A)。 A.用户模式B.系统模式C.软中断模式D.FIQ模式 2.ARM7TDMI的工作状态包括( D )。 A.测试状态和运行状态B.挂起状态和就绪状态 C.就绪状态和运行状态D.ARM状态和Thumb状态 3.下面哪个Linux操作系统是嵌入式操作系统( B )。 A.Red-hat Linux B.uclinux C.Ubuntu Linux D.SUSE Linux 4.使用Host-Target联合开发嵌入式应用,( B )不是必须的。 A.宿主机B.银河麒麟操作系统 C.目标机D.交叉编译器 5.下面哪个不属于Linux下的一个进程在内存里的三部分的数据之一(A)。 A.寄存器段B.代码段 C.堆栈段D.数据段 选择题(共5小题,每题2分,共10分) 1.下面哪个系统属于嵌入式系统( D )。 A.“天河一号”计算机系统B.IBMX200笔记本电脑 C.联想S10上网本D.Iphone手机 2.在Makefile中的命令必须要以(A)键开始。 A.Tab键B.#号键 C.空格键D.&键 3.Linux支持多种文件系统,下面哪种不属于Linux的文件系统格式( B )。 A.Ext B.FA T32 C.NFS D.Ext3 4.下面哪种不属于VI三种工作模式之一( D )。 A.命令行模式B.插入模式 C.底行模式D.工作模式 5.下面哪一项不属于Linux内核的配置系统的三个组成部分之一( C )。 A.Makefile B.配置文件(config.in) C.make menuconfig D.配置工具 1.人们生活中常用的嵌入式设备有哪些?列举4个以上(1) 手机,(2) 机顶盒,(3) MP3,(4) GPS。(交换机、打印机、投影仪、无线路由器、车载媒体、PDA、GPS、智能家电等等。) 2.ARM9处理器使用了五级流水线,五级流水具体指哪五级:(5) 取指,(6) 译码,(7) 执行,(8) 缓冲/数据,(9) 回写。 3.在Makefile中的命令必须要以(10) Tab 键开始。 4.Linux支持多种文件系统,主要包括哪些(写出其中4中就行)(11) Ext,(12) VFA T,(13) JFS,(14) NFS。(JFS、ReiserFS、Ext、Ext2、Ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等) 5.VI的工作模式有哪三种:(15) 命令行模式,(16) 插入模式,(17) 底行模式。

基于Linux嵌入式操作系统的研究

基于Linux 嵌入式操作系统的研究 李红卫1,潘瑜1,王树亮2,薛小锋1 (1.江苏技术师范学院计算机科学与工程学院,江苏常州213001; 2.江苏技术师范学院图书馆,江苏常州213001) 摘要:从Linux内核实时性、实时调度策略以及时钟细粒度定时器三个方面,对Linux嵌入式实时化技术进行了探讨。在内核中插入抢占点或采用双内核系统,改善Linux的实时性能;通过动态优先级提高实时任务的调度性能;通过增加时钟中断频率或采用实时时钟一次性模式,实现时钟细粒度。 关键词:Linux;嵌入式系统;实时性;进程调度 中图分类号:TP316.2文献标识码:A 0引言 嵌入式系统是集软硬件于一体可独立工作的计算机系统,它通常是更大系统中一个完整的部分[1]。 在早期的嵌入式系统设计中一般不包含操作系统,但当系统越来越复杂、应用范围越来越广泛时,没有操作系统已成为系统开发的最大障碍;因此,在嵌入式系统的发展中,出现了各种各样的商用嵌入式操作系统。嵌入式操作系统的出现改变了以往嵌入式软件设计只能针对具体的应用从头做起,使嵌入式系统的开发方法更具科学性;同时,采用嵌入式操作系统提高了系统的开发效率,减少了开发的工作量,增强了软件的可移植性。操作系统成为嵌入式系统的核心,是一个时代的特征,也是嵌入式系统从简单的单片机、微处理器走向愈来愈复杂的嵌入式SOC和CPU的自然体现[2]。开源Linux操作系统的出现,给嵌入式操作系统的发展带来生机,将Linux应用于嵌入式系统开发环境中已十分广泛;但就目前而言,嵌入式Linux的研究成果与市场的真正需求仍有一段差距,还需要在嵌入式Linux系统的实时性、进程调度等方面对其进行不断的改进和完善。 1改造Linux为嵌入式操作系统的分析 实时系统最重要的特征是实时性,实时性是指系统对外部事件的响应和处理要在一个给定的时间内 完成,即计算必须在到达死线(deadline)前完成[1]。根据丢失死线的容忍程度可将实时系统分为硬实时系 统和软实时系统:硬实时系统必须保证任务在到达死线之前完成,丢失死线将会引发灾难;软实时系统能保证任务在死线之前完成,但死线的丢失并不会带来致命的错误。 在大多数嵌入式系统应用中往往要求系统具有实时性。虽然Linux是一个分时操作系统,但其符合POSIX1003.1b关于实时扩展部分的标准,尤其Linux2.6的推出给嵌入式系统以及实时系统的应用带来生机。将Linux改造为嵌入式实时操作系统具有(1)Linux功能强大、(2)开放源码、(3)支持多种硬件平台、(4) 收稿日期:2006-02-21;修回日期:2006-04-03 基金项目:江苏技术师范学院科研基金资助项目(KYY04001) 作者简介:李红卫(1966-),男,山西阳城人,江苏技术师范学院计算机科学与工程学院副教授。 JOURNALOFJIANGSUTEACHERSUNIVERSITYOFTECHNOLOGY江苏技术师范学院学报 Apr.,Vol.12,No.22006 2006年4月第12卷第2期

课程设计(论文)撰写格式

附件十二: 课程设计(论文)撰写格式 一、基本要求 1、每位学生选题应有所区别,不得几位学生选同一题目; 2、写作应注意主题明确、结构合理、语音流畅; 3、内容较为新颖,不得抄袭,需要引用时,应注明引文出处; 4、排版整齐,插图清晰准确,全文篇幅恰当,字数在3000~6000之间。 5、毕业设计(论文)严格按照本文规定格式撰写。 6、毕业设计(论文)做的过程中,应尽量采用计算机软件绘图,对于手工绘图须进行扫描后插入文档中。 二、排版要求 毕业设计(论文)的组成 按书写先后顺序分别为:目录、题目、作者姓名、指导教师姓名、中文摘要及关键词、正文、致谢、参考文献、附录。 1.目录:单独占页,需自动生成的。小四号楷体,一级标题加粗。 2.题目:不得超过20个字,要简练、准确,可分为两行;用三号黑体,居中。 3.作者姓名、指导教师姓名:各另起一行,用四号楷体,居中。 4.摘要及关键词 摘要是整篇文档的简要陈述,应尽量反映文档的主要信息,内容包括研究目的、方法、成果和结论,不含图表,不加注释,具有独立性和完整性。摘要一般为150字左右。 关键词是反映主题内容的名词,是供检索使用的。主题词条应为通用技术词汇,不得自造关键词。关键词一般为3~5个,排在摘要部分下方。 5.正文 正文部分包括:绪论(或引言、前言、序言)、主体及结束语。 (1)绪论是综合评述前人工作,说明文章的选题目的和意义,以及文章所要说明或研究的内容。 (2)主体是主要组成部分,要求层次清楚,文字简练,通顺,重点突出。 (3)标题统一采用以下格式:

三个级别的标题的段前段后均设置0.5行。 (4)正文内容使用小四号宋体字,行间距设为1.5倍,首行缩进两个字符,段前段后设为0。英文用小四号Times New Roman字体。 (5)结束语是整个文章的总结,应以简练的文字说明毕业设计(论文)所做的工作,对毕业设计(论文)进行分析和讨论,一般不超过两页,作为单独一级排列。 (6)图表 所有图表要求版式为“嵌入式”,居中。表的表头应写在表的上面,五号宋体,居中;图的图题应写在图的下面,五号宋体,居中。表头、图题的编号格式,如:表1-1(表示第1章里的第一张表),表1-2,表2-1……;图1-1(表示第1章里的第一张图),图1-2,图2-1…... 6.致谢:内容是对指导过自己毕业设计(论文)的老师或帮助过自己的同学表示感谢。 7.参考文献 为了反映毕业设计(论文)的科学依据和作者尊重他人研究成果的严肃态度,同时向读者提供有关信息的出处,正文之后一般应刊出主要参考文献。列出的只限于那些作者亲自阅读过的,最重要的且发表在公开出版物上的文献或网上下载的资料。正文中被引用的参考文献序号置于所引用部分的右上角如******1。 参考文献表上的著作按正文中引用顺序排列,书写格式严格按以下顺序:序号、作者姓名、书名(或文章名)、出版社(或期刊名)、出版或发表时间、版次。 8.打印版面设置 (1)打印纸张规格:A4 (2)页边距:上:2.5厘米;下:2.5厘米;左:2.8厘米;右:2.8厘米;页眉:1.8厘米;页脚1.8厘米。 (3)页码:目录不编页码,从正文开始插入页码居中。 (4)页眉:页眉部分奇数页使用“浙江汽车职业技术学院毕业(设计)论文”,用小五号宋体,居中。 9.使用软件:Microsoft Word 2000以上版本。 10.附录 另起一页。附录的内容一般包括完成设计(论文)过程中所用的调查问卷、实验报告、符号说明(含缩写)、工程图等“附”“录”中间空两格、四号字、黑体、居中。 三、其他要求 1.文字

浅谈嵌入式系统的现状及发展前景

课程考核论文 课程名称信息学导论 学生姓名曾文静 学号1141304067 系、专业信息工程系电子科学与技术专业 2013年6 月15 日 浅谈嵌入式系统的现状及发展前景 摘要:从嵌入式系统的含义、特点、开发平台及其工业特征出发 ,深入阐述了嵌入式计算机技术的发展现状 ,展望了嵌入式系统产业在我国的广阔发展前景景。 1. 嵌入式系统的发展趋势及典型应用产品 在现在日益信息化的社会中,计算机和网络已经全面渗透到日常生活的每一个角落。对于我们每个人,需要的已经不再仅仅是那种放在桌上处理文档,进行工作管理和生产控制的计算机"机器";各种各样的新型嵌入式系统设备在应用数量上已经远远超过通用计算机,任何一个普通人可能拥有从大到小的各种使用嵌入式技术的电子产品,小到mp3,PDA等微型数字化产品,大到网络家电,智能家电,车载电子设备。而在工业和服务领域中,使用嵌入式技术的数字机床,智能工具,工业机器人,服务机器人也将逐渐改变传统的工业和服务方式。近几年,嵌入式系统产品日臻完善,并在全世界各行业得到广泛应用。嵌入式系统产品的研制和应用已经成为我国信息化带动工业化、工业化促进信息化发展的新的国民经济增长点。随着信息化、智能化、网络化的发展,嵌入式技术将全面展开,现在嵌入式已经成为通信和消费类产品的共同发展方向。总体来说,嵌入式系统分别在硬件和软件方面获得发展。嵌入式系统必将成为当今IT界的又一焦点,开发自主知识产权的嵌入式处理器和嵌入式操作系统,对于我们国家的民族IT产业来讲具有十分重要的战略意义。从国内IT市场来看,嵌入式系统及其产品在由家电产品和Internet衍生出来的新型市场中占有主导地位和独特份额。 在消费家电的智能化的今天,嵌入式更显重要。像我们平常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3Player、数字相机(DC)、数字摄像机(DV)、U-Disk 、机顶盒(Set Top Box)、高清电视(HDTV )、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等,都是典型的嵌入式系统。据预测,随着Internet的迅速发展和廉价微处理器的出现,嵌入式系统将在日常生活里形成更大的应用领域。 例如,行车称重无线遥测调度系统:由贵溪冶炼厂和北京市自动化系统成套工程公司合作开发,用在贵溪冶炼车间。具体要求为系统前端由安装在行车上的行车工作站(3台)构成,行车工作站将行车称重信号转换成数字信号,并将采集的数字信号经处理后,通过无线电台传送给地面接收电台,接收电台将信号传输给地面工作站,地面工作站将接收到的信号进行归纳处理、监视,通过双绞线传送给闪速炉、阳极炉操作室显示,通过以太网传送给5台转炉操作并显示,传送给车间办公室终端,车间办公室进行最终的数据归纳、生成报表并打印。其中行车工作站主要采用PC/104数据采集卡和研华公司3.5英寸饼干PC机PCM-4,该机主板上带有Load bus IDE,VGA/LCD口,2个串口,1个并口和软驱接口,并附16M电子硬盘,体积小巧却达到了486级工业PC的配置水平。显示屏采用EL致发光屏(带触摸屏),通过RS232接口与调制解调器及数据传输电台相连。行车工作站采用Windows32操作系统和组态王2.0版软件,实现数据采集、输入行车运行状态、参数计算、显示功能,并在该软件基础上开发

LInux 嵌入式操作系统期末试题

1.简答题:请简单概括什么是嵌入式系统、并举出嵌入式系统的特点;(6分) 答: 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可剪裁,适用于应用系统,对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统; 其特点如下: (1)嵌入式系统是面向特定系统应用的。 (2)嵌入式系统涉及计算机技术、微电子技术、电子技术、通信和软件等各个行业; 是一个技术密集、资金密集、高度分散、不断创新的知识集成系统; (3)嵌入式系统的硬件和软件都必须具有高度可定制性;只有这样才能适应嵌入式系 统应用的需要,在产品价格和性能方面具备竞争力; (4)嵌入式系统的生命周期相当长。 (5)嵌入式系统不具备本地系统开发能力,通常需要有一套专门的开发工具和环境。 2.嵌入式操作系统的优势:1.低成本开发系统 2.可应用多种硬件平台 3.可定制内核 4. 性能优异 5.良好的网络支持 3.linux文件类型:1.普通文件 2.目录文件 3.链接文件 4.设备文件 a.块设备文件(硬 盘:/dev/hda1)b.字符设备(串行端口接口设备) 4.linux文件属性:访问权限:r:可读w:可写x:可执行用户级别:u:文件拥有者g:所 属用户组 o:其他用户第一个字符显示文件类型:-普通d目录 l 链接… 5.简答题:(6分) linux目录结构:/bin 存放linux常用操作命令的执行文件(二进制文件) /boot 操作系统启动时所需要的程序 /dev Linux系统中使用的外部设备 /etc 系统管理时所需要的各种配置文件和子目录 /etc/rc.d Linux启动和关闭时要用到的脚本 /etc/rc.d/init Linux默认服务的启动脚本 /home 系统中默认用户工作根目录 /lib 存放系统动态链接共享库 /mnt软驱、光驱、硬盘的挂载点 /proc存放系统核心与执行程序所需信息、 /root超级用户登陆时的主目录 /sbin 存放管理员常用系统管理程序 /usr存放用户应用程序和文件 /var存放日志信息(答六点即可) 6.编写一个shell文件:创建studen01 –student30这30个用户,用户组为class1,之 后编写shell文件,删除所有用户

课程设计报告【模板】

模拟电子技术课程设计报告设计题目:直流稳压电源设计 专业电子信息科学与技术 班级电信092 学号 200916022230 学生姓名夏惜 指导教师王瑞 设计时间2010-2011学年上学期 教师评分 2010年月日

昆明理工大学津桥学院模拟电子技术课程设计 目录 1.概述 (2) 1.1直流稳压电源设计目的 (2) 1.2课程设计的组成部分 (2) 2.直流稳压电源设计的内容 (4) 2.1变压电路设计 (4) 2.2整流电路设计 (4) 2.3滤波电路设计 (8) 2.4稳压电路设计 (9) 2.5总电路设计 (10) 3.总结 (12) 3.1所遇到的问题,你是怎样解决这些问题的12 3.3体会收获及建议 (12) 3.4参考资料(书、论文、网络资料) (13) 4.教师评语 (13) 5.成绩 (13)

昆明理工大学津桥学院模拟电子技术课程设计 1.概述 电源是各种电子、电器设备工作的动力,是自动化不可或缺的组成部分,直流稳压电源是应用极为广泛的一种电源。直流稳压电源是常用的电子设备,它能保证在电网电压波动或负载发生变化时,输出稳定的电压。一个低纹波、高精度的稳压源在仪器仪表、工业控制及测量领域中有着重要的实际应用价值。 直流稳压电源通常由变压器、整流电路、滤波电路、稳压控制电路所组成,具有体积小,重量轻,性能稳定可等优点,电压从零起连续可调,可串联或关联使用,直流输出纹波小,稳定度高,稳压稳流自动转换、限流式过短路保护和自动恢复功能,是大专院校、工业企业、科研单位及电子维修人员理想的直流稳压电源。适用于电子仪器设备、电器维修、实验室、电解电镀、测试、测量设备、工厂电器设备配套使用。几乎所有的电子设备都需要有稳压的电压供给,才能使其处于良好的工作状态。家用电器中的电视机、音响、电脑尤其是这样。电网电压时高时低,电子设备本身耗供电造成不稳定因家。解决这个不稳定因素的办法是在电子设备的前端进行稳压。 直流稳压电源广泛应用于国防、科研、大专院校、实验室、工矿企业、电解、电镀、充电设备等的直流供电。 1.1直流稳压电源设计目的 (1)、学习直流稳压电源的设计方法; (2)、研究直流稳压电源的设计方案; (3)、掌握直流稳压电源的稳压系数和内阻测试方法。 1.2课程设计的组成部分 1.2.1 设计原理

五大适合STM32的嵌入式操作系统

五大适合STM32的嵌入式操作系统 基于STM平台且满足实时控制要求操作系统,有以下5种可供移植选择。分别为μClinux、μC/OS-II、eCos、FreeRTOS和都江堰操作系统(djyos)。下面分别介绍这五种嵌入式操作系统的特点及不足。1、μClinuxμClinux是一种优秀的嵌入式Linux版本,其全称为micro-control Linux,从字面意思看是指微控制Linux。同标准的Linux相比, μClinux的内核非常小,但是它仍然继承了Linux操作系统的主要特性,包括良好的稳定性和移植性、强大的网络功能、出色的文件系统支持、标准丰富的API,以及TCP/IP网络协议等。因为没有MMU内存管理单元,所以其多任务的实现需要一定技巧。 μClinux在结构上继承了标准Linux的多任务实现方式,分为实时进程和普通进程,分别采用先来先服务和时间片轮转调度,仅针对中低档嵌入式CPU特点进行改良,且不支持内核抢占,实时性一般。 在内存管理上由于μClinux是针对没有MMU的处理器设计的,不能使用处理器的虚拟内存管理技术,只能采用实存储器管理策略。系统使用分页内存分配方式,在启动时对实际存储器进行分页。系统对内存的访问是直接的,操作系统对内存空间没有保护,多个进程可共享一个运行空间,所以,

即使是一个无特权进程调用一个无效指针也会触发一个地 址错误,并有可能引起程序崩溃甚至系统崩溃。 μClinux操作系统的中断管理是将中断处理分为两部分:顶半处理和底半处理。在顶半处理中,必须关中断运行,且仅进行必要的、非常少、速度快的处理,其他处理交给底半处理;底半处理执行那些复杂、耗时的处理,而且接受中断。因为系统中存在有许多中断的底半处理,所以会引起系统中断处理的延时。 μClinux对文件系统支持良好,由于μClinux继承了Linux完善的文件系统性能,它支持ROMFS、NFS、ext2、MS-DOS、JFFS等文件系统。但一般采用ROMFS文件系统,这种文件系统相对于一般的文件系统(如ext2)占用更少的空间。但是ROMFS文件系统不支持动态擦写保存,对于系统需要动态保存的数据须采用虚拟RAM盘/JFFS的方法进行处理。在对硬件的支持上,由于μClinux继承了Linux的大部分性能,所以至少需要512KB的RAM空间,lMB的ROM/Flash 空间。 在μClinux的移植方面,。μClinux是Linux针对嵌入式系统的一种改良,其结构比较复杂。移植μClinux,目标处理器除了需要修改与处理器相关的代码外,还需要足够容量的外部ROM和RAM。 综上可知,μClinux最大特点在于针对无MMU处理器设计,

数据库课程设计格式要求

电气与信息工程学院 《数据库开发技术》课程设计 (宋体小四号空九行) 设计题目: 年级专业: 组长: 小组成员: 指导教师: 完成日期:2011年6月10日

题目 摘要: 摘要篇幅以一页为限,字数为300以内。 摘要正文后,列出3-5个关键词。“关键词:”是关键词部分的引导,不可省略。 关键词请尽量用《汉语主题词表》等词表提供的规范词。最后不加标点符号。 关键词:写作规范;排版格式;课程设计 ,

1.1 论文格式基本要求 (1) 1.2 论文页眉页脚的编排 (1) 1.3 论文正文格式 (2) 1.4 章节标题格式 (2) 1.5 各章之间的分隔符设置 (2) 1.6 正文中的编号 (3) 2 图表及公式的格式说明 (4) 2.1 图的格式说明 (4) 2.1.1 图的格式示例 (4) 2.1.2 图的格式描述 (5) 2.2 表的格式说明 (5) 2.2.1 表的格式示例 (5) 2.2.2 表的格式描述 (6) 2.3 参考文献的格式说明 (6) 2.3.1 参考文献在正文中引用的书写格式 (6) 2.3.2 参考文献的书写格式 (6) 3 打印说明 (8) 3.1 封面 (8) 3.2 中英文摘要 (8) 3.3 目录 (8) 3.4 正文 (8) 4 第4章题目(黑体,小三,1.5倍行距,段后1行) (9) 4.1 第一节题目(黑体,四号,1.5倍行距,段前0.5行) (9) 4.1.1 第一节一级题目(黑体,小四,1.5倍行距,段前0.5行) (9) 结论 (10) 参考文献 (11) 致谢.................................................................................................. 错误!未定义书签。

嵌入式系统和嵌入式操作系统

一什么是嵌入式系统 嵌入式系统一般指非PC系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于PC中BIOS的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。 嵌入式系统几乎包括了生活中的所有电器设备,如掌上PDA、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。 嵌入式系统的硬件部分,包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用EPROM、EEPROM或闪存(Flash Memory)作为存储介质。软件部分包括操作系统软件(要求实时和多任务操作)和应用程序编程。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。 二嵌入式处理器 嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般具备4个特点:(1)对实时和多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时操作系统的执行时间减少到最低限度;(2)具有功能很强的存储区保护功能,这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断;(3)可扩展的处理器结构,以能迅速地扩展出满足应用的高性能的嵌入式微处理器;(4)嵌入式微处理器的功耗必须很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,功耗只能为mW甚至μW级。 据不完全统计,目前全世界嵌入式处理器的品种总量已经超过1000种,流行的体系结构有30多个系列。其中8051体系占多半,生产这种单片机的半导体厂家有20多个,共350多种衍生产品,仅Philips就有近100种。现在几乎每个半导体制造商都生产嵌入式处理器,越来越多的公司有自己的处理器设计部门。嵌入式处理器的寻址空间一般从64kB到16MB,处理速度为0.1~2000MIPS,常用封装8~144个引脚。 根据现状,嵌入式计算机可分成下面几类。 (1)嵌入式微处理器(Embedded Microprocessor Unit, EMPU) 嵌入式微处理器采用“增强型”通用微处理器。由于嵌入式系统通常应用于环境比较恶劣的环境中,因而嵌入式微处理器在工作温度、电磁兼容性以及可靠性方面的要求较通用的标

相关主题
文本预览
相关文档 最新文档