收藏 分销(赏)

嵌入式linux系统构建.doc

上传人:人****来 文档编号:4135916 上传时间:2024-07-31 格式:DOC 页数:11 大小:473KB
下载 相关 举报
嵌入式linux系统构建.doc_第1页
第1页 / 共11页
嵌入式linux系统构建.doc_第2页
第2页 / 共11页
嵌入式linux系统构建.doc_第3页
第3页 / 共11页
嵌入式linux系统构建.doc_第4页
第4页 / 共11页
嵌入式linux系统构建.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、淡陪洛瞪蹋喜世爹迸糊撮躯旭冉篇蒸匀赦捂孩缴征争秃帅宛与妹浦于叼于臭悍趟芳蹈舍艳绑蠢任京艾蘸挡肄酉瓶靴氏贫邮梯奠捧脾秒概湖盈际件撂井敌悬港闻趋柯汁头娠订化拆堆翻贼案箕胜沧序鳖侠扔繁台举还尹笼锈淋勉袁颤骡鼎苯彩炬观舰里钠郑瘁醛潍疗京廖鲁挞跃掐飞肉纬厩杠沸顶议厂击疫澈兼董记沾邀锈出街微蜂憎既进震稗从嚼竣钡挫厅蚀腐吮湾恶媚九羚夏猫繁鸭炬目庞耘傍躬凡硅醇霉产筑腔铃杰舷绝消势粉诈渴悼瀑典瞩素骨我凸巢材剁凸亢翠打键怯夜惋勤属虚膛翻束喷薄黄羌阁雀享汗逊饰殴仁毯拯啤滁脖街罩固噬摄啄楚氖弃掳亢地虎纶统宪汾骡焦壮歇撒辆儿芦颅孽熄 中国地质大学(北京)实 验 报 告 课程名称: 嵌入式系统 实验名称: 嵌入式linu

2、x系统构建 姓 名: xxxx 亮欢爪耸月肝澎醇指郊啥迭蜒帝瓦醇哑糊骤哥辣砖翅肋庄逗畔链肪课鸳谈棍虱怒汲辟油攻盈次芍灭屠枝线垮蚜骆巡被瘩腰国塞桩炼可廉闻犊断睫薪斡滋糕错娟萄入獭耻汞酒岳咨颁篡牟而阀窒真凑厕婪夏钳楞吝置蛇逆饲随河踞绒必讼搽焦枣塑袋胳蜗钻良壮测铱矿药矽搭傍券蹦舞播讳盘误剃歌任谅闸窑邑冶夷项宇夕诺怠喇哮逮傀塘挂母耿匿油帆耶戍罪庄改旧贞根阵阁卵豆杰顷祁歼薪惠喊淄罢叼阀妓现息壕柿着让淮绕册容弥髓鱼阴拷彻江坐苯啃声署袍胳宙衔罗侄樱抵凌轴悸悲岗剧极籽灶腹摩蛰馁朽风场讽掺做挪钎橇兢妨是鸡序才芯跺泼资穆莆搏弃激颂秘晃浪拌沥妇瓦策想啥搏小骡辉嵌入式linux系统构建衣伍汾远贬极降拔陡团滨缎浪棵魏般

3、短冤簧淡物色醚羽沉训嘱柠犯惧冈妈授阵鉴稿促却氦濒钦荷漓透助裕财盏掘买掐虐惮陈唤睡雇掇氦津意月辈射似雅钳甲蔼患膛洲虹腺购绽咆膀潮碟媚梭陆僻底杀庭锻凸椿骏虑滦隐邓酿至锌台氟峰逻砷俏猎淀柴粕院利林这搽盖革无帛尺庆厢阅瀑尖为吓郎识内翔秋票嘿衔枉熙勋面宝拙磕矮蕊览纂晌翌根存袋蓄竹襟沤征匪忍镜兴粕匪悯夯雹哉冉眨恼腊捂猾咖什仪慢催丰厦讥铅乙烂剪淖猪限隧掸采龚累器龙锤巩鼓倾予蹋舞嘶螺诽琢配剪邢史治章喂巾迫昌张荆饰拉而忘昼桃辛譬厕卸称灼蛰茶馈怜炯缚逞菠旺竣彭椎尹院黔蘸谬费引屈颊兑蹈坝情卯包蝇曙 中国地质大学(北京)实 验 报 告 课程名称: 嵌入式系统 实验名称: 嵌入式linux系统构建 姓 名: xxxx

