构建嵌入式Linux平台开发

  • 格式:doc
  • 大小:637.00 KB
  • 文档页数:26

I

四 川 理 工 学 院

课 程 设 计 书

院别 计算机学院

专业 计算机科学与技术

班级 计科2007级 1 班

题目 构建嵌入式Linux开发平台

教师 付永红

学生 毛超、王成、李世强、颜刚

II 摘 要

目前,进行嵌入式Linux(包括μCLinux)开发,从裸机到能够正常调试嵌入式Linux的应用程序,一般都需要两种操作系统:Windows和Linux。大多数开发平台,在固化好的平台的IOBS代码之前,都需要在Windows下进行操作;当固化好BIOS代码后,根据BIOS代码提供功能的不同而有不同的要求,可在Windows下或者Linux下操作。

本次课程设计就是基于在Linux下而开发的Linux系统。

III 目 录

1.设计目的 „„„„„„„„„„„„„„„„„„„„„„„ 1

2.设计内容 „„„„„„„„„„„„„„„„„„„„„„„ 2

3.设计要求„„„„„„„„„„„„„„„„„„„„„„„ 3

4.任务分配„„„„„„„„„„„„„„„„„„„„„„„ 4

5. 设计流程图 „„„„„„„„„„„„„„„„„„„„„10

6. 设计代码(步骤)„„„„„„„„„„„„„„„„„„„„12

6.1 标题 „„„„„„„„„„„„„„„„„„„„„„19

6.2 标题 „„„„„„„„„„„„„„„„„„„„„„21

7. 设计结果 „„„„„„„„„„„„„„„„„„„„„„25

8. 总 结 „„„„„„„„„„„„„„„„„„„„„„„„25

参考文献 „„„„„„„„„„„„„„„„„„„„„„„„课程设计书

1 课程设计书

2 1.设计目的

领会理解课程设计题目意图,掌握课程设计的基本方法与基本步骤;能够熟练运用所学知识查找相关资料并解决具体问题,通过构建嵌入式Linux开发平台,了解嵌入式系统的整体工作环境与工作过程,锻炼学生整体掌握嵌入式开发的能力,通过与同学合作锻炼学生的团队合作能力。

2.设计内容

完成嵌入式Linux开发环境的构建,并写出相关配置和设计报告,应包括以下几个部分:

1 搭建交叉编译环境

2 编译Linux内核的方法

3 烧写Bootloader的烧写

4 下载Linux操作系统

3.设计要求

3.1 正确安装交叉编译器

3.2 正确配置交叉编译环境

3.3 正确编译Linux内核

3.4 正确烧写Bootloader 课程设计书

3 3.5 正确配置下载环境,下载Linux操作系统。

在设计中要做到比较全面及灵活地运用所学到的基本理论和基本知识。培养独立分析和解决实际问题的能力。认真分析嵌入式开发流程,与同组同学合作,通过充分的讨论得到相关的结论。

4.任务分工

姓名 任务

毛超

颜刚

李世强

王成

5.设计流程图

6.设计代码(步骤)

6.1构建嵌入式Linux开发环境

6.1.1安装交叉编译器

编译器软件包:cross_2.95.3.tar.bz2

进入Linux操作系统,进入root权限

(1)在/usr/local/目录下建立目录arm,将软件包解压至该目录,使用的命令操作如下:

# mkdir /usr/local/arm 课程设计书

4 # tar xjvf cross_2.95.3.tar.bz2 –C

/usr/local/arm

交叉编译器安装在/usr/local/arm/2.95.3目录下。

(2)为Shell增加交叉编译器路径:

(a)使用export命令增加环境变量:

# export PATH=$PATH:/usr/local/arm/2.95.3/bin

(b)修改/etc/profile 文件:

# vi /etc/profile

增加路径设置:

pathmunge /usr/local/arm/2.95.3/bin。

6.1.2安装ARM Linux内核

内核软件包:linux-2.4.18-rmk7-pxa1-mz5-zhiyuan.tar.bz2

(1)建立/zylinux目录,将ARM Linux源代码解压至该目录下。

# mkdir /zylinux

# tar xjvf

linux-2.4.18-rmk7-pxa1-mz5-zhiyuan.

tar.bz2 –C /zylinux 课程设计书

5 (2)编译ARM Linux内核。进入主界面后,装载默认配置文件ZY2410x,然后建立依赖关系,最后编译即可。

# cd /zylinux/kernel

# make distclean (如果不是第一次编译)

# make menuconfig

# make dep

# make zImage

Linux内核配置主界面 课程设计书

6

装载默认配置文件

6.1.3设置NFS服务器

(1)设置服务器网卡:

包括IP地址、掩码地址等

课程设计书

7

课程设计书

8

(2)关闭防火墙

从Main Menu,选择System Settings-> Security

Level,进入安全级别设置界面,将其安全级别设置,为No Firewall。

(3)去掉iptables服务 课程设计书

9 从Main Menu,选择System Settings-> Server

Settings->Services,在弹出的界面中,将iptables、ip6tables和ipchains前面的“√”去掉。

(3)关闭SELinux

(4)启动NFS服务

从Linux的Main Menu,选择System Settings->Server Settings->NFS Server, 添加NFS路径。 课程设计书

10

测试NFS服务,可以将主机上的共享目录mount到自课程设计书

11 己另外一个目录下,命令如下:

# mount 192.168.41.42:/zylinux/root /mnt

然后查看/mnt目录下是否有/zylinux/root目录下的文件,如果有的话,则NFS服务启动成功。

提示:如果NFS启动不成功,在/etc/rc.local文件末尾添加命令,让每次开机即启动NFS服务。

service portmap start

service nfs start

宿主机嵌入式开发环境已经建立完毕:

交叉编译器路径: /usr/local/arm/2.95.3

嵌入式Linux安装路径: /zylinux/kernel

NFS根文件系统所在路径:/zylinux/root

宿主机IP地址:192.168.0.94

6.2构建嵌入式Linux目标平台

6.2.1相关文件

ftp root目录下包含bin、boot、etc和root等文件夹以及zlg_ftp.ini、modules.tar等文件,所有文件都要下载到NAND FLASH中,在整个Linux系统中为/usr目录。 课程设计书

12 (1) 文件概览

文件夹 包含文件 说明

zlg_ftp.ini ftp下载设置

modules.tar 一些模块驱动

bin dm9000.ko 网卡芯片DM9000E驱动程序

boot init.img RAMDISK映象文件

param.bin Linux启动参数

qtopia Qt和Qtopia映象

zImage Linux内核映象

zlg_boot.ini ZLG/BOOT设置

etc rc Linux启动脚本(/usr/etc/rc)

root /root链接的目标目录

(2)zlg_ftp.ini 课程设计书

13 zlg_ftp.ini文件决定使用ftp对系统进行更新下载时实验箱的IP地址、网关、掩码地址和MAC地址的设定。

IP=192.168.15.15

GateWay=192.168.0.1

IPMark=255.255.255.0

MacID=0x00,0x14,0x97,0x0f,0x00,0x41

(3)zlg_boot.ini

zlg_boot.ini决定着ZLG/BOOT下载模式选择菜单名称和ZLG/BOOT加载映象文件的顺序和一些其它设置。

#run Linux for MagicARM2410

load 0x30008000 a:\boot\zImage

load 0x30000100 a:\boot\param.bin

load 0x33C00000 a:\boot\init.img

set R0=0x00

#mach type, s3c2410 is 193

set R1=0xC1

set R2=0x30000100