嵌入式操作系统实验一建立交叉编译环境

上传人:公**** 文档编号:488077232 上传时间:2023-08-16 格式:DOC 页数:9 大小:156.50KB
返回 下载 相关 举报
嵌入式操作系统实验一建立交叉编译环境_第1页
第1页 / 共9页
嵌入式操作系统实验一建立交叉编译环境_第2页
第2页 / 共9页
嵌入式操作系统实验一建立交叉编译环境_第3页
第3页 / 共9页
嵌入式操作系统实验一建立交叉编译环境_第4页
第4页 / 共9页
嵌入式操作系统实验一建立交叉编译环境_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《嵌入式操作系统实验一建立交叉编译环境》由会员分享,可在线阅读,更多相关《嵌入式操作系统实验一建立交叉编译环境(9页珍藏版)》请在金锄头文库上搜索。

1、嵌入式操作系统实验报告:某某:王威学号? SA12226437 j 所在班级:系统芯片 |-实验名称:实验一队友:X圣苗亚实验内容1、准备工作工作:安装 virtualbox虚拟机工具,并安装ubuntulO.IO系统、增强 型工具,实现共享文件夹的自动挂载。2、 利用crosstool提供的脚本安装和相关资源编译面向的ARM的GCC工具。详细内容1 :安装虚拟机软件和虚拟机时要完成的主要步骤有:安装 virtualbox,建立一台虚拟机,分配内存和硬盘,指定共享文件夹主机和虚拟 机可共同操作,指定操作系统镜像文件路径相当于光盘,第一次启动时安装, 安装虚拟操作系统,安装增强工具包,实现共享文

2、件夹的自动挂载。有几点需要注意:1、虚拟硬盘尽量分配大一些,之后再扩就比拟麻烦。2、共享文件夹不要有中文路径,不然挂载后看不到中文名称文件。3、安装操作系统时,不能断网,需要下载各种资源,不然会异常。详细内容2:安装gcc-4.1替换操作系统中的gcc-4.4.5,用它编译交叉编译器 和库文件、gdb-6.5。为了完成这样的目标,我们 需要安装与 脚本相关的工具,需要修改crosstool中的配置文件arm.dat以指定编译的目标位 arm-linux。需要修改crosstool中的脚本文件,指定编译的源文件和目的文件夹后 来建立,指定配置文件为gcc-345-glibc-232.dat,在该

3、配置文件中,指定了交 叉编译器和调试器、C库的版本。最后运行脚本,实现了对GCC工具包的安装, 包括gcc预处理器、汇编器、编译器、器、调试器、反汇编工具等等。整个实验 中我们 需要的资源是 、,将放置在共 享文件夹的crosstool工具拷贝到主文件夹下并解压,将 gbd和linux文件拷贝到 crosstool文件夹,拷贝是因为编译时需要内核文件。实验步骤实验准备:在实验准备中,在安装完增强工具包安装vmwaretools实现与XP文件共 享并重启之后,需要实现对共享文件夹的自动挂载,只需要修改etc目录中的配置文件rc.local, rc.local是很多linux系统管理员的偏爱,因为

4、但凡需要随系统 自动启动的服务、程序等,都可以放在里面。$sudo mkdir /mn t/share$sudo mount -t vboxsf embedded /mn t/shared上面三句话实现了将共享文件夹 embeded挂载到了 share上将第2句命令添加在exit之前,实现了自动挂载功能。 实验一一、搭建编译环境1、安装于脚本运行相关与其他的工具bison、flex、build-essentia、patch、lib ncurses5-dew$sudo apt-get in stall bis on flex build-esse ntial patch lib ncurses5

5、-de运行如下:自动模式中口libalgorithm-dif f - perl (1.19.62-1)- libalgorithm - me rge - perl 0.08-1) libncurses5-dev (5.7+2010362&-0ubuntul). libstdc+&-4.4-dev (.1) g-n-4.4 (4.4(4-14ubuntu5 h 1). g+ (4:4.4.4*lubuntu2).叩date-alternatives :使用 /usr/bin/fakeroot-sysv 采 碍 oat)p 于 正在IS證 正在违直 正在逍置 正在锻置 正在设置 正在诃置 upda

6、te-alternatives:使用 /Lisr/bin/gi-+ 采提供 /usr/bJ相关:Linux下有一个SUDO命令,使得普通用户能够行使超级用户的部份权利,在/etc/sudoers中设置了可执行sudo指令的用户。假如其未经授权的用户企图使用sudo,如此会发出警告的给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限如此必须重新输入密码。apt-get一个下载的命令参数有in stall安装 update 更新remove 移除 check 检查。在UNIX早期时代,编写一个编译器是一件非常耗时的工作。人们为了简化开发过程, 开发了 Lex和YACC程

7、序来解决第一个任务,根据用户描述的语言,生成能够解决问题的 C/C+语言代码,供开发者使用。将源代码文件分解为各种词汇Lex;找到这些词汇的组成方式YACC;GNU软件协会开发了 Flex和BISON其功能与LEX和YACC根本兼容,并且在Lex和YACC提供的功能的根底上进展了各种扩展。UFLex能够将输入数据流分类为各类词汇,为后来的语法分析做准备Bis on该文件本质上就是一个 C语言的源代码,作用就是对输入文件进展语法分析。GNBison在Linux下的安装非常简单。 你可以去它的官方上下载安装包自行安装,ubuntu系统下更简单的方法同样是直接在命令行敲入命令实现。Ubuntu缺省情

