系统移植实验手册讲解

上传人:我** 文档编号:113574612 上传时间:2019-11-09 格式:DOC 页数:79 大小:809.75KB
返回 下载 相关 举报
系统移植实验手册讲解_第1页
第1页 / 共79页
系统移植实验手册讲解_第2页
第2页 / 共79页
系统移植实验手册讲解_第3页
第3页 / 共79页
系统移植实验手册讲解_第4页
第4页 / 共79页
系统移植实验手册讲解_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《系统移植实验手册讲解》由会员分享,可在线阅读,更多相关《系统移植实验手册讲解(79页珍藏版)》请在金锄头文库上搜索。

1、嵌入式学院实验手册系统移植部分嵌入式学院教材开发部 编著(内部资料,请勿外传)嵌入式学院(2011) 版权所有V3.0目录2目录2实验一 交叉工具链的安装3实验二 u-boot的烧写及使用5实验三 u-boot-2011.09的移植10实验四 内核的配置和编译23实验五 网卡驱动的移植25实验六 LED驱动的移植28实验七 Nand flash驱动的移植31实验八 LCD驱动的移植35实验九 USB驱动的移植36实验十 SD卡驱动的移植40实验十一 yaffs2文件系统的移植42实验十二 内核调试44实验十三 内存调试46实验十四 文件系统的移植49实验十五 UDEV的移植55华清远见-嵌入式

2、学院 第二期课程实验手册 v2.0实验一 交叉工具链的安装【实验目的】了解交叉工具链的编译过程及其使用。说明:在实验中命令行提示符 为“$”表示在主机上运行,“#”表示在目标板上运行【实验环境】1、 ubuntu 10.10发行版2、 FS_S5PC100平台【实验步骤】1、如果要自己编译工具链,从以下链接下载源码crosstools-ng下载地址http:/ymorin.is-a-geek.org/download/crosstool-ng/ 同时对每一个版本都有相应的补丁我们尽量把这些补丁打上,这些补丁的下载地址是http:/ymorin.is-a-geek.org/download/cr

