嵌入式系统技术与设计 教学课件 ppt 作者 刘洪涛 孙天泽 第8章 嵌入式Linux实验

上传人:E**** 文档编号:89375584 上传时间:2019-05-24 格式:PPT 页数:52 大小:1.77MB
返回 下载 相关 举报
嵌入式系统技术与设计 教学课件 ppt 作者  刘洪涛 孙天泽 第8章  嵌入式Linux实验_第1页
第1页 / 共52页
嵌入式系统技术与设计 教学课件 ppt 作者  刘洪涛 孙天泽 第8章  嵌入式Linux实验_第2页
第2页 / 共52页
嵌入式系统技术与设计 教学课件 ppt 作者  刘洪涛 孙天泽 第8章  嵌入式Linux实验_第3页
第3页 / 共52页
嵌入式系统技术与设计 教学课件 ppt 作者  刘洪涛 孙天泽 第8章  嵌入式Linux实验_第4页
第4页 / 共52页
嵌入式系统技术与设计 教学课件 ppt 作者  刘洪涛 孙天泽 第8章  嵌入式Linux实验_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《嵌入式系统技术与设计 教学课件 ppt 作者 刘洪涛 孙天泽 第8章 嵌入式Linux实验》由会员分享,可在线阅读,更多相关《嵌入式系统技术与设计 教学课件 ppt 作者 刘洪涛 孙天泽 第8章 嵌入式Linux实验(52页珍藏版)》请在金锄头文库上搜索。

1、嵌入式系统技术与设计,第8章 嵌入式Linux实验,本章在前面理论内容的基础上,通过实验,让读者了解在嵌入式平台上移植Linux系统的过程。本章选取的实验涵盖了嵌入式Linux开发的重要环节,包括工具链编译、U-Boot移植、Linux内核移植、根文件系统的制作、Linux内核模块程序和简单字符驱动程序编写等。,本章主要内容: 嵌入式Linux开发环境建立 移植U-Boot实验 烧写U-Boot实验 Linux内核编译与下载实验 Linux内核移植实验 文件系统制作实验 编写Linux内核模块实验 编写带参数的Linux内核模块实验 编写Linux字符驱动程序实验,8.1 搭建嵌入式Linux

2、开发环境,通过运用crosstool-0.43.tar.gz脚本工具包来制作交叉编译器,并且此编译器能够编译Linux-2.6.14内核。本实验旨在让读者学会一种编译制作交叉编译器的方法。在实际开发中,大多根据编译目标选择一个编译好的、经过测试的交叉编译器。本书后面的实验也是灵活地采用适当的交叉编译器。,8.1.1 实验目的,(1)Ubuntu 7.0.4发行版 (2)Linux-2.6.14内核 (3)Embest EduKit2410平台,8.1.2 实验环境,(1)#apt-get d install flex (2)#dpkg -i /var/cache/apt/archives/fl

3、ex_2.5.33-10build1_i386.deb (3)#mkdir /home/Linux/crosstool downloads (4)#su Linux(Linux是一个普通用户名称,用户可以使用系统中的其他普通用户) (5)解压软件包,并进入该目录,查看里面的脚本文件,8.1.3 实验步骤,(6)#vim demo-arm-softfloat.sh (7)#vim gcc-3.4.5-glibc-2.3.6.dat (8)# ./ demo-arm-softfloat.sh (9)修改build/arm-softfloat-Linux-gnu/gcc-3.4.5-glibc-2.

4、3.6/build-glibc/csu/version-info.h为:,(10)在eval cat arm-softfloat.dat gcc-3.4.6-glibc-2.3.6.dat sh all.sh -notest 末尾处加-nounpack表示不重新解压安装包,目的是让安装过程继续进行,而不覆盖掉以前的编译 结果。 (11)# ./ demo-arm-softfloat.sh (12)#export PATH=$PATH:/home/Linux/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-Linux-gnu/bin: (13)#cd

