APP下载

基于ARM平台的Linux内核移植研究

2015-01-21沙晓艳肖宁

沙晓艳 肖宁

摘要:以S3C2440(ARM920T核)微处理器为核心,搭建硬件平台,通过对Linux2.6.32.2的源代码结构进行分析,进一步修改和优化内核,同时完成整个移植过程的配置和编译,实现Linux内核成功移植到开发板的实验效果。

关键词:S3C2440  Linux内核  内核移植

0 引言

随着计算机、Internet技术的不断发展,嵌入式系统得到广泛应用,同时嵌入式操作系统逐渐成为其中的重要组成部分。对于嵌入式Linux来说,通过对普通Linux操作系统进行裁剪、修改,通过嵌入的方式,使之运行在计算机系统上[1]。将Linux内核移植到一些典型的微控制器和微处理器上,成为前嵌入式Linux的一个热点应用,通过提供操作系统层面的支持,进一步开发嵌入式系统应用软件。

1 Linux内核结构分析

1.1 Linux内核 Linux内核是Linux操作系统的核心,也是整个Linux功能的体现。Linux内核主要由5个子系统组成:进程调度、内存管理、虚拟文件系统、网络接口、进程间通信[2]。

各个子系统之间的依赖关系如图1所示。

图1  子系统之间的关系

1.2 内核源码 Linux内核源码使用目录树结构,通常位于/usr/src/linux目录中,如图2所示。在Linux的源码根目录下存在大量子目录,分别组织存放各种内核子系统或文件的。其中,arch//目录包括所有和体系结构相关的内核代码;include/asm-/目录包括编译内核所需要的大部分include文件;drivers/中存放各种设备驱动程序;mm/目录包括所有的内存管理代码;kernel/目录中存放Linux内核核心代码;fs/目录包含所有的文件系统代码;init/目录包含内核的初始化代码;ipc/目录包含内核的进程间通信的代码;net/目录包含内核的网络代码。……

登录APP查看全文