新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于PC/104平台嵌入式Linux系统核心定制方法

基于PC/104平台嵌入式Linux系统核心定制方法

作者:时间:2012-04-05来源:网络收藏
本文就如何对系统的核心实现定制进行论述,主要内容包括部分和,系统定制的硬件平台是PC/104单片机。之所以将定制、定制单独讨论,是因为在基于任何平台的Linux系统定制过程中,其的定制工作都具有相似的特征和相似的过程。

在基于PC/104平台的嵌入式Linux研制过程中,进行核心定制的主要目的是从需求出发使系统最大程度地满足应用的需要、最大程度地适应系统硬件平台、最优化地支持系统外围设备和应用程序,并且尽量减少对系统资源的占用、减少系统功耗,增强系统的安全性、稳定性、可靠性,另外使系统真正地实现产权自主化。

内核定制

一般操作系统的内核从体系结构角度可以划分为两种:微内核体系结构、单内核体系结构。微内核体系结构只在内核中包括了一些基本的内核功能,其它部分在用户内存空间运行,这种结构需要在各层之间进行调用,因此会有一定的消耗,使执行效率不如单内核体系结构。Linux采用单内核体系结构,内核的所有部分都集中在一起,这样能使系统的各部分直接沟通,有效地缩短任务之间的切换时间,提高了系统的响应速度,实时性好并提高了CPU的利用率,但在系统比较大的时候体积也比较大,与嵌入式系统容量小、资源有限的特点不符合,因此需要进行非常精细的定制以适应嵌入式系统的需要。

内核版本

Linux 的源程序是完全公开的,任何人只要遵循GPL,就可以对内核加以修改并发布给他人使用。Linux的开发采用的是双树系统。一个树是稳定树(stable tree),另一个树是非稳定树(unstable tree)或称开发树(development tree)。一些新特性、实验性改进等都将首先在开发树中进行,如果在开发树中所做的改进也可以应用于稳定树,那么在开发树中经过测试以后,在稳定树中将进行相同的改进。一旦开发树经过了足够的发展,开发树就会成为新的稳定树。开发树就体现在源程序的版本号中;源程序版本号的形式为x.y.z,对于稳定树来说,y是偶数;对于开发树来说,y比相应的稳定树大一(是奇数)。到目前为止,稳定树的最高版本是2.4.21,开发树的最新版本是2.5.73。本项目采用的内核版本是2.2.20,选择2.2.20版本内核的主要原因有:
a.版本为2.0及以前内核中的设备驱动不如2.2版本的全面;
b.版本为2.2的内核增加了很多新特性;
c.新的版本为2.4的内核对PC/104的CPU块支持不好;
d.由于不明原因版本为214的内核对PC/104 ;
e.版本为2.4内核相对庞大,编译后的内核文件也相对较大;
f.版本为2.2的内核已完全能够满足本项目的需要。

目前,大多数面向数据采集的嵌入式Linux研制工作都是基于版本2.0/2.2内核进行的。实际上,内核版本的提升,其复杂度也随之升高,也会给嵌入式系统的定制工作带来很多的困难。

内核设置

内核设置工作可以通过直接修改内核源代码中的Make file文件、Config.in文件和内核源代码根目录下的.config文件来完成。内核源代码中的每个目录都有各自的用途,每个子目录下也都有相应的Make file文件。例如,在目录drivers/block/ Config.in文件中有如下语句:
if[“$CONFIG_BLK_DEV_HD_DE”=
“y”-o“$CONFIG_BLK_DEV_HD_ONLY”=
“y”];then
define_boolCONFIG_BLK_DEV_HDy
else
define_boolCONFIG_BLK_DEV_HDn
fi
这段语句的作用是定义在块设备中DE块设备驱动可以被编译在内核中也可以被编译成内核模块。采用修改配置文件的方式设置内核比较复杂,而且容易出现错误,但是对深入剖析和理解内核帮助很大。比较有效的方式还是直接利用Linux内核提供的工具进行内核设置。在Linux源代码目录下,Linux内核设置命令是:
# make menu config
命令执行后会显示一个字符型菜单配置环境,在该环境中有以下选项,通过这些选项设置可以定制Linux内核的各项功能,并对内核实现裁减。下面对主要设置选项进行介绍:

(1) Code maturity level options代码成熟等级。此处只有一项:prompt for development and/or incomplete code/drivers,如果要试验现在仍处于实验阶段的功能,就必须把该项选择为Y了;否则可以把它选择为N。在这部分,设定是否允许内核的一些试验选项被使用。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 4 下一页

关键词: Linux 内核 文件系统

评论


相关推荐

技术专区

关闭