5、/source/kernel/Linux- 2.6.14 (14)#vim Makefile,8.2 移植U-Boot实验,了解U-Boot-1.3.1的代码结构,掌握其移植方法。,8.2.1 实验目的,(1)Ubuntu 7.0.4发行版 (2)U-Boot-1.3.1 (3)Embest EduKit2410平台 (4)交叉编译器 arm-softfloat-Linux-gnu- 3.4.5,8.2.2 实验环境,(1)解压文件 (2)进入U-Boot源码目录 (3)创建自己的开发板 (4)建立编译选项 (5)编译,8.2.3 实验步骤,1建立自己的平台类型,(1)修改中断禁止部分 (2)

6、修改时钟设置(这个文件要根据具体的平台进行修改) (3)将从Flash启动改成从Nand Flash启动 (4)在“_start_armboot: .word start_armboot ”后加入:,2修改cpu/arm920t/start.S文件,完成U-Boot的重定向,(1)加入Nand Flash的初始化函数 (2)配置GPIO和PLL,3创建board/EduKit2410/nand_read.c文件,加入读Nand Flash的操作 4修改board/EduKit2410/EduKit2410.c文件,加入Nand Flash操作,(1)加入命令定义(Line 39) (2)修改命

7、令提示符(Line 114) (3)修改默认载入地址(Line 125) (4)加入Flash环境信息(在Line 181前) (5)加入Nand Flash设置(在文件结尾处) (6)加入Nand Flash启动支持(在文件结尾处) (7)加入usb的支持,5修改include/configs/EduKit2410.h头文件,(1)加入函数原型定义 (2)修改saveenv函数 (3)修改env_relocate_spec函数,6修改include/Linux/mtd/nand.h头文件 7修改include/Linux/mtd/nand_ids.h头文件 8修改common/env_nan

8、d.c文件,(1)首先添加头文件#include (2)修改do_go函数。具体修改为:,9修改common/cmd_boot.c文件,添加内核启动参数设置,10交叉编译U-BOOT,8.3 烧写U-Boot实验,掌握烧写Bootloader的方法。,8.3.1 实验目的,(1)Ubuntu 7.0.4发行版 (2)Embest EduKit2410平台 (3)交叉编译器版本 arm-softfloat-Linux-gnu- 3.4.5,8.3.2 实验环境,8.3.3 实验步骤,图8-1 并口驱动安装界面,图8-2 K9S1208烧写界面一,图8-3 K9S1208烧写界面二,8.4 Lin

9、ux内核编译与下载实验,8.4.1 实验目的,本实验针对Linux-2.6以上的内核,通过本实验可以使读者掌握编译Linux内核的方法。,(1)Ubuntu 7.0.4发行版 (2)EduKit2410平台以及开发板中移植好的U-Boot (3)交叉编译器arm-softfloat-Linux-gnu- 3.4.5,8.4.2 实验环境,图8-4 内核选项配置界面,8.4.3 实验步骤,图8-5 编译过程输出,图8-6 编译错误示例,8.5 Linux内核移植实验,本实验是对Linux-2.6.14版本的移植,通过tftp下载zImage并挂载NFS文件系统,实现对Nand Flash的存储管

10、理,并实现对Yaffs2文件系统的支持。通过本实验我们可以基本掌握系统移植的主要步骤和方法,并增加我们对Linux系统的整体认识。实验分为3个部分,分别是:CS8900A网卡驱动移植,k9f1208u0m Nand Flash驱动移植,Yaffs2文件系统移植。,8.5.1 CS8900A网卡驱动移植,1实验目的,本实验在Linux-2.6.14内核上移植CS89900A网卡驱动,使其可以通过网络NFS的方式挂载在Ubantu主机环境上的文件系统,从而实现Linux系统的完全启动。,(1)Ubuntu7.04 (2)Embest EduKit2410平台以及开发板中移植好的U-Boot (3)

11、交叉编译器 arm-softfloat-Linux-gnu- 3.4.5,2实验环境,(1)修改内核根目录的Makefile文件。 (2)配置内核产生.config文件: (3)添加网卡驱动到内核。 (4)修改Makefile和Kconfig文件。 (5)保存退出,修改Kconfig文件。 (6)支持启动时挂载devfs。,3实验步骤,(7)为网卡驱动添加头文件。 (8)建立网卡地址内存映射。 (9)配置内核支持CS8900A网卡。 (10)编译内核产生zImage文件,并将arch/arm/boot/zImge复制到/tftpboot目录中。 (11)复制光盘rootfs-farsight.