3、osstool-ng/01-fixes/ 2、工具的安装在使用之前先安装下列软件$ sudo apt-get install gawk autotools-dev automake texinfo libtool cvs patch bison flex libncurses5-dev 为了节约时间,我们已下载了相关的安装包,大家可以在本地安装$ sudo dpkg -i tools/*.deb3、 解压工具链压缩包$ cd $ tar xvf arm-none-linux-gnueabi.tar.bz2$ mv arm-2010.09 toolchain4、 环境变量的添加修改文件/etc/

4、bash.bashrc添加如下内容export PATH=$PATH:/home/linux/toolchain/bin重启配置文件$ source /etc/bash.bashrc5、 工具链的测试$ arm-none-linux-gnueabi-gcc vUsing built-in specs.Target : arm-none-linux-gnueabiConfigured with: /home/linux/src/gcc-4.5.1/configure -build=i686-build_pc-linux-gnu -host=i686-build_pc-linux-gnu -tar

5、get=arm-none-linux-gnueabi -prefix=/home/linux/toolchain -with-sysroot=/home/linux/toolchain/arm-none-linux-gnueabi/sys-root -enable-languages=c,c+,fortran -disable-multilib -with-arch=armv5te -with-float=soft -with-pkgversion=crosstool-NG-1.8.1-none -disable-sjlj-exceptions -enable-_cxa_atexit -dis

6、able-libmudflap -with-gmp=/home/linux/toolchain/toolchain-build/targets/arm-none-linux-gnueabi/build/static -with-mpfr=/home/linux/ toolchain/toolchain-build/targets/arm-none-linux-gnueabi/build/static -enable-threads=posix -enable-target-optspace -with-local-prefix=/home/linux/toolchain/arm-none-li

7、nux-gnueabi/sys-root -disable-nls -enable-symvers=gnu -enable-c99 -enable-long-longThread model: posixgcc version 4.5.1 (Sourcery G+ Lite) 这个时候我们的交叉工具链就安装好了实验二 u-boot的烧写及使用【实验目的】了解u-boot-2011.09的代码结构及移植方法。【实验环境】1、 ubuntu 10.10发行版2、 u-boot-2011.093、 FS_S5PC100平台4、 交叉编译器 arm-none-linux-gnueabi-gcc【实验步

8、骤】1、 u-boot的烧写先认真阅读FS_S5PC100平台用户手册关闭开发板电源,将拨码开关SW1调至0001(usb启动模式)后打开电源 加载运行USB Installer_DDR2.binUSB Port Transmit Transmit,选中image目录下的USB Installer_DDR2.bin 加载运行u-boot.binUSB Port Transmit Transmit,选中image目录下的u-boot.bin 如下图所示串口终端下能看到如下内容(如果有倒计时数字,按任意键出现提示符)针对有些学生DNW不能用,删除C盘下的dnw.ini即可。设置并保存环境变量# p

9、rintenv / 查看环境变量的值并按如下设置# setenv baudrate 115200# setenv ethaddr 11:22:33:44:55:66# setenv gatewayip 192.168.1.1# setenv serverip 192.168.1.100 / serverip要和虚拟机的ip相同# setenv ipaddr 192.168.1.200 / ipaddr也可以是192.168.1.x其他值# setenv netmask 255.255.255.0保存环境变量# saveenv拷贝image/u-boot.bin到虚拟机/tftpboot目录下烧

10、写u-boot.bin到nand flash起始地址# tftp 20008000 u-boot.bin# nand erase 0 40000# nand write 20008000 0 40000关闭开发板电源,将拨码开关SW1调至0000(nand启动模式)后打开电源2、 通过网络加载内核和文件系统设置内核启动参数# setenv bootargs root=nfs nfsroot=192.168.1.100:/source/rootfs ip=192.168.1.200 init=/linuxrc console=ttySAC0,115200# saveenv设置虚拟机拷贝/imag

11、e/zImage到虚拟机/tftpboot目录下解压rootfs.tgz到虚拟机/source目录下修改虚拟机nfs配置文件/etc/exports,添加如下内容并重启nfs服务/source/rootfs *(rw,sync,no_subtree_check,no_root_squash)$sudo /etc/init.d/nfs-kernel-server restart下载、启动内核# tftp 20008000 zImage# go 200080003、 从nand flash加载内核和文件系统拷贝rootfs.cramfs到虚拟机/tftpboot目录下烧写内核镜像到nand fla

12、sh# tftp 20008000 zImage# nand erase 100000 300000# nand write 20008000 100000 300000 烧写文件系统镜像到nand flash# tftp 20008000 rootfs.cramfs# nand erase 400000 400000# nand write 20008000 400000 400000设置启动参数# setenv bootdelay 3# setenv bootcmd nand read 20008000 100000 300000; go 20008000# setenv bootargs

13、 root=/dev/mtdblock2 init=/linuxrc console=ttySAC0,115200 # saveenv4、 重新启动开发板,u-boot自动加载、执行内核5、 u-boot其他命令u-boot支持的命令我们可以通过在终端上输入”?”查看6、 交叉编译和交叉调试 编辑程序源码myapp.c 交叉编译后复制到/source/rootfs (编译时添加选项-g) 复制gdbserver到/source/rootfs (gdbserver在工具链安装路径下查找) 在开发板上如下运行# gdbserver 192.168.1.200:1234 myapp & 在主机上运行

14、交叉调试器$ arm-none-linux-gnueabi-gdb myapp 在交叉调试器下和开发板gdbserver建立连接(gdb) target remote 192.168.1.200:1234 设置断点,输入命令c开始调试程序(注意观察串口输出)我们可以在板子上使用mount -o nolock 192.168.1.110:/home/kmart/2410/rootfs test/把虚拟机上的nfs目录挂载到板子上的某一个目录。实验三 u-boot-2011.09的移植【实验目的】了解u-boot-2011.09的代码结构及移植方法。【实验环境】1、 ubuntu 10.10发行版2、 u-boot-2011.093、 FS_S5PC100平台4、 交叉编译器 arm-none-linux-gnueabi-gcc【实验步骤】说明:后面实验中的命令行提示符是($)则为主机命令(主机上执行),(#)则为开发板命令(

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

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

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