8、况下,并没有提供C/C+ +的编译环境,因此还需要手动安装。如果单独安装gcc以与g+比拟麻烦,幸运的是,Ubuntu提供了一个build-essential软件包。查看该软件包的依赖关系,可以看到以下内容:$ apt-cachedepends build-essentialbuild-essentialDepends:libc6-devDepends:libc6-devDepe nds: gcc Depe nds: g+Depe nds: make Depe nds:dpkg-dev也就是说,安装了该软件包,编译C/C+所需要的软件包也都会被安装。因此如果想在Ubuntu中编译C/C+程序,

9、只需要安装 build-essential软件包就可以了 。可以推测我们实验中的。用 make menuconfig 酉己置 linux 内核,要安装 libncurses5-dev套件。2、更换sh更换shell语言解释器$sudo mv /bi n/sh /bi n/sh.old /备份解释器$sudo ln -sf bash /bin/sh/更改软,规定使用 bash对脚本进展解释$echo $SHELL运行如下:显示环境变量的值正柱 IS 置 build-esertial ww(3ww-VirtualBox:/$ sudo ww7w-VirtualBox;/s sudo wwtaww-

10、VirtualBox:/$ echo /bin/bash-VirtualBox |(11.5).mv /bin/sh /bin/sh.old In -sf bash /bin/sh JSHELLln是linux 中一个非常重要命令。它的功能是为某一个文件在另外一个位置建立一个 同不的,这个命令最常用的参数是-s,具体用法是:ln -s源文件 目标文件。当我们需要在 不同的目录,用到一样的文件时,我们不需要在每一个需要的目录下都放一个必须一样的文 件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令link丨它就可以,不必重复的占用磁盘空间。我们输入gcc时,执行的就是它的。

11、用ls -l命令去观察,可以看到link的路径了。Ubuntu默认使用dash,而不是bash,这是因为由于 dash更小,运行更快,还与 POSIX 兼容而crosstool 脚本运行需要用 bash进展解释。需要把Ubuntu默认的dash改为bash。 表现为/bin/sh 软到了 /bin/dash ,而不是传统的/bin/bash 。echo $SHELL功能是显示获知环境变量$SHELL的值。何谓环境变量?在所处的环境中,那些供系统或应用程序取用而固定存在的一种特殊变量。变量可由系统预定或由您自行定义与修改,又称为整体变量也就是说:不管你身处何方,这些变量的值都跟着你的环境而存在。

12、常见的环境变量:$SHELL使用哪一种shell$TER M终端机的型态$MAIL收件位置$PATH程序搜寻路径。3、更换gcc$gcc -v 查看当前的GCC版本信息显示如下 wv?ww-Virtual Bax: /$ gcc -7 Using built-in specs* Target: i686inux-gnuConfigured with:-/src/configure -v -withPkgersion=,UbijntL/Liriaro 4.4.4-14ub untu5.1 *-with*bugurl=file:/usr/share/doc/gcc-4,4/README.Bugs

13、enable-langua qes=c,c+,fortranJobicIobj-C+ -prefix=/usr -program-suffix-4.4 -enable-shar ed -enable-multiarch -enable-linker-build-id -with-systm-zlib -libexecdir=/ usrlib vithout-included-gettext -enable-thread5=posix -withgxxinclude-dir =/usr/incl.ude/c+/4,4 -Ubdir=/usr/lib - -enable-nls - -with-s

14、ysroot=/ - - enable-c locale=gnu -enable-libstdcxx-debug -enable-objc-gc -enable-targets=all -disa ble-werror -wtth*arch-32=i686 -with-tune=generic -enablecbecking=release -b uild=i686-linij-gnu - host=i686-linux-gnu - -14ubuntu5.1)我们需要用gcc-4.1版本来生成交叉编译器$sudo apt-get in stall gcc-4.1wvAfw-VirtualBcx

15、:/$ sudo apt-cet install gcc-4.1正在读取软件包列表.完能 正在分析软件包的依瑚关籁神 正在读取状恣信恳完成 将会安装下列薛外的软件包:卬p-4.1 gcc-4.1-base建议安装的软件包;gcc4.1-locales gcr-4.1-multi1ih gcc-4,1-doc IibmudflapA-dev下列【跡】软件包将被安芸:cpp-4*1 gcc-4.1 gcc-4.1-base升锻了 6牛软件包,新安苦丁 3个枫悴赳,要卸戟0乍软件包,骨384个软件包未被开 级I需穆下疑312宓 的软件包.IIs gcc* 使用通配符,显示usr/bin目录下与gcc有关的目录File gcc / file是检测文件类型的命令,ww(dww*VirtualBox:/usr/bins Is gcc* gcc gcc-4.1gcc-4.4 gccbug-4.1wbww-VirtualBox; /usr/bins fite g“

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

当前位置:首页 > 办公文档 > 活动策划

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