




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验四 嵌入式交叉开发环境的建立与通用计算机上的软件开发不同,嵌入式的编译过程被称为交叉编译,嵌入式系统的软件开发环境被称为嵌入式交叉开发环境。交叉编译就是把在宿主机上编写的高级语言程序编译成可以运行在目标机上的代码,即在宿主机上能够编译生成另一种CPU(嵌入式微处理器)上的二进制程序。交叉开发环境由宿主机和目标机组成,宿主机与目标机之间在物理连接的基础上建立起逻辑连接。宿主机(Host)是用于开发嵌入式系统的计算机。一般为PC机(或者工作站),具备丰富的软硬件资源,为嵌入式软件的开发提供全过程支持。目标机(Target)即所开发的嵌入式系统,是嵌入式软件的运行环境,其硬件软件是为特定应用定制的。物理连接是指宿主机与目标机通过物理线路连接在一起,连接方式主要有串口、以太网接口和OCD(On Chip Debug)三种方式。逻辑连接指宿主机与目标机间按某种通信协议建立起来的通信连接。在开发过程中,目标机端需接收和执行宿主机发出的各种命令如设置断点、读内存、写内存等,将结果返回给宿主机,配合宿主机各方面的工作。宿主机上用于嵌入式软件开发的工具软件一般包括:文本编辑器、交叉编译器、交叉调试器、仿真器、下载器等。当我们建立完成了嵌入式交叉开发环境后,我们就可以按照如图1所示,在宿主机上编写程序的源代码,使用交叉编译器编译成各个目标模块,使用交叉链接器链接生成可供下载调试或固化的目标程序,通过目标机和宿主机之间的物理连接(串口或网络接口)将目标程序下载到目标机。图1嵌入式软件编译过程在这里中,我们是在宿主机的虚拟机(VMware Workstaion 6.5)上安装Red Hat Enterprise Linux 5。在Linux环境下,我们一般采用arm-linux-gcc作为交叉编译器,glibc是应用程序编程的函数库文件软件包,binutils用作二进制程序处理工具。这样一些软件构成了Linux下的交叉编译工具链。通常构建交叉工具链有3种方法:(1)分步编译和安装交叉编译工具链所需要的库和源代码,最终生成交叉编译工具链;(2)通过Crosstool脚本工具来实现一次编译生成交叉编译工具链;(3)直接通过网上下载已经制作好的交叉编译工具链。Crosstool是一组脚本工具集,可构建和测试不同版本的gcc和glibc,用Crosstool构建交叉工具链要比分步编译容易得多,也方便许多。本次实验采用cross-0.43来制作基于gcc4.1.1和glibc-2.3.2 的工具链。主要步骤如下:1从/crosstool上下载crosstool-0.43.tar.gz压缩包,并在/opt下解压。由于S3C2440是基于ARM920T内核的,所以要建立基于ARM9TDMI的工具链。在crosstool-0.43目录下,打开demo-arm9tdmi.sh,修改如下内容:(1)在第37行后面添加一行:(第37行应该为注释)eval cat arm9tdmi.dat gcc-4.1.1-glibc-2.3.2.dat sh all.sh notest上面语句表示执行demo-arm9tdmi.sh后,它将根据arm9tdmi.dat、gcc-4.1.1-glibc-2.3.2.dat这两个文件中定义的环境变量调用all.sh脚本来进行编译。gcc-4.1.1-glibc-2.3.2.dat文件指明了要下载或使用的文件。出的(2)修改第7、8行内容如下:TARBALLS_DIR=/opt/downloadsRESULT_TOP=/opt/crosstool其中,TARBALLS_DIR表示要使用文件源码存放的位置,RESULT_TOP表示编译结果存放位置。2.修改arm9tdmi.dat文件。打开arm9tdmi.dat,将第2行修改为:TARGET=arm-linux修改后,编译生成的工具样式为arm-linux-gcc、arm-linux-ld等。3.修改gcc-4.1.1-glibc-2.3.2.dat文件,并下载相关源码。打开gcc-4.1.1-glibc-2.3.2.dat文件,由于我们要移植的Linux内核版本为2.6.24,所以修改第5行为:LINUX_DIR=linux-2.6.24在编译过程中,系统会根据gcc-4.1.1-glibc-2.3.2.dat文件内容下载所需要的相关源代码,但系统自动下载速度较慢,所以我们应根据该文件的内容自行下载文件代码,将其放在/opt/downloads下。须下载的源代码包括:binutils-2.16.1.tar.bz2 glibc-2.3.2.tar.bz2gcc-3.3.6.tar.bz2 glibc-linuxthreads-2.3.2.tar.gzgcc-4.1.1.tar.bz2 linux-2.6.24.tar.bz2gdb-6.5.tar.bz2 linux-libc-headers-.tar.bz24.回到crosstool-0.43目录下,切换用户为其他用户,运行demo-arm9tdmi.sh脚本文件。直接在root用户下运行该脚本文件会出现:Dont run all.sh or crosstool.sh as root, its dangerous的出错信息,无法进行编译。5.其他用户下运行demo-arm9tdmi.sh;出现提示后再切换到root,再运行demo-arm9tdmi.sh脚本文件2-3个小时后,将在/opt/crosstool/目下生成gcc-4.1.1-glibc-2.3.2子目录。设置并保存PATH环境变量,则交叉工具链构建完成。运行以下命令:arm-linux-gcc v显示如下内容:Using built-in specs.Target: arm-linuxConfigured with: /opt/crosstool/crosstool0.43/build/arm-linux/gcc-4.1.1-glibc-2.3.2/gcc-4.1.1/configure -target=arm-linux -host=i686-host_pc-linux-gnu -prefix=/opt/crosstool/gcc-4.1.1-glibc-2.3.2/arm-linux -with-cpu=arm9tdmi -enable-cxx-flags=-mcpu=arm9tdmi -with-headers=/opt/crosstool/gcc-4.1.1-glibc-2.3.2/arm-linux/arm-linux/include -with-local-prefix=/opt/crosstool/gcc-4.1.1-glibc-2.3.2/arm-linux/arm-linux -disable-nls -enable-threads=posix -enable-symvers=gnu -enable-_cxa_atexit -enable-languages=c,c+ -enable-shared -enable-c99 -enable-long-longThread model: posixgcc version 4.1.1在Linux环境下,采用cross-0.43制作了基于gcc4.1.1和glibc-2.3.2 的工具链,从而建立了如图2所示的嵌入式交叉开发环境。Cd /opt/croostoolCd gcc-4.1.1-glibc-2.3.2.datCd arm-linuxCd bin pwd2 嵌入式交叉开发环境1. Vi /etc/profile 光标移动到最后一行末尾,点击“回车”2. 输入PATH=SPATH:/OPT/.设置路径3. Source /etc/profile4. 切换到根目录等处输入:arm-linux-gcc -v5. 出现版本信息则成功。如下:范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar tar -cvf /tmp/etc.tar /etc=仅打包,不压缩! tar -zcvf /tmp/etc.tar.gz /etc=打包后,以 gzi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025公务员法考试题及答案
- 2025款智能翻译bot系统定制开发合作协议
- 2025年城市公寓转租协议书及租赁双方责任划分合同
- 2025年度智能城市公共设施标识系统设计合作协议
- 2025年度绿色家电销售协议及服务规范
- 2025年企业公益项目策划与执行服务合同书
- 2025年汽车抵押贷款合同-个人车辆产权质押协议
- 2025年特种化工原料采购及质量保证协议
- 2025年节能环保纸箱定制生产及物流配送一体化服务合同
- 2025综合医院药品器械采购合同-高品质医疗物资全面供应
- 2025年新安徽水利厅安全员c培训试题及答案
- 集邮协会管理办法
- 2025年广西公需真题卷及答案
- 2025年综合类-井下作业工-井下作业工技师历年真题摘选带答案(5卷单选题百道集合)
- 2025年导游资格证考试笔试模拟试卷:导游知识储备全面测试
- 2025-2026(一)秋季第一学期德育活动安排表
- 车间螺丝使用管理办法
- 渣土运输车辆调度措施
- 2025年河南省高考历史试卷真题(含答案)
- 产品技术变更管理制度
- 2024-2025学年 三年级第二学期口算数学1000题【带答案】
评论
0/150
提交评论