12、tar.gz到配置了tftp及NFS服务的Ubantu7.04环境中。 (12)修改内核启动参数。 (13)启动开发平台,在超级终端观察现象。,8.5.2 Nand Flash驱动移植,1实验目的,本实验在Linux-2.6.14内核上移植Nand Flash驱动,使其可以设别到Nand Flash分区,并可以管理相应的Flash设备。从而进一步完善系统结构,并通过移植的过程来了解Nand Flash的移植方法。,(1)Ubuntu7.04 (2)Embest EduKit2410平台以及开发板中移植好的U-Boot (3)交叉编译器 arm-softfloat-Linux-gnu- 3.4.

13、5,2实验环境,在Linux-2.6.14内核中已经包含了s3c2410的Nand Flash控制器驱动,但需要做一些配置工作才能正常使用。 (1)指明分区信息,建立分区表。 (2)建立Nand Flash硬件支持。,3实验步骤,(3)加入Nand Flash芯片支持到Nand Flash驱动。 (4)指定启动时初始化。 (5)配置MTD,具体操作如下: (6)编译内核,并将arch/arm/boot/zImge复制到/tftpboot目录中。 (7)启动系统,在串口终端输入:,8.5.3 Yaffs2文件系统移植,1实验目的,Yaffs2是一种专门为Nand Flash设计的可读写文件系统,

14、本实验是在前面以上的实验的基础上,加入了对Yaffs2的支持,从而进一步完善系统结构,通过移植的过程来了解Yaffs2的移植方法。,(1)Ubuntu 7.0.4 (2)Embest EduKit2410平台以及开发板中移植好的U-Boot (3)交叉编译器 arm-softfloat-Linux-gnu- 3.4.5,2实验环境,(1)下载yaffs2源代码,或从光盘Softwareyaffs2目录复制。下载地址为: (2)修改fs目录下的Makefile: (3)修改fs目录下Kconfig: (4)配置内核选项,目的是内核支持Yaffs2文件系统: (5)编译内核,重新下载。 (6)测试

15、Yaffs2文件系统。,3实验步骤,8.6 文件系统制作实验,熟悉Linux文件系统目录结构,创建自己的文件系统,通过NFS方式集成测试,用文件系统生成ramdisk文件系统映像文件。,8.6.1 实验目的,8.6.2 实验环境,(1)Ubuntu 7.0.4发行版 (2)Embest EduKit2410平台以及开发板中移植好的U-Boot,编译好的Linux-2.6.14内核 (3)交叉编译器 arm-softfloat-Linux-gnu- 3.4.5,8.6.3 实验步骤,(1)下载并配置buxybox源码 (2)安装建立BusyBox文件系统 (3)NFS测试 (4)制作ramdis

16、k文件系统 (5)制作cramfs文件系统和部署 (6)制作jffs2文件系统镜像和部署,8.7 编写Linux内核模块实验,熟悉并能够编写Linux内核程序,了解Linux模块加载机制。,8.7.1 实验目的,8.7.2 实验环境,(1)Ubuntu 7.0.4发行版 (2)Linux-2.6.14内核,8.7.3 实验步骤,(1)编写代码(Hello.c): (2)编译内核模块: (3)将模块加入内核: (4)查看内核模块: (5)查看系统日志: (6)卸载模块:,8.8 编写带参数的Linux内核模块实验,熟悉并能够编写Linux内核程序,了解Linux模块的参数使用方法。,8.8.1 实验目的,(1)Ubuntu 7.0.4发行版 (2)Linux-2.6.14内核,8.8.2 实验环境,(1)编写代码(Hello.c): (2)编译内核模块: (3)将模块加入内核: (4)查看内核模块: (5)查看系统日志: (6)卸载模块:,8.8.3 实验步骤,8.9 编写Linux字符驱动程序

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号