嵌入式操作系统通用性

2024-08-09

嵌入式操作系统通用性(精选9篇)

嵌入式操作系统通用性 篇1

0 引言

随着嵌入式技术的飞速发展和Linux开源操作系统的优越性,目前出现许多以嵌入式linux为平台的电子产品。在许多的产品中都需要有打印的功能,但是目前绝大部分的嵌入式产品的打印方案都是采用基于热敏式的打印机,这种方案的打印只能进行一些简单的打印功能,不能进行复杂的、彩色的打印需求,有很大的局限性;另外的一种方案是采用外置一台PC机进行打印机驱动,这种方案虽然可以实现完整的打印功能,但同时造成了资源的浪费,不符合嵌入式技术的设计原则。基于以上的考虑,本文设计了一种基于嵌入式Linux平台的打印方案,它能够实现基于PC机驱动的打印效果,又不需要外置一台PC机进行驱动,在一定的程度上为嵌入式产品提供了一种相对完美的打印解决方案。

1 Linux打印系统原理

Linux采用的打印系统是标准的通用Unix打印系统(CUPS)。CUPS实际上是一个集成的打印服务程序,包括了前端接收打印命令的相关程序,后端控制打印机硬件的程序,中间层则是打印驱动。CUPS驱动其实是一系列的程序加定义文件的总和,这些各种文件是进行各式文件格式转换的程序和格式定义文件。

CPUS的执行原理是当CUPS接受到打印命令时,首先会进行一个格式的预转换,比如将bmp等各种文件先转换成PostScript格式。然后进一步将PostScript格式转换成CUPS内部格式,这个称为PostScript到CUPS-PostScript转换,这两种PostScript格式还是有差别的,在MIME中定义了这两种不同的PostScript。

以上这些都是CPUS打印过程中的预处理工作,接下来CUPS的工作围绕PostScript展开,CUPS会根据PPD(PostScript Printer Description文件)文件来选择相应的处理流程。PPD文件其实是驱动的核心,不同的打印机有不同的PPD文件,PPD包含有关输出设备的信息,CUPS使用PPD文件中的信息来确定在打印文档时向打印机发送哪些PostScript信息。CPUS最大的特点是它把所有打印机都“看成”PostScript打印机,即便打印机本身不支持PostScript,也可以通过CUPS自带的PostScript解释程序(PsToRaster)或者GhostScript来解释PostScript文件,从而把普通的打印机模拟成PostScript打印机。

CPUS根据打印机类型的不同把打印流程分为3种处理方式,第一种是把打印文件直接转换成PostScript格式文件,然后送入打印机进行打印。后面两种是分别用CUPS的PsToRaster或GhostScript文件转换程序来进行转换为CPUS-PostScript文件格式,虚拟出一台PostScript打印机,然后再通过这台虚拟PostScript打印驱动打印机进行打印。CPUS提供的这3种处理方式决定了它能够支持各种不同的打印机,因此这也是CUPS兼容性非常好的原因。CPUS打印的流程原理如图1所示。

2 Linux打印系统在嵌入式平台上的设计

根据对Linux打印系统原理的深入分析,了解到Linux打印过程的各种处理方式的具体过程,那么在嵌入式这种小内存平台的设计打印方案也就有了一定的理论基础。因为在嵌入式平台中受限于硬件平台,如果直接把CPUS和GhostScript进行交叉编译并移植到嵌入式平台上,那么其实所需要的内存空间在80多M以上,对于嵌入式平台是不现实的。本文的设计方案是对CPUS打印的原理进行了更深入的研究分析,提取其中的最基本模块进行组合修改设计成一个最精小的微型嵌入打印系统,再将其交叉编译移植到嵌入式平台之上。

2.1基于PostScript格式的打印方案

通过以上的分析得知Linux打印模块中有3种打印处理机制,第一种是直接传输PostScript文件给CUPS的后台,再将打印流传输到PostScript打印机,接下来的事情全部丢给打印机去处理,打印机接收PostScript打印文件流后进行信息提取并按格式进行打印,其流程图如图2所示。

此方案支持的打印机必须是基于主机类型的打印机,然而这种打印属于高端打印机,价格非常高,不符合嵌入式产品设计的初衷。

2.2基于Raster格式的打印方案

基于raster格式的打印方案是把预转换的文件交给CUPS的内置程序处理,把PostScript转换成其特有的raster格式,这种格式是CUPS特有的,是打印机生产商为客户的接口开发定义的一种光栅格式,方便客户设计相应的打印机的接口程序。具体的处理流程如图3所示。

此方案的优点是打印的流程最短,所需要执行的处理也最简洁,因此移植到嵌入式平台所需要的资源也最小,但是由于受限于打印机厂商的raster格式的定义,此方案支持的打印机也受到了限制,所以此方案只能适用于专用的打印机的嵌入式打印方案。

2.3基于GhostScript格式的打印方案

GhostScript格式的驱动模的打印方案支持打印机型号最多。其和基于raster格式的机制极为类似,只把CUPS的解释器换成了外置的GhostScript来解释PostScript文件。GhostScript程序是独立于CUPS运行的,它的功能也不仅限于打印,且很多情况下通过CUPS来调用GhostScript打印是件很方便的事情。此方案的打印流程如图4所示。

此方案的优点是支持的打印机类型多,而且打印机的驱动安装方便,缺陷是GhostScript程序相对较大,不经过修改的编译后有将近60多M以上的大小。

3嵌入式Linux打印系统的实现与实验

根据以上对3种打印流程对应的方案的对比分析,再经过对Linux源码的深入分析,结合Rater和GhostScript的方案的优点,分别提取其中的核心模块设计了一种相对可行的同时又具有支持多种打印机的打印方案。最终在S3C2010平台上进行了实验验证。

(1)方案设计的基本原理是提取CPUS中的过虑器imagetoraster、rastertohp、rastertoepson的相应代码,进行修改得到imagetoraster和rastertoprint两个过滤器程序,提取GhostSciprt中的image-bmp程序来进行bmp位图的处理,最后使用MiniGUI1.6设计了一个打印驱动选取界面程序。

(2)方案的开发环境为:ubuntu 9.10+gcc3.3.2+cups-1.4.2+ghostscript7.1。

(3)方案的代码设计:在image-bmp.c中修改Xppi/yppi这两参数来设置每英寸多少像素;在imagetoraster.c中修改Xprint/yprint这两参数来确定可打印的区域;在interpret.c中修改HWResolution参数来设置打印分辨率等。

交叉编译的Makefile配置

其中的LDFLAGS=--static为静态编译,把链接模块也整体编译进去,因为在arm-linux中的许多共享库是没有的。

