新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > ARM设计的uClinux及其应用

ARM设计的uClinux及其应用

作者:时间:2010-12-13来源:网络收藏

摘要:本文讨论了基于的嵌入式操作系统开发及实现。在32位核的微处理器S3C4510B的硬件平台上结合嵌入式实时操作. 完成了系统的硬件的编译、移植,最后实现了程序的添加。

本文引用地址:http://www.eepw.com.cn/article/151207.htm

关键词:;实时操作系统uClinux;S3C4510B;ARM7TDMI

1 嵌入式操作系统uClinux开发

嵌入式软件平台由以下部分组成:系统引导程序、嵌入式操作系统内核、文件系统。系统引导程序通常也称为BootLoad—er ,代码量虽少,但是作用非常大,相当于PC上的BOIS,负责将操作系统内核固化到Flash中和系统初始化工作.然后将系统控制权交给操作系统。文件系统是嵌入式软件平台占用存储量最大的一部分,也是与用户开发最相关的一部分,它存储了系统配置文件、系统程序、用户应用程序和必需的驱动程序。

1.1 BootLoader程序

系统引导程序BootLoader是嵌入式系统加电后执行的第一个程序,一般应写入Flash存储器中并从起始物理地址0x0开始。在应用实际中BootLoader的功能主要有:① 将uCLinux内核和文件系统烧写到目标板中;②系统初始化;③系统的内存映射;④加载uClinux内核

1.2 嵌入式操作系统uCiinux

uClinux就是Micro—Control—Linux,是针对控制领域的嵌入式linux操作系统,它是从Linux 2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性,适合不具备内存管理单元(MMU)的微处理器/微控制器(例如ARM7TDMI),它也是一个完全符合GNU/GPL公约的操作系统,完全开放代码。和主流的Linux相比,uClinux有以下特点:① 简化了内核加载方式,uClinux的内核可以在Flash上直接运行;② 采用romfs文件系统作为root文件系统,相对于一般的ext2使用更少的存储空间;③ 使用了Flat可执行文件格式替代elf格式;④ 使用应用程序库uClibc替代libc。

1.3 uClinux的编译与移植

I-3.1 uClinux系统针对硬件的改动

目前.uClinux已被成功移植到多款微处理器芯片上.但由于嵌入式操作系统的运行是与嵌入式系统的硬件密切相关的.而硬件的则会因为使用场合的不同而千差万别,因此,在uClinux内核源代码中和硬件紧密相关的部分就应该针对特定的硬件作出适当的修改。

本文中所涉及的对uClinux操作系统源代码的裁剪修改主要有以下几个地方:

uClinux内核源代码中对S3C4510B片内特殊功能寄存器以他相关硬件信息的定义文件hardware.h首先要定义系统工作的主时钟频率,本系统的为50MHz。

/********************************/

define$3C4510b CPU master clock

/********************************/

#define MHz l0o0000

#define fMCLK_ MHz (50 MHz)

#define fMCLK (fMCLK_MHz/MHz)

#define MCLK2 (fMCLK_MHz/21

此外对系统SYSCFG寄存器也进行了相关的设置。如Cache操作使能、写缓冲使能以及设置了特殊功能寄存器组的基指针等。最后即定义系统存储器控制寄存器。

1.3.2 编译uClinux内核

在准备好uClinux的内核源代码后.利用交叉编译器就可以编译生成运行在硬件目标板上的uClinux内核。首先将U—Clinux内核源代~uClinux—Samsung一20031005.tar.gz保存到宿主机的用户目录,解压完毕后。就会在用户目录下生成uClinux—Samsung目录。

以下是编译uClinux的具体过程:

使用make menuconfig或者make xconfig命令进行内核配置:

输人命令:make dep


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