uclinux是什么
- 格式:ppt
- 大小:73.00 KB
- 文档页数:12
UC/OS和uClinux的比较出处:单片机商城发布日期:2005-9-1011:14:28 浏览次数:356UC/OS和uClinux的比较摘要:嵌入式操作系统是嵌入式系统应用的核心软件。
本文通过对两种典型的开源嵌入式操作系统的对比,分析和总结嵌入式操作系统应用中的若干问题,归纳嵌入式操作系统的选型依据。
关键词:嵌入式系统操作系统uC/OS uClinux引言随着现代计算机技术的飞速发展和互联网技术的广泛应用,从PC时代过渡到了以个人数字助理、手持个人电脑和信息家电为代表的3C(计算机、通信、消费电子)一体的后PC时代。
后PC时代里,嵌入式系统扮演了越来越重要的角色,被广泛应用于信息电器、移动设备、网络设备和工控仿真等领域。
嵌入式系统是以嵌入式计算机为核心,面向用户、面向产品、面向应用,软硬件可裁减的,适用于对功能、可靠性、体积、成本、功耗等综合性能有严格要求的计算机系统。
随着嵌入式系统的广泛应用,传统的前/后台程序开发机制已经不能满足日益复杂和荷记得的实现要求,因而现场常常采用嵌入式产时操作系统PROS(Real TimeOperation System)开发实时多任务系统。
嵌入式实时操作系统一般可以提供多任务的任务调度、时间管理、任务间通信和同步以及内存管理MMU(Memory ManagerUnit)等重要服务,使得嵌入式应用程序易于设计和扩展。
采用RTOS可以使嵌入式产品更可靠、开发周期更短。
在嵌入式应用中使用RTOS已经成为当前嵌入式应用的一个热点。
完成简单功能的嵌入式系统一般不需要操作系统。
如,以前许多MCS51系列单片机组成的小系统就只是利用软件实现简单的控制环路;但是随着所谓后PC时代的来临,嵌入式系统设计日趋复杂,嵌入式操作系统就必不可少了。
嵌入式RTOS在系统实时高效性、硬件的相关依赖性、软件固化以及应用的专业性等方面具有较为突出的优势。
一般而言,嵌入式操作系统不同于一般意义的计算机操作系统,它有占用空间小、执行效率高、方便进行个性化定制和软件要求固化存储等特点。
uCLinux开发介绍严永红Linux是当前一种非常受欢迎的操作系统,它与UNIX系统兼容,并开放源代码。
它包含所有现代操作系统所具有的一切特性,包括多任务,虚拟内存,代码共享,按需载入,内存管理,以及TCP/IP网络。
并且,它遵循POSIX标准,只要是遵循POSIX API的应用程序很容易被移植。
目前,随着嵌入式系统的蓬勃发展。
Linux也已对嵌入式系统的开发产生具大影响。
大多数流行的CPU都被移植上去,ARM, PowerPC , MIPS, 68K, SPARC, Alpha, SH 等等. 这些CPU都含有一种叫做内存管理单元(MMU)的硬件,来支持标准Linux所需要的虚拟内存。
但在嵌入式世界里,还有很多CPU是没有MMU的,象ARM7、68328等等。
uClinux 正是为了解决这种没有MMU的CPU而产生的。
在uCLinux这个英文单词中,u表示Micro,小的意思,C表示Control,控制的意思,连起来就是Micro-Control-Linux, ―运行在微控制器上的Linux.‖针对这种没有MMU的CPU架构,uCLinux采用了一种平板式(Flat)的内存模型来去除对MMU的依赖, 并且改变了用户程序的加载方式,开发了运用于uCLinux的C函数库--uCLibc. 由于这些变化,一般的Linux开发工具(例如GDB)在开发uCLinux时会碰到一些困难,包括内核的移植,驱动程序及应用程序的调试。
针对这样状况。
Hitool System公司开发了Hitool for uClinux开发套件,来帮助用户开发基于uClinux的系统。
Hitool for uClinux与其它的Linux开发工具相比,有几个优点:A.整个开发过程只在Windows环境下完成,包括内核的配臵、编译,应用程序的编译,文件系统的生成,内核的调试,用户程序的调试。
B.可以采用多种调试方式,既可以采用JTAG方式来调试,也可通过网口用Hitool自己的监控程序(MDB)来调试。
uCLinux嵌入式系统开发环境建立
1.Linux 是一种很受欢迎的操作系统
uClinux 这个英文单词u 中的表示小Micro. 小的意思,C 表示Control,控制的意思.所以uClinux 就是Micro-control-Linux,字面上的理解就是针对微控制领域而设计的Linux 系统.
uClinux 以其优异的性能、免费开放的代码等优点,博得众多嵌入式开
发者的青睐,和过去基于简单RTOS 甚至没有使用任何操作系统的嵌入式程序设计相比,基于Linux 这样的成熟的,高效的、健壮的、可靠的、模块化的、
易于配置的操作系统来开发自己的应用程序,无疑能进一提高效率,并具有很
好的可移植性。
基于UCLINUX 的嵌入式系统开发涉及到三个方面:开发环境
的建立,配置UCLINUX 内核和bootloader 以及应用程序的设计,本文将从这
几个方面来阐述的基于UCLINUX 的嵌入式系统的设计。
2.开发环境的建立
开发环境的建立也就是工具链,设置工具链在主机机器上创建一个用于
编译将在目标上运行的内核和应用程序的构建环境?这是因为目标硬件可能没
有与主机兼容的二进制执行级别。
包括Gcc:编译器,可以做成交驻编译的形式,即在宿主机上开发编译目标上可运行的二进制文件。
Binutils:一些畏助工具,
包括objdump(可以反编译二进制文件),as(汇编编译器),id(连接器)等等。
Gdb:调试器,可使用多种交叉方式,gdb-bdm(背景调试工具), gdbserver(使用以太网络调试)。
Glibc-所有用户应用程序都将链接到的C 库。
避免使用任何C 库函数的内核和其它应用程序可以没有该库的情况下进行编译。
一、嵌入系操作系统uClinux的简述 (2)二、开发模式和交叉编译环境的建立 (4)1、主机和目标板的开发模式 (4)2、交叉编译环境 (4)三、uClinux的编译步骤 (5)1、下载uclinux (5)2、解压缩 (5)3、编译uClinux内核 (6)4、使用uClinux (11)四、用户应用程序的开发 (15)1、在uclinux中添加用户的应用程序 (15)2、在make menuconfig中加入用户应用程序的选项 (18)五、uclinux环境分析 (20)1、系统目录结构 (20)z目标板上的uclinux目录结构 (20)z主机上的uclinux-dist目录结构 (21)2、如何实现启动uclinux后自动运行某一程序(rc文件分析) (28)附录 (29)附录A vi使用方法简介 (29)附录B uClinux中断号 (32)一、嵌入系操作系统uClinux的简述操作系统是管理计算机上的资源,为用户使用计算机及其外部设备提供最基本接口的程序。
自从计算机诞生以来,随着计算机、网络技术的快速发展,操作系统一直处于不断发展和改进之中,人们将越来越多的功能加入到操作系统中,导致操作系统越来越大。
但是,随着应用领域的扩大,为了适应不同的应用场合,考虑到系统的灵活性、可伸缩性以及可裁减性,一种以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统---嵌入式操作系统便随之延生。
uClinux是嵌入式Linux的一个分支,所以我们首先来了解一下嵌入式Linux 的特性。
嵌入式Linux是按照上面所说的嵌入式操作系统的要求设计的一种小型操作系统。
由一个kernel(内核)及一些根据需要进行定制的系统模块组成。
其Kernel很小,一般只有几百K左右,即使加上其它必要的模块和应用程序,所需的存储空间也很小,有些还有具有实时性,如Rtlinux。
两种开源嵌入式操作系统介绍uc/os和uclinux操作系统,是当前得到广泛应用的两种免费且公开源码的嵌入式操作系统。
uc/os适合小型控制系统,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2k。
uclinux则是继承标准linux 的优良特性,针对嵌入式处理器的特点设计的一种操作系统,具有内嵌网络协议、支持多种文件系统,开发者可利用标准linux先验知识等优势。
其编译后目标文件可控制在几百k量级。
uc/os是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。
其内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能。
uclinux是一种优秀的嵌入式linux版本。
uclinux是micro-conrol-linux的缩写。
同标准linux相比,它集成了标准linux操作系统的稳定性、强大网络功能和出色的文件系统等主要优点。
但是由于没有mmu(内存管理单元),其多任务的实现需要一定技巧。
两种嵌入式操作系统主要性能比较嵌入式操作系统是嵌入式系统软硬件资源的控制中心,它以尽量合理的有效方法组织多个用户共享嵌入式系统的各种资源。
其中用户指的是系统程序之上的所有软件。
所谓合理有效的方法,指的就是操作系统如何协调并充分利用硬件资源来实现多任务。
复杂的操作系统都支持文件系统,方便组织文件并易于对其规范化操作。
嵌入式操作系统还有一个特点就是针对不同的平台,系统不是直接可用的,一般需要经过针对专门平台的移植操作系统才能正常工作。
进程调度、文件系统支持和系统移植是在嵌入式操作系统实际应用中最常见的问题,下文就从这几个角度入手对uc/os和uclinux进行分析比较。
进程调度任务调度主要是协调任务对计算机系统内资源(如内存、i/o设备、cpu)的争夺使用。
进程调度又称为cpu调度,其根本任务是按照某种原则为处于就绪状态的进程分配cpu。
由于嵌入式系统中内存和i/o设备一般都和cpu同时归属于某进程,所以任务调度和进程调度概念相近,很多场合不加区分,下文中提到的任务其实就是进程的概念。
嵌入式uCLinux内核启动过程分析
引言
uCLinux 是专门为无MMU 处理器设计的嵌入式操作系统,已支持ARM、Motorola 等微处理器。
目前采用ARM+uCLinux 作为嵌入式系统的一种开发模式非常普遍。
一个基于uCLinux 的完整的嵌入式系统由三个部分组成,即系统引导程序Bootloader、uCLinux 操作系统内核和文件系统。
嵌入式系统的启动引导技术是嵌入式系统开发的一个难点,系统启动引导的成功与否决定了应用程序的运行环境是否能正确建立,系统启动成功是应用正确运行的前提。
而uCLinux 内核的启动过程也是其中重要一环,分析uCLinux 的启动过程,可以加快系统启动速度、正确建立应用环境。
本文要研究的就是uCLinux 操作系统内核的启动过程。
1 系统简介
本系统采用SamSung 公司的Arm7TDMI 内核的S3C4510B 处理器,主要利用其强大的网络功能,与PC 机进行网络通信。
该系统的主要功能是利用串口监测一种智能电表,将获得的数据通过Internet 传给PC 机,由PC 机再做进一步的处理,将最终结果呈现给用户。
硬件平台包括一个以ARM 为内核的处理器、存储器使用2MB 的Flash 和16MB 的SDRAM,外部接口除了通信的串口,还外接了一个以太网接口,以支持S3C4510B 的网络功能。
软件平台由以下部分组成:系统引导程序Bootloader、嵌入式操作系统内核、文件系统。
根据内核是否压缩以及内核是否在本地执行,uCLinux 通常有两种启动方式:flash 本地执行方式和压缩内核加载方式。
本系统采用第二种启动方案,。
嵌入式软件开发技术(5操作系统——嵌入式uClinux简介)林毅申sunsoftware@ 信息学院·计算机科学与工程系·软件工程教研室505什么是uClinux?uClinux是一个完全符合GNU/GPL公约的操作系统,完全开放代码,现在由Lineo公司支持维护。
uClinux的发音是“you-see-linux”,它的名字来自于希腊字母“mu”和英文大写字母“C”的结合。
“mu”代表“微小”之意,字母“C”代表“控制器”,所以从字面上就可以看出它的含义,即“微控制领域中的Linux系统”。
uClinux从何而来?最初的uClinux仅仅支持Palm硬件系统,基于Linux2.0内核。
随着系统的日益改进,支持的内核版本从2.0、2.2、2.4一直到现在最新的2.6。
系统支持的硬件系统也从一种增加到了目前的十余种(支持的硬件平台如Motorola公司的M68328、M68EN322、MC68360、DragonBall系列如68EZ328、68VZ328,ColdFire系列的如5272、5307,ARM7TDMI、MC68EN302、ETRAX、Intel i960、PRISMA、Atari68k等等。
)一、嵌入式uClinux系统概况嵌入式uClinux系统概况⏹uClinux从Linux2.0/2.4/2.6内核派生而来,沿袭了主流Linux的绝大部分特性。
它是专门针对没有MMU的CPU,并且为嵌入式系统做了许多小型化的工作。
⏹适用于没有虚拟内存或内存管理单元(MMU)的处理器。
它通常用于具有很少内存或Flash的嵌入式系统。
嵌入式uClinux系统概况⏹uClinux是为了支持没有MMU的处理器而对标准Linux作出的修正。
它保留了操作系统的所有特性,为硬件平台更好的运行各种程序提供了保证。
⏹在GNU通用公共许可证(GNU GPL)的保证下,运行uClinux操作系统的用户可以使用几乎所有的Linux API函数,不会因为没有MMU而受到影响。
Linux在Blackfin处理器1 Uclinux和Blackfin简介1. 1 UcLinux简介Uclinux是当前广泛应用的一种嵌入式Linux操作系统,是一个完全符合GNU/GPL公约的项目,与UNIX完全兼容,完全开放源码。
英文单词中u表示Micro,c表示control,所以Uclinux 的意思是“微控制领域的Linux系统”。
Uclinux针对嵌入式应用的特点,对Linux的内核(所用版本为linux2.6)进行了修改和重新编译,其大小远小于原来。
它包含Linux常用的API,保留了原来Linux操作系统具有的高稳定性、强大的网络功能和卓越的文件系统支持功能等优点。
1. 2 Blackfin简介Blackfin 系列DSP是ADI公司推出的高性能,低功耗的新一代DSP处理器,融合了Analog Devices/Intel的微信号结构(MSA),其应用范围广泛,包括汽车图像系统,宽带无线系统,多媒体消费电子产品,数字视频录像机,安防与监控,机顶盒和视频会议等。
对下一代的数字通信和消费多媒体应用来说,Blackfin处理器是高度集成的片上系统解决方案。
通过将工业标准接口与高性能的信号处理内核相结合,用户可以快速开发出节省成本的解决方案,而无需昂贵的外部组件。
笔者使用的是BF533,其结构如图1:BF533包括一个UART口、一个SPI口、两个串行口(SPORTs)、四个通用定时器(其中三个具有PWM功能)、一个实时时钟、一个看门狗定时器,以及一个并行外设接口。
1.3 Blackfin+Uclinux的优越性(1) 使用方便(2) 支持网络(3) 源码开放(4) 方便程序开发移植系统结构如图2所示。
2 在Blackfin中嵌入Uclinux操作系统2.1 建立开发环境要在Blackfin上嵌入Uclinux操作系统,首先应建立相应的开发环境。
笔者所用的主机系统和开发平台如下:Windows XP与REDHAT 9.0双操作系统P4 1.8GHz,512 MB内存Blackfin533 EZ-KIT 开发板Linux环境下的程序通过GNU的一系列工具完成编译工作,其中包括预处理、编译、汇编和连结4个互相关联的步骤,每一步由相关工具完成。
嵌入式操作系统uClinux操作系统是嵌入式系统的灵魂,而且在同一个硬件平台上可以嵌入不同的嵌入式操作系统。
比如7TDMI内核,可以嵌入Nucleus、、等操作系统。
在此主要对uClinux的举行介绍,嵌入式uClinux操作系统主要有三个基本部分组成:引导程序、uClinux内核(由内存管理、进程管理和中断处理等构成)和文件系统。
uClinux可以通过定制使内核小型化,还可以加上GUI(图形用户界面)和定制应用程序,并将其放在ROM、RAM、FLASH或Disk On Chip中启动。
因为嵌入式uClinux操作系统的内核定制高度灵便性,开发者可以很简单地对其举行按需配置,来满足实际应用需要。
又因为uClinux是源代码藏匿,因此开发人员惟独了解内核原理就可以自己开发部分软件,例如增强各类驱动程序。
下面将具体分析嵌入式操作系统uClinux。
2 嵌入式uCinux内核结构uClinux内核结构1所示:图1代表了内核的功能结构,与基本相同,不同的只是对内存管理和进程管理举行改写,以满足无MMU处理器的要求。
uClinux是Linux 操作系统的一种,是由Linux2.0内核进展来的,是专为没有MMU的微处理器(如ARM7TDMI、Coldfire 等)设计的嵌入式Linux操作系统。
另外,因为大多数内核源代码都被重写,uClinux的内核要比原Linux 2.0内核小的多, 但保留了Linux 操作系统的主要优点:稳定性,优异的网络能力以及优秀的文件系统支持。
3 uClinux的内存管理uClinux同标准Linux的最大区分就在于内存管理。
标准Linux是针对有MMU的处理器设计的。
在这种处理器上,虚拟地址被送到MMU,MMU把虚拟地址映射为物理地址。
通过给予每个任务不同的虚拟—物理地址转换映射,支持不同任务之间的庇护。
对于uCLinux来说,其设计针对没有MMU的处理器,不能用法处理器的虚拟内存管理技术。