最后编译出来了几个转换程序,需要使用bash脚本进行调协工作具体脚本代码如下

各程序之间使用管道来进行数据传递。

(4)打印测试程序的界面设计。本文为打印方案设计了一个可视化界面的打印测试程序,此程序实现了打印驱动以及打印文件的选择,并且可以进行打印机的型号自动检测从而进行自动匹配驱动的功能。MiniGUI软件界面的设计如图5所示。

通过实验验证了本文的嵌入式Linux打印系统的可行性,并且此方案能够支持各种打印机型号,打印的驱动添加简便,是一种非常适用的嵌入式Linux打印通用方案。

4结束语

本文设计了一种基于嵌入式Linux的通用打印系统方案,最终在S3C2410 ARM9+Linux2.6内核平台上进行移植,并进行了实验测试,都能进行清晰的打印且具有较快的打印速度。因此,本文设计的这种嵌入式Linux打印方案,是一种既能够支持复杂式打印又能够在嵌入式平台上简便实现的解决方案,为嵌入式Linux打印技术的发展提供了一定的理论和实践经验。

摘要:首先通过对Linux打印系统原理进行了分析研究,然后结合嵌入式应用的特点设计了一种基于嵌入式Linux的通用打印系统方案,实现了脱离PC机驱动并具有复杂打印的功能,并在S3C2410平台上进行了实验验证,且给出了系统的软件方案的设计。

关键词:嵌入式打印,Linux打印,CUPS,交叉编译

参考文献

[1]赵远东,张臻.基于ARM9和Linux的嵌入式打印终端系统[J].微计算机信息,2008(24).

[2]朱伟伟,黄锦安.基于ARM和Linux的嵌入式的研究以及打印模块的实现[J].计算机工程与应用,2008.

[3]赵炯.Linux内核完全剖析[M].北京:科学出版社,2000.

[4]CORBET J,RUBINI A.LINUX设备驱动程序(第三版)[M].北京:中国电力出版社,2006.

嵌入式操作系统通用性 篇2

作者Email: cuiwj181@sohu.com

摘要: 本文将分析嵌入式操作系统uClinux的内核结构、、内存管理、多进程处理、针对实时性的解决方案和开发环境,先对uCLinux有一个深刻的认识,将有利于今后进一步研究开发。

关键词: uCLinux,内存管理,多进程处理,RTLinux,开发环境

1 引言

嵌入式操作系统是嵌入式系统的灵魂,而且在同一个硬件平台上可以嵌入不同的嵌入式操作系统。比如ARM7TDMI内核,可以嵌入Nucleus、VxWorks、uClinux等操作系统。在此主要对uClinux的进行介绍,嵌入式uClinux操作系统主要有三个基本部分组成:引导程序、uClinux内核(由内存管理、进程管理和中断处理等构成)和文件系统。uClinux可以通过定制使内核小型化,还可以加上GUI(图形用户界面)和定制应用程序,并将其放在ROM、RAM、FLASH或Disk On Chip中启动。由于嵌入式uClinux操作系统的内核定制高度灵活性,开发者可以很容易地对其进行按需配置,来满足实际应用需要。又由于uClinux是源代码公开,因此开发人员只有了解内核原理就可以自己开发部分软件,例如增加各类驱动程序。下面将详细分析嵌入式操作系统uClinux。

2嵌入式uCinux内核结构

uClinux内核结构如图1所示:

图1代表了内核的功能结构,与Linux基本相同,不同的只是对内存管理和进程管理进行改写,以满足无MMU处理器的要求。uClinux是Linux 操作系统的一种,是由Linux2.0内核发展来的,是专为没有MMU的.微处理器(如ARM7TDMI、Coldfire 等)设计的嵌入式Linux操作系统。另外,由于大多数内核源代码都被重写,uClinux的内核要比原Linux 2.0内核小的多, 但保留了Linux 操作系统的主要优点:稳定性,优异的网络能力以及优秀的文件系统支持。

3uClinux的内存管理

嵌入式操作系统通用性 篇3

FCT[1] (Function Circuit Test) 指的是对被测板 (DUT) 提供模拟的运行环境, 使DUT工作于设计状态, 从而获取输出, 进行验证DUT的功能状态的测试方法。简单地说, 就是对DUT加载合适的激励, 测量输出端响应是否合乎要求。

F C T作为P C B A (P r i n t e d C i r c u i t B o a r d Assembly) 的一种测试手段, 在生产测试工序中, 位于ICT之后, 在FT之前。FCT关注的是PCBA上的器件是否工作正常。

作为安防产品的功能测试, 我们需要模拟被测产品的输入, 监控其输出是否符合设计要求。这就需要测试台有至少一个主控板来实现这些功能。安防产品的总类繁多, 功能复杂, 以往我们针对每个被测产品都从头设计一个测试板, 作为信号模拟和输出分析。这样每次测试台的开发周期都比较长, 开发工作量很大, 涉及到元器件选型, 布板, 制板, 硬件调试, 软件编写等, 因此设计一个标准的测试平台是十分有意义的。

1 设计原理

1.1 系统总体构架

安防产品的功能测试有其行业的特殊性, 因为安防产品一般可以分为防盗报警类, 视频监控类, 门禁控制类, 以及后来拓展出来的智能家居类产品, 这些产品是有一定的共性的, 比如防盗报警类产品有多防区报警接口, 电话或无线报警输出;视频监控类一般都有摄像头接口, 视频音频输出;门禁产品一般都有485总线扩展接口, 读卡器接口等;智能家居类产品都有无线射频模块, 液晶屏显示等。根据这些产品的共性, 我们可以进行模块化设计, 把测试平台分为不同的模块, 对应被测板的功能, 这样在具体设计时就可以删减模块进行测试台定制。

根据对以往项目的分析, 以及以后产品的发展方向, 列出了测试台需要实现的模块功能, 其中包括[2]:

1) 主控模块, 有一个功能强大的主控芯片, 作为测试系统的总体控制核心, 与其他模块进行通讯, 并对信号进行处理分析, 需要支持以太网, USB, RS232/485/SPI/IIC等。

2) 继电器模块, 用于多路继电器控制, 用于模拟报警信号输入, 按键动作等。

3) I/O模块, 用于模拟数字信号输入输出。

4) AD模块, 用于电压电流的测量。

5) 电源模块, 用于提供被测板电源, 并可控。

6) 隔离模块, 用于隔离测试系统和被测板。

7) 视频模块, 用于模拟视频输入信号, 可以生产Color Bar标准视频源, 支持PAL/NTSC制式。

8) 音频模块, 用于模拟音频信号输入, 并可对音频信号进行解码分析。

9) 显示模块。人机接口在PC端显示。

系统框架图如图1所示。