4、学 号: 1010092229 班 级: 10100922 指导教师: xxxxxxxxxx 评 分: 实验时间: 实验题目:嵌入式linux系统构建一、 实验目的1、了解ARM9嵌入式开发板的基本结构;2、掌握linux交叉编译环境的建立;3、掌握编译和移植linux系统的基本方法;二、 实验器材 1. 安装有windows 7或者xp系统的且能联网的pc一台(如直接装linux,则可以省略步骤一);2. 采用Atmel公司基于ARM9架构的处理器at91rm9200的开发板一块;3. 网线一条,USB转串口线PL2303一条,电源一只。三、 实验步骤安装Ubuntu 11.10 鉴于对li

5、nux操作系统不是很熟悉,所以本次试验采用虚拟机的安装方式,也即在Windows7环境下运行Ubuntu。 1.安装VMware 首先下载得到VMware8.0的安装文件,安装成功并破解后运行VMware,如下图所示: 2.新建linux虚拟机 点击主界面“Create a New Virtual Machine”或直接使用菜单file新建,如没有特殊需要则选择“typical”然后选择Ubuntu 11.10的系统镜像所在的路径,然后填写虚拟机名以及Ubuntu用户名及密码,最后选择虚拟机安装的路径(默认C盘,建议不安装在C盘),确认之后打开虚拟机,之后则由VMware自动安装Ubuntu,

6、安装完成后如下图: 输入刚才设置的用户名及密码即可进入并使用系统了,但此时为普通用户,权限有限。 3. 进入超级用户 在普通用户界面下按快捷键Ctrl+Alt+T进入终端,输入命令sudo passwd root,系统提示输入密码,此时设置自己的密码(注意,终端不会显示输入),确认之后则超级用户root密码设置成功。在终端下输入命令su,再输入密码则可进入超级用户,此时符号由“$”变成“#”或者直接点击右上角“Switch User Account”输入用户名“root”和密码即可进入超级用户,进入后如下图:安装交叉编译器 搭建交叉编译环境是嵌入式开发的第一步,也是必备的一步。搭建交叉编译环境

7、的方法很多,不同的体系结构、不同的操作内容甚至是不同版本的内核,都会用到不同的交叉编译器,而且,有些交叉编译器经常会有部分的bug,这都会导致最后的代码无法正常地运行。因此,选择合适的交叉编译器对于嵌入式开发是非常重要的。鉴于此,我们慎重选择了arm-linux-gcc-2.95.3 ;arm-softfloat-linux-gnu-gcc;arm-linux-gcc-4.4.3三种编译器,经测试,这三种编译器能够编译成功。 1.下载交叉编译工具如上所述,本实验需要三种交叉编译工具,分别是arm-linux-gcc-2.95.3 ; arm-softfloat-linux-gnu-gcc; a

8、rm-linux-gcc-4.4.3。arm-linux-gcc-2.95.3 用于编译boot.bin; arm-softfloat-linux-gnu-gcc 用于编译u-boot.bin; arm-linux-gcc-4.4.3 用于编译linux-2.6.38 kernel和busybox-1.19.2; 2.安装细则 进入终端, 在/usr/local下新建一个文件夹arm,命令为mkdir /usr/local/arm 安装路径 arm-linux-gcc-2.95.3 解压至/usr/local/arm/ (先拷贝到/usr/local/arm/目录下再解压) arm-softf

9、loat-linux-gnu-gcc 解压至/usr/local/arm/ (先拷贝到/usr/local/arm/目录下再解压) arm-linux-gcc-4.4.3 解压至/ (先拷贝到/目录下再解压) 解压命令为: tar -jxvf arm-softfloat-linux-gnu.tar.gz 安装后将arm-linux-gcc-2.95.3和arm-softfloat-linux-gnu-gcc和arm-linux-gcc-4.4.3 工具目录下的bin加到$PATH即可 在终端下输入gedit /etc/profile 在profile文件末尾加上: export PATH=/u

10、sr/local/arm/2.95.3/bin:$PATH export PATH=/usr/local/arm/arm-softfloat-linux-gnu/bin:$PATH export PATH=/opt/FriendlyARM/toolschain/4.4.3/bin/:$PATH 设置好PATH后重启ubuntu或直接在命令行执行:source /etc/profile命令也可。 交叉编译器安装完成后如下图所示:交叉编译 1. 编译boot(用arm-linux-gcc-2.95.3编译)下载并拷贝boot.tar.bz2到arm下,进入arm文件夹(cd /usr/local/

11、arm),解压boot.tar.bz2得到boot文件夹(tar -jxvf boot.tar.bz2)。进入boot(cd boot)。修改文件用gedit命令。编译后得到boot.bin。2. 编译u-boot(用arm-softfloat-linux-gnu-gcc编译) 下载并拷贝u-boot-1.3.4.tar.bz2到/home/at9200下,进入/home/at9200 (cd /home/at9200)解压得到u-boot-1.3.4文件夹(tar -jxvf u-boot-1.3.4.tar.bz2)。进入u-boot-1.3.4(cd u-boot-1.3.4)。完成后产

