系统移植实验手册
更新时间:2023-10-07 16:37:01 阅读量: 综合文库 文档下载
- 系统移植推荐度:
- 相关推荐
嵌入式学院实验手册
系统移植部分
嵌入式学院教材开发部 编著 (内部资料,请勿外传)
嵌入式学院(2011) 版权所有V3.0
1
目录
目录 .................................................................................................................................................. 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/crosstool-ng/01-fixes/
2、工具的安装
在使用之前先安装下列软件
$ sudo apt-get install gawk autotools-dev automake texinfo libtool cvs patch bison flex libncurses5-dev
为了节约时间,我们已下载了相关的安装包,大家可以在本地安装 $ sudo dpkg -i tools/*.deb
3、 解压工具链压缩包 $ cd ~
$ tar xvf arm-none-linux-gnueabi.tar.bz2 $ mv arm-2010.09 toolchain
3
华清远见--嵌入式学院 第二期课程实验手册 v2.0
4、 环境变量的添加
修改文件/etc/bash.bashrc添加如下内容 export PATH=$PATH:/home/linux/toolchain/bin 重启配置文件
$ source /etc/bash.bashrc
5、 工具链的测试
$ arm-none-linux-gnueabi-gcc –v Using built-in specs.
Target : arm-none-linux-gnueabi
Configured with: /home/linux/src/gcc-4.5.1/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=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 --disable-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-linux-gnueabi//sys-root --disable-nls --enable-symvers=gnu --enable-c99 --enable-long-long Thread model: posix
gcc version 4.5.1 (Sourcery G++ Lite) 这个时候我们的交叉工具链就安装好了
4
华清远见--嵌入式学院 第二期课程实验手册 v2.0
实验二 u-boot的烧写及使用
【实验目的】
了解u-boot-2011.09的代码结构及移植方法。
【实验环境】
1、 ubuntu 10.10发行版 2、 u-boot-2011.09 3、 FS_S5PC100平台
4、 交叉编译器 arm-none-linux-gnueabi-gcc 【实验步骤】
1、 u-boot的烧写
先认真阅读FS_S5PC100平台用户手册
关闭开发板电源,将拨码开关SW1调至0001(usb启动模式)后打开电源
加载运行USB Installer_DDR2.bin
USB Port ? Transmit ? Transmit,选中image目录下的USB Installer_DDR2.bin
5
华清远见--嵌入式学院 第二期课程实验手册 v2.0
加载运行u-boot.bin
USB Port ? Transmit ? Transmit,选中image目录下的u-boot.bin 如下图所示
串口终端下能看到如下内容(如果有倒计时数字,按任意键出现提示符)
6
华清远见--嵌入式学院 第二期课程实验手册 v2.0
针对有些学生DNW不能用,删除C盘下的dnw.ini即可。 设置并保存环境变量
# printenv // 查看环境变量的值并按如下设置 # 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目录下
烧写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
设置虚拟机
拷贝/image/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 20008000
7
华清远见--嵌入式学院 第二期课程实验手册 v2.0
3、 从nand flash加载内核和文件系统 拷贝rootfs.cramfs到虚拟机/tftpboot目录下 烧写内核镜像到nand flash # 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 root=/dev/mtdblock2 # saveenv
4、 重新启动开发板,u-boot自动加载、执行内核
8
init=/linuxrc console=ttySAC0,115200
华清远见--嵌入式学院 第二期课程实验手册 v2.0
5、 u-boot其他命令
u-boot支持的命令我们可以通过在终端上输入”?”查看
6、 交叉编译和交叉调试
9
华清远见--嵌入式学院 第二期课程实验手册 v2.0
? 编辑程序源码myapp.c
? 交叉编译后复制到/source/rootfs (编译时添加选项-g)
? 复制gdbserver到/source/rootfs (gdbserver在工具链安装路径下查找) ? 在开发板上如下运行
# gdbserver 192.168.1.200:1234 myapp & ? 在主机上运行交叉调试器
$ 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目录挂载到板子上的某一个目录。
10
正在阅读:
系统移植实验手册10-07
交通运输部关于印发《全国重点营运车辆联网联控系统考核管理办法05-25
墨玉县扎瓦乡农贸市场(道路、混凝土地坪、彩砖地面)建设工程(技06-05
排球正面双手垫球公开课教案03-14
集团公司总工程师在林区安全生产电视电话会议上的讲话08-23
设计好你的人生之路05-16
语文人教版五年级下册《半截蜡烛》01-15
各章习题12-08
测回法观测水平角实验报告04-26
语法习题(有答案)04-13
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 移植
- 实验
- 手册
- 系统