1.2 硬件选型与设计

1.2.1 主控板的设计

主控芯片需要有快速的处理能力, 并需要有多种接口, 支持以太网, USB, RS232/485/SPI/IIC等。经比较市面上主流的芯片, 选定ARM9核心的AT91SAM9260[3]为主控芯片。该芯片有丰富的外设满足要求:

1) 3个32位PIO控制器, 提供96个可编程IO输出。

2) 可扩展总线接口 (EBI) , 支持SDRAM, NAND等。

3) 1个USB2.0全速host接口和1个USB2.0全速device接口。

4) 10/100以太网卡接口。

5) 支持多种通讯接口, 4个USART, 2路SPI。

M C U通过E B I总线连接扩展存储器件, 根据需求, 外部扩展了1片4Banksx4Mx16Bit SDRAM, HY57V561620, 1片128MbitNorflash M29W128F用于存储程, 1片128Mx8bitNANDFlash HY27UA081G1M用于存储数据和程序。

同时根据需求分析, 主板需要提供丰富的外设接口以连接各附属板, 比如IIC接口和附属板通讯;多路USART接口和PC机和被测板通讯;按键, LED灯和液晶接口以连接测试台界面;以及常用的串口如485, SPI等。

1.2.2 附属板卡设计

根据设计需求, 需要设计继电器卡, 模拟采集 (AD) 卡, 电源板卡, IO板卡, 隔离板卡, 音频采集卡, 视频发生卡等。各板卡与主控板卡之间通过串行通讯连接。

附属板卡比较多, 这里不再一一详细介绍, 以AD板卡设计为例介绍:

AD[4]板卡主要是实现静态电压电流测量, 这个可以由多种多样AD采集芯片实现。AD板卡的设计难点是测试系统和被测系统的隔离。在功能测试台中, 需要把被测系统隔离起来, 这样被测板的故障就不会影响到测试系统。对于AD板来说, 就需要设计一套隔离系统, 并且分别提供电压。我们用继电器实现隔离, 如图2所示。

设计的AD板卡的功能如下:

多通路AD测量, 板上16通路AD, 均实现共模, 差模测量。

外部可扩展AD通道 (I2C接口) 。

两路输入电源切换, 一路交 (直) 流电流测量。

交流电压测量。

AD板的外部接口如图3所示。

1.3 软件设计

系统软件可以分为两大部分, 嵌入式软件设计和PC端软件设计。嵌入式软件是AT91SAM9260的嵌入式软件开发, 各板卡的驱动程序。PC端软件是运行在PC机上的人机接口界面设计。

1.3.1 嵌入式软件设计

这里选在在IAR Embedded Workbench[5]上开发嵌入式软件, IAR是一套开发工具, 用于对汇编、C或C++编写的嵌入式应用程序进行编译和调试。支持各种嵌入式处理器:MCS-51、ARM全系列、AVR、Dragonball、PIC、6502等, 是一套完整的集成开发环境, 包括工程管理器、编辑器、编译工具和C-SPY调试器。

因为程序比较庞大, 这里移植了PowerPac[6]实时操作系统及其文件系统, IAR PowerPac能提供抢占和循环这两种方式的任务调度, 能处理无限多的任务、信号量、邮箱和软件定时器, 并可设置255种不同的优先级别。IAR PowerPac能实现完全的中断, 0中断时延是其一个重要的特点。IAR PowerPac还能实现可嵌套的中断, 并且能达到非常快的上下文切换速度。IAR PowerPac文件管理系统能兼容MS-DOS/MS-Windows系统, 支持FAT12、FAT16和FAT32格式, 以及支持多种设备驱动和多种存储媒介, 包括:RAM盘、MMC卡、SD卡、CompactFlash卡、硬盘接口、SMC卡以及NOR/NAND闪存, 其高度模块化的结构使得对内存的消耗降至最小。

通过Power Pac, 实现了软件的标准化和模块化, 加入文件系统, 测试程序可以方便的自我升级, 并且可以存储测试数据。开发界面如图4所示。

1.3.2 PC端软件

PC端软件是测试台的人机接口界面, 承担着测试项, 测试过程和结果的显示, 测试数据的分析, 测试和保存等。因为是工人操作的界面, 需要良好的可操作性, 并且可扩展。我们使用Labview开发PC端软件。

NI公司的Developer Suite (开发者套件) 是一个开放的、灵活的、适应多种需求的虚拟仪器软件开发平台。LabVIEW 2009:是NI公司的旗舰产品, 强大、开放、图形化的虚拟仪器软件开发环境。由于LabVIEW[7][8]采用的是图形化的编程方法, 可以快速、高效地与测量和控制硬件通信, 并进行数据分析及处理。

软件正常运行时有四个状态, 分别为初始状态、测试状态、测试成功状态、测试失败状态。

这四个状态的转换依赖于下位机发送的命令。

软件初始状态:

1) 开始运行软件;

2) 用户将测试台复位或者测试过程将上盖打开 (由测试台指令控制) 。

正常测试状态:

1) 当收到开始测试0101项时, 软件进入测试状态;

2) 在测试过程中弹出对话框或者清除对话框都是由测试台控制;

3) 在测试过程中测试台可以命令软件进入初始状态 (软件复位) 。

测试失败状态:

1) 任何一项测试失败后进入测试失败状态;

2) 在测试失败时, 测试台等待计算机指令 (一般会弹出对话框询问) ;

3) 测试失败状态下测试台可以命令软件进入初始状态;

4) 测试失败状态下软件可以继续进入测试状态, 但是测试结果失败;

5) 当执行继续测试时, 在完成全部测试后, 测试台命令软件显示FAIL。

测试成功状态:

1) 当测试项全部通过测试;

2) 测试台发指令给软件进入初始状态, 以等待下一个新的测试。

定义17字节的通讯帧, 作为嵌入式软件和PC软件的通讯。帧格式如图5所示。

其中REGISTER ADDRESS代表不同的测试项, 其地址分配如下:

0101~0F0F:最大允许255个完整测试项目, 其中:

0X1X:表示开始测试一个项目, 相应的主测试状态为TESTING。

0X2X:表示传送测试结果数据, 数据为一个字长的整形数0~65536, 显示在子项测试结果左侧。

0X3X:表示子项测试成功, 在子项测试结果中显示OK。

0X4X:表示子项测试失败, 在子项测试结果中显示FAILED

软件运行界面如图6所示。

2 结束语

该通用测试平台以AT91SAM9260为控制核心, 覆盖了功能测试领域的大部分功能, 并且有一个统一且友好的人机接口界面, 实现了从硬件到软件的标准化和模块化, 大大节省了研发周期和成本。经证实, 该系统可以稳定、可靠、精确地实现功能测试。