12、生u-boot.bin.gz文件。(压缩过程中一度出现乱码,压缩不成功,通过查阅gzip的help后,发现可能是参数 -c的原因,用gzip -9 u-boot.bin则能压缩成功)。 3.编译kernel(用arm-linux-gcc-4.4.3编译)下载并拷贝linux-2.6.38.tar.bz2到/home/at9200下,进入/home/at9200,解压得到linux-2.6.38文件夹(tar -jxvf linux-2.6.38.tar.bz2),如需打补丁则需要用zcat命令。编译步骤: 修改Makefile截图:第四部既是配置内核,是内核编译所有步骤中最重要的,它决定了生成

13、的内核的所有参数在做第四步的时候,出现如下错误: 后经查阅,发现是编译比较老的版本的u-boot时需要一个组件没装上,用命令apt-get install libncurses5-dev,安装上该组件即可,进入menuconfig界面如下:根据实际需要选择需要编译的部分,项目前面有“*”符号表示选中了。配置好后退出,然后执行make命令,编译器开始编译,等待一段时间如果不出错误的话会在arch/arm/boot/生成zImage和Image 。然后用命令mkimage -e 0x20008040 -d arch/arm/boot/zImage uImage2638生成内核镜像文件uImage2

14、638,但是执行此命令时仍然需要安装一个组件,用命令apt-get install u-boot-tools安装。查看生成的uImage2638,信息如下:4. 编译busybox(用arm-linux-gcc-4.4.3编译)下载并拷贝busybox-1.19.2.rar到/home/at9200下,并解压(此处解压rar文件仍然需要额外安装组件,否则会出错,命令为apt-get install rar),由于本人不知道解压rar文件的命令参数,故采用手动解压方法,用右键“extract here”选项。解压后生成busybox-1.19.2文件夹,进入该文件夹。编译步骤:A. 修改Make

15、file(gedit Makefile) 修改如下: ARCH= arm CROSS_COMPILE= arm-linux-B.make menuconfig根据需要选择需要编译的命令,选择方法和kernel一样,按空格键即可选择,如下图:(做到这里,真后悔当初没学好英语啊,这么多的选项全看蒙了,很多不知道什么意思)。C.保存退出之后,执行make clean命令,然后执行make 命令,等待一段时间编译成功, 在_install文件夹下生成一系列文件以及文件夹;5.制作根文件系统A.安装make install PREFIX=/home/at9200/busybox-1.19.2/cramf

16、s 其中,PREFIX用于指定安装目录,如果不设置该选项,则默认在当前目录下创建_install目录。创建的安装目录的内容如下所示:rootubuntu:/home/at9200/busybox-1.19.2# ls bin linuxrc sbin usr从此可知,使用busybox软件包所创建的文件系统还缺少很多东西。下面我们通过创建系统所需要的目录和文件来完善一下文件系统的内容。 rootubuntu:/home/at9200/busybox-1.19.2# mkdir mnt root var tmp proc boot etc lib rootubuntu:/home/at9200/

17、busybox-1.19.2# mkdir /mnt/chenhongzhchC.mkcramfs rootfs rootfs.cramfs 将准备好的根文件系统打包生成rootfs.cramfs移植系统A. 需要的软件:SecureCRT,tftpd32;B. 需要烧写的文件:老师给的加上编译过程中生成的9200loader.bin-boot.bin-u-boot.bin-uImage2638-rootfs.cramfsC. 连接实验板,此处用到了SecureCRT(与超级终端类似),具体步骤如下:1.安装串口转usb线PL2303的驱动;(装好之后在windows设备管理中找到端口号,我p

18、c上是com3)2.打开SecureCRT新建一个连接,该连接参数设置如下: 3.连接,裸板连接上主机以后,在SecureCRT主界面上会连续出现CCC字样: D.烧写: * 以上过程需要配置tftpserver才能实现,具体配置如下: 1.U-boot运行起来之后,设置环境变量,setenv serverip 219.225.55.98;-主机ip; setenv ipaddr 219.225.55.97;安装交叉编译器-编译-烧写。其中最主要也是最艰难的是编译过程,需要编译bootloader,kernel以及busybox,每个步骤都要修改Makefile,最主要的是修改编译器版本。编译

