版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式系统概论课外实践报告安阳师范学院安阳师范学院计算机与信息工程学院嵌入式系统课程设计实践选题:内核文件的制作与烧写专业班级: 指导教师: 姓名学号: 成绩评定:题目:内核及文件系统的移植、问题描述及分析由于开发板上只有引导装载程序 (BOOTLOAD) blob,没有linux操作系统,也没有对应的文件系统,因此在开发板上只能实现在blob的引导下,实现开发板的启动,但是不能完成任何其它工作。首先就应该让开发板上有一个操作系统,这可以通过将zimage文件烧写到开发板上实现。虽然操作系统有了,但是还是不能进行文件的创建、删除、更改 等,不能编写应用程序,不能运行应用程序,不能做很多其他工作
2、,要想完成以上的功能,还要在操作系统上添加根文件系统root,在根文件系统中包含有:进行文件操作的必要的指令,实现一些功能的配置文件,对系统进行分区的节点, 基本程序运行所需要的函数库。这样可以将操作系统完善化,实现开发板上拥有 完善的操作系统,可以运行编译好的程序等功能。、课程设计内容1、系统结构与软件设计流程系统结构如下:基本文件系统结构,如 /bin、/dev、/etc、/lib、/proc、/sbin、/usr、/home、/mnt;基本的应用程序,如sh、Is、cp、mvpwd mkdir 等;低限度的配置文件,如in ittab、fstab等;基本的设备:/dev/ null、/d
3、ev/c on sole、/dev/ tty*、/dev/ttyS* 、对应flash分区的设备节点等;基本程序运行所需的函数库:libc.so.6、ld-linux.so.2。设计流程图如下:结束操作流程3.2.1、建立根文件系统的初始文件(1)创建根文件系统文件夹,命令如下:cd /home mkdir jin(2) 建立目录 bin、dev、etc、lib、proc、sbin、usr、home mnt 等,命令如下:cd jin mkdir bin dev etc lib proc sbin usr home mnt移植命令文件。由于我们可以使用busybox来生成系统所需要的命令文件,
4、所以这一步留待后面再做;移植设备文件。进入Lin UX系统的dev设备文件目录,拷贝con sole、null、tty、tty0、tty1、tty2、录中,命令如下:ttySO、ttyS1文件至我们建立的开发板根文件系统的dev目cd /devcp-r con solenull tty ttyO tty1 tty2 ttySO ttySILinux系统lib目录中的库文件是支持x86构架的,而不是开发板上的arm构架,因此不能直接从中拷贝库文件, 因此我们需要从交叉编移植库文件。由于译器的lib目录中拷贝文件。cd /home/j in/libcp libc.so.6ld-l inu x.so
5、.2/home/ji n/lib移植配置文件。配置文件也可以由 busybox生成,因此这一步我们也留待后面再做。I 益 Home x j 母 Redflaq LinuK位苗00编捲 宜看CO 转到回 书签但)工具m 设S圖 宙口卿 帮助忖Q 二 Gt 0P俊晋(0):厚Zh晶顾?阿上郃居bin多mni-finiJ :jfit dev多etc多sbJmhomeusr多lib03jin.croot3.2.2、安装和使用 busyboxBusyBox 包含了命令和工具的软件。BusyBox是一个集成了一百多个最常用Linux一些简单的工具,例如Is、cat和echo等等,还包含了一些更大、更复杂的
6、工具,例如grep、find、mount 以及 telnet。进入包含压缩busybox软件资源的文件夹cd /home/Resource解压 busyboxtar -jxvf busybox-1.0 0-p re9.tar.gz进入busybox文件夹,对busybox进行配置cd busyboxmake menuconfig 运行命令,安装 busyboxmake clea nmakemake in stall移植文件 进入busybox根目录,找到_install目录cd _i nstall将其中的bin、usr、sbin目录拷贝至开发板根文件系统,并覆盖其中的同名目cp -r bin
7、usr sbin /home/j in然后打开目录exam ples/bootfloppy,将其中的etc目录拷贝至开发板根文件系统,并覆盖其中的同名目录。cdexa mpl es/bootfl oppycp-r etc /home/j in生成JFFS2文件系统3.2.3、(1) 进入mkfs.jffs2工具所在的文件夹cd /home/Resource(2) 生成文件系统./mkfs.jffs2 -r /home/jin -orootfs.img -e 0x20000 -p ad=0xd00000选项说明:-r: -root=DIR,由目录生成镜像文件-e:Flash擦除扇区大小,默认为
8、64KB,此处指定为128KB-P ad:指定创建的根文件系统的大小3.3、将内核系统和文件系统烧写到开发板上pxa270开发板,按 ctlIP:tftp服务器ip)(1)首先,用串口线,网线链接PC和开发板,上电启动+ c组合键进入blob,使用ifconfig命令配置服务器ifconfig server ( 为我的ifconfig ip ( 为开发板的 ip)文件(已編辑(E)查看遡选项(0)传输脚本 IM(l)帮助(出Q吾二冒隽n曾SI SerialCOMl |FPGA Test OK!Loadi
9、ng blob from, flash . doneLoadine kernel from flash doneAutoboot in progress, press Enter to boot, any other key to stop . Autoboot abortedType help to get a list of conunandsblob if config server 192.108.0*1* invalid argumentblob 迁config server 192.168. 0.1blob ifconfig ip blob ifconfigM
10、ac addr; OS;00:3e:26:0a:5bMac2 addr: 08; 00:36:26:Da:8bOur IP addr : 192. 168. 0. 2Server IP addr t 192.168. 0.1(2)(3)在blob下先将zimage下载到ram上:tdow nl oad zimage在blob下按照以下命令烧写zimage至U flash :flash zimage(4)在 blob下先将rootfs.img下载到 Ram:tdow nl oadramdisk(5)在 blob下按照以下命令烧写rootfs.img至U flash:flash ramdisk(3
11、)(4)(5)如下图所示:Server IP addr : 19乙 168- CL 1Ijlob 1 download kernelfile: slinage, part kerneldoimloading zimage to 0za020)000doneblob flash kernelSaving kernel to flashfwrite 0i:a0200000 01:100000 1662268Erasing 13 blocks al 0x00100000:doneFlashing OxOO105d3c bytes at OxOOlOOOOO:. done blob tdownload
12、 ramdiskfile: rootfs. iuig, part randiskdowiloading rootfs.img to OxaOSOOOOOdoneblob flash ramdiskSaving ramdisk to flashfwri+e OxaOeOOOOO 0x300000 13631483Erasing 104 blocks at 0x00300000:. * * *donePlashing OxOOdOOOOO bytes at 0x00300000:done2、任务分工XXX文档的编写,系统结构的整体架构,根文件系统的创建和制作,内核系统和根文件系统往开发板上的烧写,
13、使开发板上拥有一个能实现基本功能的完整的linux操作系统;XXX内核系统文件的裁剪和制作,配置好操作系统的体系结构、各种接口和协议等,为能在操作系统上实现各种功能搭建好硬件平台;XXX主机与开发板之间网络环境的搭建,配置好 TFTP服务器网络环境,为内核系统和根文件系统的移植做好准备。3、软件操作说明(1)TFTPD32的使用如下:双击“tftp32 ”目录下的tftpd32.exe文件,对 Windows下的tftp 服务进行配置,如图一刃旳巳泻菇蔓看边蛟斶遹 IM(D 稱勘VTftpd32: Settings- SscuHty-Server configuration系编Seia: 15
14、稍 &: IICup控制面C None f* Standardr HighrBsseDirectoiyTimeout (seconds!Man RetransmitTftp podI C:Ptcigram FitesVLinusMHpSS Advanosd Oplions -R Option negotiationR Show Process bar厂 Translate UniK file rtamcsBrowsen 冋 leMuxtFtp3ZtFtpd3厂 Hide WirdM 出 startup 厂 Create dir. txtHes 厂 Beep fw long (lartfert3
15、R Activate Tftpd32 on Diis interface |l92.1GE.0.1 厂 Use anticipation of |0 BytejW1NXP (:13本地磁蛊左件系统:NTF5 可用空间;60,1 GB总犬小:W.6 GBOk11 DeFMU I MJ 1111 * J 旦elpCancel布到砲贰发送比文X腑这个左件其它&置tftp32 我的如 共享文档 我酌电脳 网上邻居(2) mkfs.jffs2的使用说明./mkfs.jffs2 -r root -o rootfs.img -e 0x20000 -p ad=0xd00000选项说明:-r: -root=DI
16、R ,由目录生成镜像文件-e:Flash 擦除扇区大小,默认为64KB,此处指定为128KB-Pad:指定创建的根文件系统的大小位s(U 編质回直若(yj转對回书赛 工a 设S僅)宙口園钻助凹Q 1QO QZJ也 MAbochuangtm/rootjroohs.img存储弁质EJi3面驟灵rootH4、主要实现方法REDFLAG LINUX 6.0 +开发环境:HP P RO,安装在虚拟机上的操作系统MINICO M+ AMRLINUX 发环境;编译环境:装有ARM-LINUX-GC编译器的linux系统,由于要想程序在开发 板上运行就需要有交叉编译器 ARM-LINUX-GCC实现跨平台运行
17、C语言程序;运行环境:UP-TECHPXA270嵌入式实验仪,其上有经过裁剪的内核系统和 经过部分功能选择创建的根文件系统, 能够实现操作系统的基本功能,可以进行 文件操作,也可以进行程序的运行。主要技术如下:首先,在PC机虚拟机上的操作系统 REDFLAG LINUX 6.0里对内核系统文件进行裁剪,然后运行 make bzimage生成内核系统镜像文件zimage;其次,创建包含操作系统基本功能和操作命令的根文件系统,使用mkfs.jffs2工具将其生成根文件系统镜像文件rootfs.img ;最后将内核系统镜像文件zImage和根文件系统镜像文件rootfs.img烧写到 开发板上,运行
18、存储在根文件系统中编译好的C语言程序,验证试验是否成功。二、课程设计总结通过本次实验,使我对linux系统有了更深一步的了解,学会了很多linux的命令的使用方法,了解了什么是交叉编译以及交叉编译的事项。同时我也学会了如何在linux下编写C语言程序,然后移植到开发板上运行。熟悉并了解了UP-TECHPXA270开发板的文件系统结构,以及文件系统的生成方法。深入学习了 linux文件系统的生成过程,对linux系统最重要的文件系统有了一个更深的理解。而且我还学会了 busybox和mkfs.jffs2工具的使用,学会了用 busybox生成文件系统一些必要的应用程序,用mkfs.jffs2生成
19、文件系统的镜像文件,以便拷贝到pc机的windows系统上,然后烧写到开发板上。学会了通过在linux 系统上编写C语言程序,然后通过交叉编译生成可执行文件, 移植到开发板上之 后,可以在开发板上直接运行。四、存在问题及改进措施问题1:配置服务器ip和开发板ip后,将内核镜像文件向开发板烧写的时 候,提示TFTP32 ARQ timeout,不能完成内核和文件系统的烧写。解决:根据提示知道是地址解析错误,然后查看主机上的网络配置,发现主机的ip没有固定的地址,是自动获取的,因此不能成功烧写。于是将主机的ip地址改成一个固定的ip地址,然后再次重新在blob下配置主机和开发板的ip 地址关系,将
20、他们设置在同一个网段下,内核和文件系统都烧写成功。问题2:解压的时候用的命令相同,但是解压busybox的时候解压命令总是提示不正确。解决:通过在linux下输入tar -help 命令,发现解压以.bz2结尾的压缩 文件才需要带上-z选项,而busybox是以.tar.gz 结尾的,于是把-z选项去掉, 解压成功。五、源代码进入包含有linux系统压缩文件的文件夹cd / home/Resource解压linux内核文件tar -jxvfup-I inu x-2.6.9-release.tar.bz2创建连接到解压后的linux内核文件的软链接ln linu x-2.6.9linux在其软链
21、接中对内核进行裁剪cd /li nuxmake menuconfig生成内核镜像文件make clea nmakemake bzimage创建根文件系统文件夹cd /homemkdir jin建立目录 bin、dev、etc、lib、proc、sbin、usr、home mntcd jinmkdir bin dev etc lib proc sbin usr home mnt文件至我们建立的开发板根文件系统的dev目录中进入Linux系统的dev设备文件目录,拷贝con sole、n ull、tty、tty0、tty1、 tty2、ttyS0、ttyS1cp - con sole n ull从
22、交叉编译器的libcd /devtty tty0 tty1 tty2 ttySO ttyS1目录中拷贝文件到开发板根文件系统的lib下cd /home/j in/libcp libc.so.6ld-li nu x.so.2/home/j in/lib进入包含压缩busybox软件资源的文件夹cd /home/Resource解压 busyboxtar -zxf busybox-1.0 0-p re9.tar.gz进入busybox文件夹,对busybox进行配置cd busyboxmake menuconfig运行命令,安装busyboxmake clea nmakemake in stall进入busybox根目录,找到_install 目录cd in stall将其中的bin、usr、sbin目录拷贝至开发板根文件系统,并覆盖其中的同名目录cp -r bin usr sbin /home/j in打开目录examples/bootfloppy ,将其中的etc目录拷贝至开发板根文件系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 草坪浇灌施工方案(3篇)
- 2026新疆和田墨玉县鑫玉经济开发有限责任公司招聘8人备考题库及参考答案详解(考试直接用)
- 谁编制施工方案(3篇)
- 重庆-龙湖-营销方案(3篇)
- 银行药店活动策划方案(3篇)
- 2026广西北海市产业投资有限责任公司招聘4人备考题库附完整答案详解【易错题】
- 2026云南省房物业管理有限公司招聘12人备考题库及完整答案详解(考点梳理)
- 鸡西营销活动方案(3篇)
- 2026春季河北邯郸市曲周县博硕人才选聘87人备考题库带答案详解(典型题)
- 2026浙江衢州市教育局“南孔学地教职等你”硕博专场招聘56人备考题库及参考答案详解(综合卷)
- 监控员岗位安全生产责任制范本
- 痛经的中医疗法课件
- 2024届高考英语一轮复习2023全国乙卷词汇短语积累 长难句分析 课件
- 手术室利用PDCA循环降低手术室病理标本管理缺陷发生率品管圈QCC成果汇报
- 人音版音乐四年级上册中华人民共和国国歌 4课件
- 第四章-古印度与古代美洲的城市教材课件
- 第三章-形式美-(《美学原理》课件)
- 用药护理PPT(高职护理专业)完整全套教学课件
- 新生儿锁骨骨折的原因分析及对策
- OCS有机含量标准 管理手册
- 农业的区位选择【高效备课精研+知识精讲提升】 高一地理 课件(鲁教版2019必修第二册)
评论
0/150
提交评论