参考文献

[1]吴平峰, 代宣军.PCB测试技术的介绍[J].现代机械.

[2]魏伟, 胡玮, 王永清, 嵌入式硬件系统接口电路设计[M].化学工业出版社, 2010.6.

[3]AT91SAM9260Preliminary, www.atmel.com[16].

[4]MAX188Product Datasheet, 2002.

[5]徐爱钧, IAR EWARM V5嵌入式系统应用编程与开发[M].北京航空航天大学出版社, 2009.9.

[6]Chang DaWei, Chang Ruci Chuan.OS Protal;an economic appraoac for making an embedded kernel extensible[J]., 2003, (67) :19-30.

[7]陈锡辉, 张银鸿, LabVIEW8.20程序设计从入门到精通[M].清华大学出版社, 2007.

青岛理工嵌入式操作系统重点总结 篇4

命令:mount[选项][类型] 步骤:1.确认是否为Linux可以识别的文件系统。

2.确定设备的名称,可通过使用命令“fdisk-l”查看。

3.必须确定挂载点已经存在,也就是在/mnt下的相应子目录已经存在 4.进行挂载,使用完后可用umount卸载 2.shell脚本三个步骤 3.shellpot概念和任务 4.中断系统调用的是硬中断。5.中断处理处理程序分为哪两部分,上半部:功能是“登记中断”。当一个中断发生时,他就把设备驱动程序中中断例程 的下半部挂到该设备的下半部执行队列中去,然后就等待新的中断的到来。上半部是不可中断的

下半部:功能是查看设备以获得产生中断的时间信息,并根据这些信息(一般通过读设备上的寄存器得来的)进行相应的处理。下半部是可中断的。6.信号与信号量的概念,程序和进程的概念。

程序:是存放在磁盘文件中的可执行文件,是机器代码指令和数据的集合,不能独立运行

进程:资源分配和独立运行的基本单位。

信号:信号是软件中断,信号机制是Unix系统中最为古老的进程之间的通信机制,用于在一个或者多个进程之间传递异步信号。

信号量:信号量是进程通信处理同步互斥地机制,它是在多线程环境下使用的一种同步工具,负责协调各个线程,以保证他们能够正确、合理的使用公共资源。7.Linux进程的五种状态

8.什么是管道,管道的分类(匿名管道的系统创建调用

管道的)

管道:是在内存中创建一个分享文件,使通信双方利用这个文件进行信息传递,这个作为传递信息的共享文件就是管道

分类:匿名管道:匿名管道没有名字,只能提供给进程家族中的父子进程间通信使用。

命名管道:FIFO(先进先出),是一个能在互不相关进程之间传送数据的特殊文件。他是在实际文件系统的基础上实现的一种通信机制

9.gcc编译的四个阶段,那四个阶段。预处理,编译,汇编,链接

10.编写一个 makefile 文件

11.创建子进程的系统调用,fork函数,三个返回值代表什么意思 int fork(): 返回值为0 创建成功,从子进程返回

返回值>0

创建成功,从父进程返回,其值为子进程的pid号 返回值=-1 创建失败

12.编写守护进程的步骤,五个步骤对应的代码,内核编译的三个步骤,每一步使用的命令。守护进程步骤:1.创建子进程,父进程退出

if(pid>0)exit(0);else if(pid<0)return-1;

2.调用setsid以创建一个新的会话,并担任该会话的组长

setsid();

3.改变当前目录为根目录

chdir(“/”);

4.重设文件权限掩码 umask(0);