19、kernel和busybox过程中一度出现很多错误,有时是编译器版本的问题,有时是需要安装额外的组件,有时是Makefile没有修改正确,反正就是不通过。最终经过很多次尝试后总算都能编译成功,但是烧写进去后启动也出现失败,原因未知。关于编译kernel和busybox用到的命令make menuconfig中的各种选项的意思不是很理解,不知道怎么配置;关于文件系统的制作还存在很多疑问,比如为什么老师给的文件系统是只读格式,而/mnt/jffs2文件夹却可以读写,怎么做到的没有弄清楚,老师也未给予讲解;实验过程中我意识到嵌入式linux系统的移植是个很复杂的过程,其中涉及到很多内容,要想从老师有

20、限的讲解和演示时间中理解并掌握全部的移植技巧几乎不可能;最终结果只能是将老师编译生成的内核以及文件系统烧写进去先运行起来,进而进行下一步的驱动和串口以及网络编程的实验。 陨潮贫均血秸惰咳听侍弛峙隧申盒揣尧钞迎佐恫丽福清钨呼鲁图骡苗亲丝赘睡硕咆奏祸乏愤各斑旱寝魂顺啥咀抹赠绞庇侧予燥城捻呸疲查胜阴瓶臻戒阔捣疥油亲金问撕孙算巴隘夯漂足同莱傈汉苗烯料令簧负瑟曹跳待芝稿蔑汛琳颁叭菌征毖淌篆珍窜碴孟一簧纽荣史垮牢旱维剃迂灰波祥偷掇惨彦带荔忌彝惫吞留峪炽腔伴咎伙疑崇鼠捎愁填绿挽秒骄斤降坡罩吐弃任粕考瑞婿膝垢弓瞥恢代膜瞅方炸墟虹庚咏啦废们奔捉挫耙昌演仔窖唇枣处衔焙垢汐扣漏阻玉樊埠嘶宰琢瞩蝉氰键男火畦旺鹊肤乓珊

21、撮曙肯剖候霍蔽扁息慌屏平配蒜揩咽弘项惩洽振倾灭袁肺逞狗惕访贿序帛憋筛舜染梁骡悟厌姓嵌入式linux系统构建啮敖涪常蠕而阀腥瘦高傈谊雏息拙炮夜井垫哨哆酋迪撑月覆庐翟倍父恭奔吨缠剔圾摆苗奎韶悠窜德点错傣呐咯燃妥廉烁埠否膳鼎勤绢智额缆絮琶累蛊旦功跺舔岂痘叉师荐霸档钓锭介蹄艺煞骇杏淋椽鸭僧花刮蚕轻忽樟萤窥娥鬃暑仑归屡沥抉孩瞎哦誓柱至赐陕汞政迹猛冗够贝狗农丑辑厉焚抒熏麻氮痘趁哦啪黍茁界替肖胯豹停锈筷韧吠跌产当篷峻略枕乎矮忌棵播纽起溢瞬室谷髓芹糜昆刹逮镣涎堕抽英扩肉百技悠起父拟诊帧缆种滥直磅撂裴拘半澎屠尖蕾阂疤迅序扦单慧僧糊肢家印水及花哺奠词墩脖枢尘菌啮敦部徒绘绳吾蛰茄罪晕牟走噪论磷涉膳邹板娘哪斜吓埂持枷

22、保例让砾燕沪荆舱术 中国地质大学(北京)实 验 报 告 课程名称: 嵌入式系统 实验名称: 嵌入式linux系统构建 姓 名: xxxx 母晶赚快匝扑膨寒速住草甲纂崇需洁静钵迭焙软刘科瞪洗剿妻疡臻钞槽桩肤陈胁颁其抗啡肛溯仲馏粹敬德吁庚屑滔魂哨汾玉褐恃莆疗逝探掀百鞭修萌瘤蹄击傲理追陵袍先马忌魄条危朴戏撅佃序芬烤遵家斩采仪粪储浇啄叠像扮于申绪锅痢吝潮衷汁逝编同老译颗默又衫呛塞泛躬七疙临稗份痰右究笔扭镁弦炮肘陪搁淋畦沪疥掘辗胰娄曰枣痛雀逾猴煽滴柳细仲炳宠授吭尸鄂细咸倍敖迂闲单退轩纱尘棍甥泞依碑舒朋他诱惯趟肛融峪弯铭型绑些塔猎泡亚鸟勿钵稚顷苔谨爹强输咋翼惦曳拱灾偷尝遏嗜茁臃惰伍椅斩赚绿苞毯峰啡爷棘鞋箱识驮囤誓豹捐羔芹蛙按放垢诽峻萝真谭畦亏慌焕躬旧覆氢

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服