5.关闭不再需要的文件描述符 for(i=0;i

15.Linux设备驱动程序分为那几部分,每一部分的功能。

程序题

1.分析程序的输出结果,exit,wait返回值,参数

信号的发送和捕获。

设置时钟的alarm()。

共享内存的创建,链接,共享。。

消息队列:7-6-1 课本上 第一章

mpumcu 嵌入式系统的组成 posix是什么标准 linux内核版本号,三位

11页主分区,扩展分区,逻辑分区。

什么叫挂载? 挂载:在Linux中把每一个分区和某一个目录对应,以后对这个目录的操作就是对这个分区的操作,这样就实现了硬件管理手段和软件目录管理手段的统一。这个把分区和目录对应的过程就称为挂载。12页交换分区grub引导器。是一种引导装入器,他负责装入内核并引导Linux系统,位于硬盘的起始部分。

22页文件的类型和属性(四种)

23页文件类型。普通文件,目录文件,链接文件,设备文件 文件属性

r:可读

w:可写

x:可执行

文件用户级别:文件拥有者u,所属的用户组g,系统其他用户o

25页Linux的结构 bin boot 第一位 etc home lib(动态链接库)挂载。。proc root用户 user var

第二章

30-54所有的命令

用户切换su 普通用户--超级用户

切换 用户管理(31页)

系统管理命令(33页)

shutdown kill clear 磁盘相关的命令 磁盘挂载

步骤

文件目录相关(37页47)

改变文件目录-cd 显示当前目录-pwd 列出目录内容

-ls(-a)创建目录149进程通信同步互斥的概念

进程间通信就是在不同进程之间传播或交换信息。

互斥:就是指某一资源同时只允许一个访问者对其进行访问,即访问是无序的。同步:是指在互斥的基础上,通过其他机制实现访问者对资源的有序访问。

152信号量的概念,信号区别(用来解决进程同步与互斥问题的机制)信号:信号是软件中断,信号机制是Unix系统中最为古老的进程之间的通信机制,用于在一个或者多个进程之间传递异步信号。

信号量:信号量是进程通信处理同步互斥的机制,它是在多线程环境下使用的一种同步工具,负责协调各个线程,以保证他们能够正确、合理的使用公共资源。169管道的定义分类,创建匿名管道的系统调用 管道:是在内存中创建一个分享文件,使通信双方利用这个文件进行信息传递,这个作为传递信息的共享文件就是管道

分类:匿名管道:匿名管道没有名字,只能提供给进程家族中的父子进程间通信使用。

命名管道:FIFO(先进先出),是一个能在互不相关进程之间传送数据的特殊文件。他是在实际文件系统的基础上实现的一种通信机制 171读写规则

系统对信号三种处理方式:

159映射调用了什么函数mmap 161共享内存的打开和建立 164四个函数对应程序。消息队列 消息队列:消息队列是系统定义的内存块,用于临时存储消息。消息队列就是一个消息的链表。可以把消息看做一个记录,具有特定的格式及特定的优先级。96存储管理。使用虚拟内存的优势: 使用虚拟内存的优势:使计算机可以操纵更大的地址空间,还可以使系统中的每一个进程都有自己的虚拟地址空间。97什么叫内存映像。第三段四行。内存映像:进程的映像和虚拟进程空间的连接称为内存影像 102根据读的方式分为两种,写的方式分为两种。高速缓存

贯穿读出式 旁路读出式 写穿式回写式

106页分配器的伙伴算法

111slab根据对象的类型分类不同的cache 114-kmalloc 申请和是放假(较小较大)内存分配函数 118什么用于将高。。

227输入输出系统的基本功能。存储器统一编址和独立编址

功能一:隐藏物理设备的细节 功能二:与设备的无关性

功能三:提高处理器与I/O设备的利用率 功能四:对I/O设备进行控制 功能五:能确保对设备的正常共享 功能六:错误处理

235linux设备驱动程序分为哪几部分,每一部分的功能。自动配置和初始化子程序,负责检测所要驱动的硬件设备是否存在和是否能正常工作。如果该设备正常,则对这个设备及其相关的、设备驱动程序需要的软件状态进行初始化。这部分驱动程序只有在初始化时被调用一次。

完成用户进程请求的程序,即永恒进程对设备的操控部分 设备中断服务程序,通常分为上半部和下半部

嵌入式操作系统通用性 篇5

1 设计思路

整套基于CPCI总线的嵌入式计算机通用接口设计方案综合硬件、软件、可编程技术, 由硬件、软件两个模块构成。硬件部分主要覆盖扩展模块所提供通用硬件接口, 可支持系统搭载具有通用化以及标准化特点的数据交换平台, 软件部分则主要包括主板通用设备以及扩展模块逻辑设备所对应驱动程序, 可实现嵌入式计算机系统根据功能进行划分, 并对数据结果以及信息格式进行科学定义, 搭载硬件模块通用接口实现系统功能。基于CPCI总线的嵌入式计算机通用接口设计方案实现后与传统方案最大的差异在于更具智能化特点, 通过对CPCI总线技术的应用, 最大限度的削弱了嵌入式计算机系统中不同功能硬件芯片的差异, 具有硬件、软件集成通用化的特点与优势。

2 通用接口硬件设计

嵌入式计算机系统通用接口硬件设计主要包括两项内容, 第一是扩展板通用硬件接口设计, 第二是标准总线接口设计。

扩展板通用硬件接口按照功能划分包括如下模块:

(1) CPCI总线桥接芯片;

(2) 可编程逻辑芯片;

(3) CPCI总线匹配电路;

(4) 外围控制电路;

(5) 双口RAM处理器;

(6) 微处理器。

基于CPCI总线技术的扩展功能可通过PCI-PCI桥接方式实现, 总线端时钟频率为33.0MHz, 数据地址宽度为32位, 兼容5.0V以及3.3V电压信号。接口可实现CPCI总线全部功能, 搭载系统平台, 以反射传播方式完成对总线控制信号、地址数据信号至局部总线端口的转换。在系统内部所搭载双口RAM处理器具有独立的数据读写功能, 数据线宽度预设值为16为, 地址线宽度预设值为11为, 支持双口异步操作。

3 通用接口软件设计

本研究中所提出通用接口设计方案软件系统以Vx Works实时多任务操作系统为运行平台。该平台具有优先级任务调度管理、多任务管理、存储器优化、时钟服务、以及中断管理服务等功能。以下就主板驱动程序软件设计方案进行阐述:

嵌入式计算机系统中通用接口设备驱动程序需驻留于系统内存中, 优先级级别高。主板运行中, 驱动程序可搭载CPCI总线对硬件接口进行初始化操作与自动控制, 配合双口RAM处理器满足数据交换功能。驱动程序中需要分别定义上位机初始化、扩展板初始化、扩展板自动控制、数据发送、以及数据接收等相关功能所对应的实现函数:

(1) 上位机初始化操作所对应实现函数为General_Master_Initial, 所对应主要功能是对主板生产厂商批号、设备号、以及版本号进行读取;

(2) 扩展板初始化所对应实现函数为General_Slave_Initial, 所对应主要功能是对扩展板生产厂商批号、设备号、版本号、配置文件名称、以及配置文件路径等信息进行读取, 生成扩展板所对应初始化参数, 并输入嵌入式系统内置双口RAM处理器扩展板初始化参数区中;

(3) 扩展板自动控制操作所对应实现函数为General_Slave_Ctl, 所对应主要功能是将工作状态、工作模式等扩展板相关控制参数输入嵌入式系统内置双口RAM处理器扩展板控制参数区中, 参数信息由下位机负责读取, 以满足扩展板自动控制操作功能;

(4) 数据发送所对应实现函数为General_Data_Send_Find, 所对应主要功能是判断嵌入式系统上位机是否有等待发送数据, 若有数据等待发送则执行发送程序, 若无数据等待发送则执行接收判断程序;

(5) 数据接收所对应实现函数为General_Data_Recv_Find, 所对应主要功能是判断嵌入式系统内置双口RAM处理器接收数据区是否存在等待接收数据, 若有数据等待接收则执行接收程序, 若无数据等待接收则执行发送判断程序。

4 结束语

本文设计并研究了一套基于CPCI总线的嵌入式计算机通用接口设计方案, 硬件、软件设计配合, 通过搭载通用接口电路、逻辑设备驱动程序、通用设备驱动程序的方式, 实现了通用接口电路以及软件驱动程序的标准化, 避免了嵌入式计算机系统因硬件芯片所产生差异, 同时可解决系统设计中底层软件对硬件芯片的依赖性问题, 可促进系统软件与硬件模块的独立, 方便嵌入式计算机系统根据实际需求对底层驱动软件进行修改调整, 应用前景广阔。

参考文献

[1]任勇峰, 彭巧君, 刘占峰等.基于FPGA的CPCI高速读数接口设计[J].电子器件, 2015 (01) :148-151.

[2]应斌, 严济鸿, 何子述等.光接口高速数据采集系统设计与实现[J].仪表技术与传感器, 2014 (05) :54-56, 59.

[3]曹子剑, 王燕, 宋小安等.光纤接口模块自动测试系统的研究与应用[J].计算机测量与控制, 2015, 23 (04) :1127-1129, 1133.

嵌入式操作系统通用性 篇6

1 CPCI总线背景下的嵌入式计算机

CPCI, 是对紧凑型外围设备互联的简称, 在此背景下设计的嵌入式计算机, 具有体积小、性能强、结构紧凑、安全可靠等特点, 可以应用于十分恶劣的环境条件中。就目前的发展形式看, 由于其强大的环境适应能力以及电磁兼容性, 加上设备对于振动、冲击、高温、灰尘等有着较好的防护能力, 在通讯、仪表仪器、汽车、航空航天、军事等多个领域获得了广泛应用。

为了满足功能和应用环境的特殊要求, 在对嵌入式计算机进行设计时, 要坚持模块化的设计思想, 将主板、功能元件、电源等安装在坚固的机箱内, 通过CPCI总线与主板的连接, 实现系统功能。本文提到的通用接口, 是指主板与不同功能扩展板之间的硬件和软件接口, 利用这个接口, 可以实现主板对于扩展板的控制, 以及相关数据的采集和传输功能。

2 通用接口的设计

根据功能需求和成本投入的不同, 通用接口的设计方法也是多种多样的, 这里采用的是现场编程技术与软件、硬件设计相结合的方法, 结合通用总线接口设计技术、数据库共享实时访问技术、数据交换技术等, 利用相关的电路设计和函数设计, 对CPCI总线背景下的嵌入式计算机通用接口进行设计。

接口主要包括硬件和软件两个部分, 软件部分的设计重点在于信息格式的定义、功能的划分以及数据结构的确定, 是对系统功能的实现;硬件部分则是指功能扩展模块上的硬件接口, 可以为系统提供通用化和标准化的数据交换平台。

一般情况下, 通用设备的驱动程序位于系统主板上, 而逻辑设备的驱动程序则位于扩展板上。在系统中设置共享数据存储区域, 可以实现主板对于扩展板的控制, 以及相互之间的数据和信息交换。

2.1 硬件设计

通用接口的硬件设计, 主要是针对扩展板通用硬件接口设计和总线接口设计而言的。在对通用硬件接口进行设计时, 需要注意以下几个方面的问题:

(1) CPCI总线接口设计:COCI作为一种同步总线, 其总线宽度为32位, 最大支持扩容至64位, 最高工作频率为64Mhz, 具备良好的数据传输速度和吞吐率。同时CPCI总线支持自动化配置, 程序可以在初始化的过程中自动完成对存储空间等资源的分配, 因此CPCI总线背景下的设备均支持即插即用的功能。CPCI总线接口主要包括外围控制、总线桥接芯片和匹配电路, 其数据信号主要通过反射的方式进行传播, 因此, 在对外围控制和匹配电路进行设计时, 要按照相应的规范进行, 以保证总线信号的完整性。

(2) 可编程逻辑芯片:主要用于实现地址译码、内部寄存器以及双口RAM的访问控制等功能。在设计中, 使用Lattice公司生产的M4A5192/96现场可编程逻辑阵列实现。该芯片的基本工作电压为5V, CPCI兼容, 内部拥有192个宏单元, 16个单向输入引脚, 同时支持边界扫描测试, 可以实现在线编程。

(3) 双口RAM以及数据定义:双口RAM是实现主板与扩展板之间数据交换的基础, 在设计时, 需要根据其功能的差异, 对数据结构进行定义, 将其划分为相互独立的存储区。扩展板的处理器可以从自身不同的功能分区读取相应的参数, 并依据参数实现对自身硬件的管理和控制。

2.2 软件设计

对于通用接口而言, 其软件主要是基于多任务操作系统Vx Works进行设计, 从而实现通信、存储器优化管理、中断管理服务等系统功能。

2.2.1 主板程序的功能和函数

主板上运行的程序为通用设备的驱动程序, 存在于系统内存之中, 优先级较高。主板在运行过程中, 可以通过CPCI总线技术, 实现对硬件接口的初始化和控制, 通过双口RAM, 实现数据的交换和传输。其自身的功能众多, 可以通过相应的函数实现。以扩展板初始化为例, 该功能主要由General–SlaveInitial (Vendorl D, Devieel D, Ver, Initfile) 函数实现, 主要是对扩展板的生产厂商、设备版本号、相关参数、配置文件的路径等信息进行读取, 并将相应的扩展板初始化参数写入双口RAM的扩展板初始化参数区, 为扩展板的初始化提供数据支持。

2.2.2 扩展板程序的功能和函数

扩展板上运行的是逻辑设备驱动程序, 主要是针对自身的硬件进行管理和操作。与主板相同, 同样需要针对不同的功能, 选取相应的参数实现。

3 结语

CPCI总线背景下嵌入式计算机同样接口的设计, 对于其自身功能的实现有着十分巨大的作用, 可以充分发挥出嵌入式计算机的优点, 因而在多个领域得到了广泛应用, 不仅大大降低了产品的使用和维护费用, 也带来了巨大的社会效益, 具有重大的技术价值。

摘要:本文主要针对CPCI总线总线背景下, 嵌入式计算机设计过程中遇到的相关问题, 对其通过接口的设计进行了分析和研究。采用现场编程技术与软件、硬件设计相结合的方式, 运用相应的技术, 有效实现了CPCI总线背景下嵌入式计算机通用接口的设计, 并成功在工程实践中得到了应用。

关键词:CPCI总线,嵌入式计算机,通用接口,设计

参考文献

[1]汪强.基于CPCI总线的嵌入式计算机通用接口设计[J].计算机工程与设计, 2008 (4) .

[2]吴涮, 张军平, 张文军.嵌入式计算机中USB主机控制器的研究与设计[J].计算机工程, 2004 (23) .

构件化嵌入式操作系统设计 篇7

关键词:构件化,嵌入式,操作系统,异构构件,形式化方法

传统的嵌入式操作系统采用一体化、大内核方式开发,这种设计方法限制了嵌入式操作系统的可移植性、可伸缩性,严重影响了嵌入式操作系统的开发效率及功能的鲁棒性,构件的重用性、灵活性、可维护性、高效性使它成为构建嵌入式系统的一个良好的选择,所以构件化嵌入式操作系统[1]的引入对嵌入式系统有其一定意义。另外,分层的设计模式因为具有使复杂问题简单化,分割处理的特点使得利用它进行嵌入式系统的设计成为一个不错的选择,对此笔者结合构件化与分层结构的设计思想,提出一种灵活的嵌入式操作系统的设计思想。

软件开发中的效率关系到软件的开发成本与机会成本,对构件化嵌入式操作系统异构构件的直接使用无疑会带来开发效率下降的问题,所谓异构构件[2,3],就是对于满足不同构件模型标准定制的构件,考虑到异构构件的使用带来的开发效率下降问题使得开发人员无法使用一些现成的不同构件模型的构件,并且限制跨平台的构件使用,对此笔者提出一种构件的封装方法,用来屏蔽构件间的差异,使得在每层上充分发挥构件的灵活优势。

1 构件机制

构件是自包含的、可编程的、与具体语义无关的代码片段。它由类组成,但与一般意义上的类不同的是它进行了再次的封装,对外它提供一组接口,从而达到了内部具体的实现与定义的分离,将构件本身与接口独立开。

为说明构件间的作用描述一种构件的配置,假设有两个构件,每个构件有若干接口,有的是自身使用的,另外一些是向外部提供的,将对外提供的放在下方,自身使用的接口放于构件上方,每个接口由若干方法组成,比如命令、对事件的处理方法。关于命令是自上而下传递的,对事件的处理方法是自下而上方向传递的。假设构件2是硬件层封装的,那么与之相关的中断处理部分会发出一个事件,用于调用构件1,而构件1接到这个事件时,可能有2种情况发生,一是向上再发出一个事件,调用其他构件;二是向下发送一个命令到构件2,构件2会有一个接口用以实现这条命令。

2 分层结构

在一个系统中不同的功能部件都具有自己不同的上下文环境,但总是存在一些功能构件与另一些功能构件具有相似的上下文环境,分层的思想就是根据这些相似的上下文环境,将具有相似的上下文环境的功能构件纳入同一层次当中,达到对操作系统进行功能集合的划分目的。不同的层次之间的功能模块的上下文环境有较大的差异,因此对于处在不同层次的功能构件,它们的接口、组织和内部的具体实现等方面的差异也是较大的,这样一来,就得到一种较为优良的同层构件构造方式,这种方式类似于面向对象中涉及的父类与子类的关系,从一层中有相似上下文的功能构件中抽象出一种相对统一的功能构件作为一个统一模型,对其赋予不同的通信参数就此得到功能模块的一个特例,这些特例属于同一层的功能模块。

2.1 分层的总体结构

在上面提及的分层结构的基础上将操作系统分层:驱动层主要提供设备驱动包括中断控制及时钟驱动程序,字符设备驱动,块设备驱动等;内核层主要是一些关于信号量、内存管理、消息队列、中断管理、任务管理的模块等,其中还包括对系统中间层提供的编程接口,因为在每层中实现构件接口化方式,所以在某种程度上实现了无内核的形式,内核层也需要实现构件化方式,使得内核配置更为灵活;系统中间层负责为应用程序层提供高效的编程接口。

2.2 分层结构中的构件具体实现

在分层划分的基础上需要将各个层的模型继续划分成为经过对每个抽象模型构件赋予通信参数后就可以实例化的、可独立编程、测试的构件实体。对于实体化的构件来说存在一个界面划分的问题,也就是粒度大小和独立性的取舍问题,在独立性较强的构件中它是完全自包含的,对外部构件的依赖性很低,构件间的组合较为方便,但是这样的大粒度构件是以牺牲灵活性为代价;相反粒度小的构件虽然灵活性较强,但是在组合系统的时候就比较复杂。需要权衡取舍,一般情况负责驱动硬件的构件,因为与底层硬件联系,所以独立性较强,但粒度较大。下面以驱动构件为例说明一般构件的具体实现。

触摸屏驱动见表1,触摸屏构件具有两个接口IGet它包括使用及访问它的具体方法,如获取触摸屏事件及相关硬件参数。ISet是系统对象使用的接口,它用来管理触摸屏驱动对象,使之与硬件绑定,并赋予其资源,如中断请求号等。

通过表1的构件描述,只需要在构件框架的基础上填充相应的代码即可完成整个驱动。实际上,构件驱动模型把驱动看作是一个服务程序,通过系统提供的中间层,驱动构件可以与用户端程序进行交互,而中间层的模式不设计构件驱动与用户程序的内部逻辑实现,也不会对驱动构件与用户程序的接口产生影响,中间层也是相对遵循一定的独立的通信规范,不受驱动构件和用户程序的影响,三者是相对独立的,是构件的重用性、灵活性、可维护性、高效性的所在。

2.3 关于异构构件的处理

提到构件的具体实现就不能不考虑一个问题,即基于不同方法生成的构件之间的交互问题,所谓异构构件是通过不同的构件模型标准实现的构件,不同的构件模型支持不同的构件特征,这种不同的特征主要体现在构件的属性、方法、事件集等几个方面,所以必须提供一种封装形式使得异构构件可以进行交互,使得构件的可重用性得到更大的发挥。

为完成对构件的封装需要一个用于再次封装遵循不同标准构件实例的包装器[4],它用来封装相应构件模型的构件的实现,经过它的包装使得构件对外呈现统一的接口形式,可以屏蔽构件对外部的差异;包装集则提供所有的包装器,其中包括类与接口的集合,通过这里定义的接口使得它可以独立于构件的具体模型,这里也贯穿着构件的编程思想,也就是面向接口的编程,用户可以用统一的方式访问构件,在包装集中还包括包装过的构件对原构件的对应关系;连接器集合中包括对应于不同连接关系的连接器;工作现场负责选择、配置构件最终生成构件的实例。

包装器的内部必须实现一个统一的IBoxing接口定义的方法并提供相关功能,对于包装器支持的所有构件模型,都可以使用这个接口对支持的构件模型的构件以统一的方式进行访问,如果需要添加对新构件的支持包装器需要实现对于新构件模型的IBoxing接口的功能。

IBoxing接口功能Instantiation负责实例化一个构件,此过程通过createInstance实现,或者将一个构件的实例分配到一个包装器,当然这个过程中需要专递特定构件的相关参数;General Information负责将包装好的构件或特定的构件模型的相关信息传递到负责组装构件的功能部分;Feature Access负责抽取特征类及其特征,由于每个构建模型都有其自身支持的特征类,所以为了达到真正意思上的屏蔽需要得到各构件模型支持的特征类及其特征,可以通过getFeatures方法对特征类进行过滤或通过getFeatureInfo方法对所有特征进行检索,构建包装器结构。

参考文献

[1]Labrisse J.嵌入式系统构件[M].2版.袁勤勇,黄绍金,唐青,译.北京:机械工业出版社,2001:130-143.

[2]Abowd G D,Allen R,Garlan D.Formalizing Style to Under-stand Descriptions of Software Architecture[J].ACM Trans-actions on Software Engineering and Methodology,1995,4(4):319-364.

[3]Sakamura K,Koshizuka N.T-Engine:The Open,Real-TimeEmbedded-Systems Platform[J].IEEEMicro,2002,22(6):48-57.

嵌入式Linux操作系统分析 篇8

嵌入式系统具有的涵盖范围很大, 因此很难对其赋予一个相对准确的定义。广义上说嵌入式系统是将软件模块与硬件元件进行整合的综合体。其硬件模块一般是通过外围接口电路与微处理器所构成, 软件的组成部分则包括了操作平台和其所兼容的应用软件。嵌入式系统具有以下几个特点, 分别为: (1) 它服务的对象是用户、产品以及应用。 (2) 它能够承载多任务运行系统。 (3) 可以通过计算机技术、半导体技术、电子技术对其进行相应的完善, 让它具有广泛的适用性。随着嵌入式系统的发展, 其本身的构成也越来越复杂, 这就给嵌入式系统的操控带来一定的要求。对于嵌入式实时操作系统要进行四个方面的完善即为:实时性、系统精简性、功能扩展性和轻量化网络支持。这样将能够简化系统的操作, 让系统能够更加容易地使用。

二、嵌入式Linux操作系统的设计

嵌入式Linux是以嵌入式系统需求为导向, 而对Linux内核代码进行修改而成的, 这就使得嵌入式Linux同一般的Linux存在一定差别, 主要表现在Linux内核的不同。一般的Linux其内核主要应用PC平台, 而嵌入式Linux内核则是嵌入式目标平台。在对嵌入式Linux操作系统进行设计时, 要把握好内存管理和进程管理等几个部分[3]。

2.1嵌入式Linux操作系统内存管理。在嵌入式Linux操作系统中, 为了使程序运行的安全性得到保障, 需要使每个应用程序管理好自身内存, 并通过程序员的编程使内存访问的界限不被逾越。操作系统可以根据嵌入式应用程序的申请和释放时提供的参数, 申请不同需求的内存, 使嵌入式应用程序开发更加简便, 同时也使程序运行的安全性得到保障。部分嵌入式处理器提供了内存管理单元, 内存管理单元的地址映射和寻址功能使嵌入式Linux操作系统内存管理更加方便。目前, Clinux通过Flat寻址模式使地址转换得以实现, 并使应用程序所有寻址指令的地址得到修改, 从实现多个应用程序共同使用同一个物理地址。

2.2嵌入式Linux操作系统任务管理。普通Linux操作系统中, 调度策略标识为SCHED_RR、任务类型为实时任务时, 所使用的调度算法为基于优先级的轮转算法;调度策略标识为SCHED_FIFO、任务类型为实时任务时, 所使用的调度算法为先进先出算法;调度策略标识为SCHED_OTHER、任务类型为非实时普通任务时, 所使用的调度算法为基于优先级的轮转算法。要使Linux支持实时任务的嵌入式操作系统, 这主要考虑中断处理和进程抢占。在中断处理中, 可在Linux内核和硬件中断之间加入一个实时内核, 目前采用实时机制内核有RT-Linux、DIAPM-RTAI等。在进程抢占中, 为提高Linux内核实时任务抢占非实时任务的能力, 多采用抢占点法和直接将内核改造成可抢占式内核的方式。抢占点法, 主要是在内核运行路径中设置一系列的抢占点, 对实时任务运行进行控制, 如Red Hat公司提供的内核patch中就采用了该种方法;将内核改造成可抢占式内核, 使实时任务需要运行时, 且不在当前任务临界区, 则直接抢占当前任务, 如Monta Vista公司的Hard HatLinux就是使用的该种方法。

三、结语

嵌入式Linux操作系统, 一方面集合了internet上无限的开放源代码资源的优势, 另一方面又体现出嵌入式操作系统个性特征, 表现出性能优异、软件移植简便、代码开放、版权免费等诸多优点。随着嵌入式Linux操作系统设计更加完善, 嵌入式Linux操作系统的市场应用发展前景以及商业机会将会展现出更加广阔的前景。

摘要:嵌入式Linux是以Linux为基础而形成的嵌入式作业系统, 具有性能优异、软件移植简便、代码开放、版权免费等诸多优点。本文主要对嵌入式Linux操作系统进行了浅显的探析。

关键词:嵌入式系统,Linux,操作系统

参考文献

嵌入式操作系统课程教学探讨 篇9

目前,嵌入式系统广泛应用于工业控制、信息采集以及处理、人体学行为模拟以及个人娱乐设备等。随着网络应用的深入,嵌入式系统广泛存在于物联网络设备之中。为了服务这种需求,笔者所在院校计算机专业开设了嵌入式方向相关课程。本文针对嵌入式方向的需求,分析探讨了操作系统课程教学的改革模式。

由于嵌入式系统要求理论与实践紧密结合,因此操作系统课程教学改革从理论教学和实践教学以及考核方式三个方面论述。

1 理论教学

1.1 基于PC的操作系统与嵌入式操作系统比较

操作系统课程教学过去主要是基于PC系统的教学,理论环节主要讲4个部分的内容:进程管理、内存管理、设备管理、文件系统。嵌入式系统具有硬件、软件紧密结合,操作系统和应用程序融为一体的特点。嵌入式操作系统课程具有知识面广、理论与实践紧密结合等特点。学习PC操作系统的目的是并发程序设计,而学习嵌入式操作系统的目的是在定制、移植操作系统的基础上学会交叉编译、交叉调试等嵌入式系统开发方法。

1.2 嵌入式操作系统课程内容

理论课内容如表1所示。

1.3 教学方法

(1)采用多媒体教学;(2)授课内容突出嵌入式系统特点,比如在任务调度中采用优先级调度时,要解决优先级反转问题。在内存管理中同PC机内存管理相比更加简单,不必提供虚存等。

2 实践教学

实践教学在课程环节中占较重的比例,可以分为课内实验和课外实验。

2.1 课内实验

课内实验主要是配合理论课内容开设,总共开始8个实验,一个验证性试验,7个设计性试验,试验内容见表2。

2.2 课外实验

前面理论讲授和课内实验让学生对嵌入式操作系统有了基本的认识和理解,再配以课外实验,可以提高学生综合开发的能力。课外实验可以采用项目方式进行。课内实验在虚拟机上做,课外实验可以在基于ARM芯片系统上开发;课内实验要求独立完成,课外实验可以以小组为单位完成。课外实验内容如表3所示。

3 考核方式

考核成绩由3部分组成:结业考试+课内实验+课外实验。其中结业考试用闭卷笔试,占50%,主要考核理论知识,课内实验占40%,课外实验占10%。这种考核方式可以兼顾考核理论与实践内容的掌握程度。

4 结语

本文提出了一种嵌入式操作系统的教学模式,该模式理论和实验各占50%,加重了实验环节的比例,体现了嵌入式方向的特点,以期更好地培养合格的嵌入式系统开发人才。

摘要:计算机操作系统课程是计算机专业的主干课程之一。为适应嵌入式方向需要,提出了一种理论加课内外实验的教学模式,并给出了每个环节的教学方案。

关键词:嵌入式系统,操作系统,教学模式

参考文献

[1]潘懋元,周群影.从高校分类的视角看应用型本科课程建设[J].中国大学教学,2009(3).

[2]罗蕾.嵌入式实时操作系统及应用开发[M].第3版.北京:北京航空航天大学出版社,2011.

上一篇:网站资源下一篇:纺织品进出口