搜档网
当前位置:搜档网 › ARM+Linux+交叉编译环境制作--Crosstool-ng

ARM+Linux+交叉编译环境制作--Crosstool-ng

ARM+Linux+交叉编译环境制作--Crosstool-ng
ARM+Linux+交叉编译环境制作--Crosstool-ng

ARM交叉编译环境制作(基于Crosstool-ng)

作者:salonydeny

联系方式:salonydeny@https://www.sodocs.net/doc/1f10241721.html,

参考资料:

https://www.sodocs.net/doc/1f10241721.html,/caicry/blog/item/f306db639c4281680c33fa1b.html

https://www.sodocs.net/doc/1f10241721.html,/%CB%AE%C8%DD%CC%EC/blog/item/48e2d9ef286b554578f05550.html https://www.sodocs.net/doc/1f10241721.html,/zhanghaihua415/archive/2010/05/18/5602831.aspx

说明:

操作环境没XP下安装VMware版本:7.0.1 build-227600

Linux操作系统及版本:ubuntu-10.04-desktop-i386.iso

编译的GCC版本为4.3.2

Linux内核版本为linux-2.6.32,如果需要修改内核版本,请修改第三步第21条修改内核版本即可,没有试过更低版本,应该2.6.29及以后的都可以,笔者也有写过基于crosstool制作的交叉编译环境但只能做到gcc最高版本为GCC-4.1.1以及编译linux内核版本为

linux-2.6.24,更高的linux内核版本没有试过,但从网上了解到最高GCC-4.1.1支持的编译的内核版本为linux-2.6.28,另外,提下linux内核命名的规则的最后两个数字,如果为奇数,则为实验版本(不稳定版)测试稳定后,则会重新发行一个偶数的版本比如linux-2.6.32再往上升级,linux-2.6.33,则linux-2.6.33为不稳定版,到笔者完成此文档时最新稳定版为linux-2.6.34,此文章针对像笔者初学linux的应该有很大帮助,希望大虾们不要认为笔者啰嗦以下内容的完成,前提是对vi操作有了解的,比如文档的编辑、删除、保存等

目录

一、下载相关文件 (2)

二、安装相关工具:(需要联网) (3)

三、制作编译环境 (4)

致谢 (11)

一、下载相关文件

除了crosstool-ng-1.7.0.tar.bz2得下载,其它文件可以在编译时,自己下载。笔者把这些文件下载到了windows系统下的E:\share\crosstool-ng目录下,只有crosstool-ng-1.7.0.tar.bz2存放在E:\share目录下

其中E:\share目录为笔者建的一个为Ubuntu和XP的共享目录,须要看Ubuntu的安装和在XP上的文件共享可以看笔者另外一篇文章Ubuntu10的VMware安装和文件共享,可以参考笔者的” ARM Linux 交叉编译环境制作--crosstool”里的前两章节

crosstool-ng-1.7.0.tar.bz2:

https://www.sodocs.net/doc/1f10241721.html,/download/crosstool-ng/crosstool-ng-1.7.0.tar.bz

linux-2.6.32.tar.bz2:ftp://https://www.sodocs.net/doc/1f10241721.html,/pub/linux/kernel/v2.6/linux-2.6.32.tar.bz2

gmp-4.3.2.tar.gz: https://www.sodocs.net/doc/1f10241721.html,/gnu/gmp/gmp-4.3.2.tar.gz

mpfr-2.4.2.tar.bz2: https://www.sodocs.net/doc/1f10241721.html,/gnu/mpfr/mpfr-2.4.2.tar.bz2

libelf-0.8.13.tar.gz: http://www.mr511.de/software/libelf-0.8.13.tar.gz

binutils-2.19.1.tar.bz2: https://www.sodocs.net/doc/1f10241721.html,/gnu/binutils/binutils-2.19.1.tar.bz2

gcc-4.3.2.tar.bz2: https://www.sodocs.net/doc/1f10241721.html,/gnu/gcc/gcc-4.3.2/gcc-4.3.2.tar.bz2

glibc-2.9.tar.bz2: https://www.sodocs.net/doc/1f10241721.html,/gnu/glibc/glibc-2.9.tar.bz2

glibc-ports-2.9.tar.bz2: https://www.sodocs.net/doc/1f10241721.html,/gnu/glibc/glibc-ports-2.9.tar.bz2

dmalloc-5.5.2.tgz: https://www.sodocs.net/doc/1f10241721.html,/releases/dmalloc-5.5.2.tgz

duma_2_5_15.tar.gz:

https://www.sodocs.net/doc/1f10241721.html,/project/duma/duma/2.5.15/duma_2_5_15.tar.gz

gdb-6.8.tar.bz2: https://www.sodocs.net/doc/1f10241721.html,/gnu/gdb/gdb-6.8.tar.bz2

ncurses-5.7.tar.gz: https://www.sodocs.net/doc/1f10241721.html,/gnu/ncurses/ncurses-5.7.tar.gz

ltrace_0.5.3.orig.tar.gz: https://www.sodocs.net/doc/1f10241721.html,/debian/pool/main/l/ltrace/ltrace_0.5.3.orig.tar.gz strace-4.5.19.tar.bz2:

https://www.sodocs.net/doc/1f10241721.html,/project/strace/strace/4.5.19/strace-4.5.19.tar.bz2 sstrip.c: https://www.sodocs.net/doc/1f10241721.html,/index.py/trunk/buildroot/toolchain/sstrip/sstrip.c?view=co

ecj-latest.jar: https://www.sodocs.net/doc/1f10241721.html,/java/ecj-latest.jar

二、安装相关工具:(需要联网)

以下凡是出现要选择确认的内容,直接敲回就就行

1.安装更新

2.安装Vim,方便后面的代码编辑

3.切换到root用户:,注意sH的大小写,以后的安装操作就不用一直sudo了,省了很多事,当然如果重新打开终端的话,还想要不使用sudo 就得重新进行此步骤

4.安装bison

5.安装flex

6.安装texinfo

7.安装automake

8.安装libtool

9.安装cvs

10.安装patch

11.安装

libncurses5-dev

12.安装aria2

13.安装curl

14.安装gcj

15.安装g++

16.安装

subversion

17.安装cvsd,出现以下对话框,直接敲回车就行

18.安装gawk

三、制作编译环境

1.在home目录下建立crosstool-ng目录,用来存放crosstool-ng的解压后的文件

2. 进入crosstool-ng目录,并且解压

crosstool-ng-1.7.0.tar.bz2文件

3.在crosstool-ng目录下建立src目录,存放下载来的相关文件

4.进入src目录,复制下载来的文件到src目录下,这个目录等会在后面编译的时候要使用,编译时如果找不到这个目录,就会自己重新在网上下载文件,这个文件就白下了

5进入crosstool-ng-1.7.0目录

6.配置工作目录(gcc的安装目录,目录为/home/crosstool-ng)

7.编译

8.安装

9.

安装成功

10.进入home/crosstool-ng目录

11. 拷贝文件到当前目录

12.复制文件

13.进入内核配置界面

14.配置内核路径选择

15.进入相关文件的路径输入

16.工作路径可以不修改

17. 修改工具链安装路径把GCC安装到/opt/crosstool-ng目录下

进入,修改为

18. 进入,进入,在进而填入

,进入,填入

,进入,填入

19.关闭JA V A编译器,避免出现错误进入

,保存后退出

20.

,选择save这项,保存,退出.

21.修改内核版本

修改为

\保存,退出

22. 编译

开始解压,,接下来就是漫长的等待

23. N长时间等待后,显示的是77分14秒后,出现完成安装,完成.恭喜

进入文件,可以看到安装完成的

gcc

,名字有点长,不过没关系,能用就好!

24.建立链接

修改.bashrc文件,注意:不要使用root用户,重新打开一个终端完成以下步骤,不然有可能会出现source完后输入arm,TAB键不管用,也就是没source成功

在最后增添

保存后退出

重启终端,输入arm,然后按两下tab键,出来以下框

恭喜你,完全安装成功!!!!

致谢

以上的操作都是以截图的形式编写,给大家带来的不便敬请谅解,因为笔者在参考他人的文章时,深感文字的不方便,有时候明明有空格,但是在网页上确是看不出来,导致多走不少弯路。看到参考资料上的最后一步都是使用运行.autoln.sh文件来建立连接,但笔者没有成功,遂采用了手动修改.bashrc的方法来实验,希望大家一起交流,目前笔者正在初步学习阶段,如有不足,请指教

windows安装交叉编译环境

Duanxx的嵌入式学习: Win7安装交叉编译环境 ——Duanxx ——2015-09-15 ARM-linux的交叉编译环境,一般的教程都是在linux系统(比如ubuntu)上安装linaro的arm-linux-gnueabihf编译环境,然后再安装Eclipse和CDT,这样来实现交叉编译环境的安装。 我个人使用这种方法已经使用了几年了,因为我个人比较喜欢使用Linux系统(我使用的是CentOS),所以感觉很自然。但对于初学者而言,如果对linux系统不熟悉,这个方法非常的麻烦,仅仅是为了编译一个可以在ARM-linux上运行的elf文件,还要装虚拟机,学习linux系统的很多使用方法,挺麻烦的。 这两天试了一下在windows平台上安装交叉编译环境,成功了,这里将详细教程写下来,就当是做个记录。 目录 一、安装Eclipse (2) 二、安装CDT (3) 2.1Eclipse Marketplace 安装CDT (4) 2.2 Install New Software 安装CDT方案1 (4) 2.3 Install New Software 安装CDT方案2 (7) 2.4 手动安装CDT (9) 三、安装minGW (10) 四、安装Linaro ToolChain (10) 五、搭建交叉编译开发环境 (13) 六、RSE将可执行文件传输到ARM上 (26)

一、安装Eclipse Eclipse的下载网址是:https://www.sodocs.net/doc/1f10241721.html,/downloads/ 会有下面的这个网页,我打红色框的都可以直接使用,这里其实是无所谓的,因为Eclipse是基于插件的开发环境,如果只是为了开发C++的,可以考虑选择后面一个“Eclipse IDE for c/C++ Developers”。 Eclipse解压后就可以直接使用,见下图中的eclipse.exe,同时注意一下freatures和plugins文件夹。

开发环境搭建步骤

一、需要使用的工具 1.开发工具:Eclipse 3.2、MyEclipse 5.0GA 2.JDK V ersion:j2sdk1.4.2_08 3.J2EE Server:JBoss 4.20GA 4.Eclipse SVN plugin:Subclipse 1.2.4 二、集成调试环境搭建 1. 安装JDK 假设安装目录为:C:\Java Tools\JDK\j2sdk1.4.2_08 2. 安装Eclipse 假设安装目录为:C:\ec lipse 3.2\eclipse 3. 安装JBoss 假设安装目录为:C:\jboss-4.0.5.GA 4. 在Eclipse下配置JDK、JBoss 打eclipse后,进入Window-Preferences-Java-Installed JREs,做如下配置 单击Ok完成JDK配置,之后进入Window-Preferences-MyEclipse-Application Servers-JBoss 4,做如下配置

配置JBoss Server为Enable,配置JDK为j2sdk1.4.2_08,单击Ok完成JBoss的配置5. 安装Eclipse SVN plugin 进入Help-Software Updates-Find and Install…,做如下配置 选择Search for new features to install,并单击Next 单击New Archived Site..,选择SVN plugin包文件。 单击OK后,按提示操作完成SVN Plugin的安装。

三、工程环境搭建 该工程包括下列子工程:iTreasuryEJB、iTreasuryWEB、ebank、webdocs、Build、lib、properties、Workdoc。各子工程含义: ◆iTreasuryEJB:iTreasury工程JA V A代码; ◆iTreasuryWEB:iTreasur工程WEB部分代码; ◆ebank:ebank工程JA V A及WEB部分代码; ◆webdocs:js文件及图片; ◆Build:配置文件; ◆Lib:JAR包; ◆Properties:配置文件; ◆Workdoc:工程相关文档。 下面分别介绍各项目新建方法: 1. 新建iTreasuryEJB 选择SVN Repository的itreasuryEJB并右键单击Check out… 选择” Check out as a project configured using the New Project Wizard”,并单击 选择EJB Project并单击Next

Arm linux交叉编译

1、编译C++程序,链接是需要添加 -lstdc++ g++和gcc本质一样的,本质上还是gcc,我们实验室所有的c++程序都是用gcc编译的,一般的程序用gcc足够了。对于C++ 程序,编译的时候用gcc 或者g++ 都可以。但是在进行连接的时候最好用g++,因为用g++ 会自动进行C++ 标准库的连接;用gcc 连接C++ 程序也可以,但是需要人为指定连接C++ 标准库,否则就会出现 undefined reference to `__gxx_personality_v/0' 之类的错误。可见-lstdc++ 所对应的是标准C++库。 2、linux OpenCV 静态链接错误,链接是需要添加–ldl undefined reference to `dlopen' undefined reference to `dlerror' undefined reference to `dlsym' 对dlopen, dlerror, dlsym 未定义的引用,缺少链接库,链接时加上选项-ldl 3、对icvPuts, icvGets, gzputs, gzgets, gzopen, gzclose 未定义的引用,编译错误如下 ./obj/local/armeabi-v7a/libopencv_core.a(persistence.cpp.o): In function `icvPuts(CvFileStorage*, char const*)':persistence.cpp:(.text._ZL7icvPutsP13CvFileStoragePKc+0x20): undefined reference to `gzputs'./obj/local/armeabi-v7a/libopencv_core.a(persistence.cpp.o): In function `icvGets(CvFileStorage*, char*, int)':persistence.cpp:(.text._ZL7icvGetsP13CvFileStoragePci+0x26): undefined reference to `gzgets'./obj/local/armeabi-v7a/libopencv_core.a(persistence.cpp.o): In function 缺少zlib库引起的,编译链接时加上-lz 4、如何在configure时,将编译参数传入,改变默认的编译器gcc成arm-linux编译器 按照INSTALL中的介绍,也是常用的方法,在configure的时候,加上–host=arm-linux,结果没有实现我们要的效果,没有将编译器从默认的gcc改成arm-linux-gcc,编译器还是用的默认的gcc。 参数传递必须像CFLAGS=-O2 ./configure一样,将参数设置放在configure的前面: CC=arm-linux-gcc ./configure才能识别的。(如果CC参数放在configure后面:./configure CC=arm-linux-gcc 则不能识别。) –prefix=/usr/crifan/lrzsz,表示具体安装到哪里 完整的配置: CFLAGS=-O2 CC=arm-linux-gcc ./configure–cache-file=cache_file_0 –prefix=/usr/crifan/lrzsz 5、zlib的交叉编译 交叉编译zlib-1.2.3.tar.bz2:

测试环境搭建流程

测试环境搭建流程 目录 1 文档目的:............................................................................................... 2 适用范围:............................................................................................... 3 术语和缩略语解释:............................................................................... 4 参考文献:............................................................................................... 5 角色和职责:........................................................................................... 6 测试环境搭建流程:............................................................................... 6.1 测试环境搭建流程图:.................................................................. 6.2 BS测试环境搭建............................................................................. 6.3 CS测试环境搭建............................................................................. 7测试环境备份与恢复 ............................................................................ 7.1 备份 .................................................................................................. 7.1 恢复 .................................................................................................. 8测试环境数据生产和维护 .................................................................... 8 附录........................................................................................................... 1 文档目的: 为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称。毫无疑问,稳定和可控的测试环境,可以使测试人员花费较少的时间就完成测试用例的执行,也无需为测试用例、测试过程的维护花费额外的时间,并且可以保证每一个被提交的缺陷都可以在任何时候被准确的重现。

Ubuntu8.04下的ARM交叉编译工具链(arm-linux-)详细介绍.

原文链接与:https://www.sodocs.net/doc/1f10241721.html,/u1/58901/showart_1335004.html 实验室的机器配置太低,速度太慢实在是受不了。说是已经升级了,内存从128M升级到了256M。My god!这年头还能到什么地方找那么多128的内存条去阿?哇嘎嘎。真是服了。。。哈哈 打开一个pdf文件要等老半天。基本上没有办法工作。于是想在自己的笔记本上做一个交叉编译环境。我的机器配置也不高,但是相对于实验室的机器来说已经相当不错了。我的机器是单操作系统:只有Ubuntu8.0.4。感觉和windows XP差不多。XP下有的东西,ubuntu下基本上也有。 ps:昨天是我的生日。昨天上午有课,一下午还有今天上午就是在交叉编译的过程中度过的。感觉整个过程挺考验耐心的。下面进入正题。 待续。。。最近两天内补充完整。 ************************************************************************************* 在进行嵌入式在进行嵌入式开发之前,首先要建立一个交叉编译环境,这是一套编译器、连接器和libc库等组成的开发环境。本文结合自己做嵌入式交叉编译开发工作的经验,同时结合自己的体会,做了一个介绍 随着消费类电子产品的大量开发和应用和Linux操作系统的不断健壮和强大,嵌入式系统越来越多的进入人们的生活之中,应用范围越来越广。 在裁减和定制Linux,运用于你的嵌入式系统之前,由于一般嵌入式开发系统存储大小有限,通常你都要在你的强大的pc机上建立一个用于目标机的交叉编译环境。这是一个由编译器、连接器和解释器组成的综合开发环境。交叉编译工具主要由binutils、gcc 和glibc 几个部分组成。有时出于减小libc 库大小的考虑,你也可以用别的c 库来代替glibc,例如uClibc、

嵌入式交叉编译环境的搭建

实验二、嵌入式交叉编译环境的搭建 1、实验目的: 通过本实验使学生掌握交叉编译环境的建立,了解在S3C2440上交叉编译环境搭建的原理及步骤。 2、实验设备及说明 1、安装ubuntu10及vmware的计算机 2、天嵌2440的开发板 3、实验指导书 4、天嵌开发板的超级终端设置 5、天嵌开发板开发文档 6、TQ2440使用手册v2.3---20100125 3、实验内容和步骤 1、安装交叉编译器:EABI4.3.3 ●解压EABI 工具包 命令:tar zxvf /mnt/hgfs/(根据本机压缩包存储路径输入)/EABI 4.3.3.tar.gz –C / ##将压缩包解压到根目录下 ●添加路径至全局变量PATH中 命令:PATH=$PAHT:/opt/EmbedSky/4.3.3/bin (此路径应根据本机的具体情况输入) ●查看全局变量PATH 命令:echo PATH ###查看刚才的添加是否成功 ●查看交叉编译命令是否能够使用 命令:arm-linux-gcc –v ###如果刚才解压、添加变量成功,此时输入命令后,即可以显示命令的版本信息。

2、minicom

●在线安装minicom 命令:apt-get install minicom ●在命令行中键入“minicom”,这就启动了minicom软件。 ●Minicom在启动时默认会进行初始化配置minicom -s ?CTRL+A Z,来查看minicom的帮助 ?CTRL-A O配置minicom的串口参数,选择“Serial port setup”子项,上面列出的配置是minicom启动是的默认配置,用户可以通过键入每一项前的大写字母,分别对每一项进行更改.要对波特率、数据位和停止位进行配置,键入“E”,在该配置界面中,可以键入相应波特率、停止位等对应的字母,即可实现配置,配置完成后按回车键就退出了该配置界面。在确认配置正确后,可键入回车返回上级配置界面,并将其保存为默认配置。 ?

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

嵌入式操作系统实验一建 立交叉编译环境 Last updated on the afternoon of January 3, 2021

嵌入式操作系统实验报告 队友:张圣苗亚 实验内容 1、准备工作工作:安装virtualbox虚拟机工具,并安装系统、增强型工具,实现共享文件夹的自动挂载。 2、利用crosstool提供的脚本安装和相关资源编译面向的ARM的GCC工具。 详细内容1:安装虚拟机软件和虚拟机时要完成的主要步骤有:安装virtualbox,建立一台虚拟机,分配内存和硬盘,指定共享文件夹(主机和虚拟机可共同操作),指定操作系统镜像文件路径(相当于光盘,第一次启动时安装),安装虚拟操作系统,安装增强工具包,实现共享文件夹的自动挂载。有几点需要注意: 1、虚拟硬盘尽量分配大一些,之后再扩就比较麻烦。 2、共享文件夹不要有中文路径,不然挂载后看不到中文名称文件。 3、安装操作系统时,不能断网,需要下载各种资源,不然会异常。 详细内容2需要安装与脚本相关的工具,需要修改crosstool中的配置文件以指定编译的目标位arm-linux。需要修改需要的资源 实验步骤 实验准备: 在实验准备中,在安装完增强工具包()并重启之后,需要实现对共享文件夹的自动挂载,只需要修改etc目录中的配置文件,是很多linux系统管理员的偏爱,因为凡是需要随系统自动启动的服务、程序等,都可以放在里面。 $sudomkdir/mnt/share $sudomount-tvboxsfembedded/mnt/shared 上面三句话实现了将共享文件夹embeded挂载到了share上。 gedit/etc/ 将第2句命令添加在exit之前,实现了自动挂载功能。 实验一 一、搭建编译环境 1、安装于脚本运行相关及其他的工具bison、flex、build-essential、patch、libncurses5-dev。

MyEClipse开发环境搭建步骤

Myeclipse安装步骤指南 一:安装myeclipse 二:安装JDK 1、安装JDK 注意:把安装路径记下来!!安装完成后: 2、配置环境变量: (1)配置环境变量路径:我的电脑—属性—高级系统设置—高级—环境变量—新建 (注意:有的话直接在后面添加,用;分号隔开) (2)变量值: ①变量名path (有就在原有基础上加; 分号把变量值添加进去) 变量值:%JA V A_HOME%\bin;%JA V A_HOME%\jre\bin ②变量名:CLASSPA TH 变量值:. (要加.表示当前路径,当前路径的意思就是你现在编译运行的程序class文件所在的地方) ③变量名:JA V A_HOME 变量名:JDK 安装路径(默认:C:\Program Files\Java\ \jdkXXX ) 3、验证JDK是否配置成功 CMD 输入命令javac 成功输出安装配置成功

三:tomcat安装 1、下载——安装(安装版) 路径:myeclipse—myeclipse—preferences—servers—Tomcat6.X 在这选择tomcat 的路径成功后可见:

路径:myeclipse—myeclipse—preferences—servers—Tomcat6.X 方法一:在线安装

找到栏目help———eclipse configuration center———进入后点software 页面———点击add site 如图 Name:SVN URL:https://www.sodocs.net/doc/1f10241721.html,/update_1.8.x 3键Add to Profile

环境管理体系的建立过程正式版

Guide operators to deal with the process of things, and require them to be familiar with the details of safety technology and be able to complete things after special training.环境管理体系的建立过程 正式版

环境管理体系的建立过程正式版 下载提示:此操作规程资料适用于指导操作人员处理某件事情的流程和主要的行动方向,并要求参加施工的人员,熟知本工种的安全技术细节和经过专门训练,合格的情况下完成列表中的每个操作事项。文档可以直接使用,也可根据实际需要修订后使用。 随着可持续发展战略在全球的实施,环境保护正朝着污染预防的方向发展。这要求组织以主动自觉的方式从其管理职能上推动生命周期的环境管理,将环境保护贯穿渗透到组织的基本活动过程中,以促进组织环境表现的持续改进。实践表明,为实现这一目的,在组织中需要一种系统的结构化管理机制。环境管理体系正是这样一个有效的方法工具。建立环境管理体系,必须以ISO14001标准为规范、 ISO14004标准为指南,并结合国家的法律法规和环境标准。需要特别指出的是:

ISO14001是用于对组织所拥有的环境管理体系进行认证、注册和自我声明的规范标准。因而其对环境管理体系的规定和表述,更侧重于从审核认证或自我声明的角度对环境管理体系的建立和实施提出基本要求。相反,GB/T24004-ISO14004则是一个拟用于对环境管理体系进行认证、注册或自我声明的标准。它作为一个组织由于自身环境管理的需要而自愿选用的支持工具,为组织的环境管理体系的建立、实施及改善提供了具体而广泛的指导。在各类组织的实际应用中,不同的组织所建立的环境管理体系,其特定形式,具体内容等有可能并不完全相同,这取决于组织及其活动,产品或服务过程的具体特点和复杂

ubuntu10.04全过程创建交叉编译环境

ubuntu10.04下建立交叉编译工具链(支持软浮点)全过程 参考了网上的不少的资料,花了五个小时终于完成了,记录下全过程供大家分享。 用到的源码包如下,建议新手全部放在/home/usr/downloads/ 目录下。以下操作在用户权限下进行。 ======================================================================= arm-linux-gcc-3.4.1.tar.gz glibc-2.3.3.tar.gz linux-2.6.8.tar.gz crosstool-0.43.tar.gz binutils-2.15.tar.gz glibc-linuxthreads-2.3.3.tar.gz binutils-2.18.tar.gz --安装用 编译一次至少要花半个小时,如果因为依赖软件没有安装中途会报错退出,只有从头再来,那样很浪费时间的。 sudo apt-get install bison flex build-essential patch libncurses5-dev 由于ubuntu10.04自带的ld ,as版本太高的原因,需要安装binutils的2.18版本,然后替换系统中的2.20版本。方法如下: $cd downloads $tar xzvf binutils-2.18.tar.gz $cd binutils-2.18 $./configure --prefix=/tmp/binutils --disable-nls (-prefix后面的是生成可执行文件存放的位置可以自己定义) $make all $make install 编译成功后在/tmp/binutils/bin/中就生成了ld和as程序的可执行文件 重新链接/usr/bin/ld 和/usr/bin/as文件 $sudo rm /usr/bin/ld /usr/bin/as //删除2.20的ld,as $sudo ln –s /tmp/binutils/bin/ld /usr/bin/ $sudo ln –s /tmp/binutils/bin/as /usr/bin/ 然后可运行ld –v 和as –v 查看版本是否为2.18。 安装2.18版本可解决出现的 ld as " version too old "问题。 2. ubuntu10.04下默认的GCC版本是4.4.3,但这个不是版本越高越好,版本太高,对语法什么的要求也高,编译不成功,降低版本吧: #sudo apt-get install gcc-4.1 //安装4.1的GCC,需要联网 #sudo rm /usr/bin/gcc //删除之前4.4.3的快捷方式,4.4.3的GCC并未删除#sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc //建立4.1的快捷方式 这是由于crosstool中定义了GCC的版本的上下线,最高也就到4.1,在其配置的时候会对这个版本信息进行检测,不在其规定范围就报错了。 3.修改sh版本 如果运行

交叉编译几种常见的报错

交叉编译几种常见的报错 由于是第一次交叉编译,不知道会出现什么问题,思路就是先把gcc和ld都改成arm的,然后遇到什么问题在解决什么问题,以下过程都是在这个思路下进行。 1.指定arm的编译器和连接器: 只是把gcc改为arm-none-linux-gnueabi-gcc,ld改为arm-none-linux-gnueabi-ld,其他的都没有 修改。出现以下错误: arm-none-linux-gnueabi-ld: warning: library search path "/usr/local/lib" is unsafe for cross-compilation arm-none-linux-gnueabi-ld: skipping incompatible /usr/local/lib/libfreetype.so when searching for -lfreetype arm-none-linux-gnueabi-ld: skipping incompatible /usr/local/lib/libfreetype.a when searching for -lfreetype arm-none-linux-gnueabi-ld: cannot find -lfreetype 分析原因是:链接的这些库文件都是在PC编译器下编译出来的,现在把它们和用arm-none-linux-gnueabi-gcc编译出来的文件做链接,当然会出错。 解决方法:这些库重新用arm-gcc重新编译生成相应的库。 下面使用是重新编译库文件的过程: 重新编译freetype 根据交叉编译的文档,我创建了一个文件夹/usr/local/arm-linux来存放编译后的库文件。执行: ./configure –host=arm-none-linux-gnueabi –prefix=/usr/local/arm-linux 注意:host的参数应该是交叉编译环境的前缀。 另外,freetype自动生成的include文件夹有点小问题,编译完成后的include目录结构是 /include/ft2build.h和 /include/freetype2/freetype/***.h如果直接使用会出现头文件找不到的问题,这里涉及到freetype 的一个小技巧:使用freetype时只需要包含ft2build.h这一个头文件即可,因为ft2build.h里面会自动包含其他需要的头文件。而ft2build.h中的包含其他头文件的路径是/freetype/***.h,显然找不到相应的头文件。我们把freetype2中的freetype文件整个拷贝到include目录下,然后把 freetype2删除即可。

了解Linux安装ARM交叉编译器的步骤

了解Linux安装ARM交叉编译器的步骤 安装交叉编译环境 gcc是linux环境下的asm和c语言编译器,生成的是可以在x86平台上运行的可执行程序;而在开发板上运行的程序则需要arm平台专用的编译器,也称为交叉编译器; 交叉编译器可以由开发人员手工定制,也可用使用别人已经编译好的,比如arm-linux-gcc; (1)安装交叉编译器 ---------------------- $>cd /home/zhang/tools/ $>tar xzvf crosstools-451.tar.gz -C /usr/local/ $>cd /usr/local $>ls 可以看到一个子目录toolschain/,该目录下存放了用于arm平台的交叉编译器和其他工具。arm-linux-gcc等可执行程序位于bin子目录下。 (2)环境变量的设置 ---------------------- 如果希望在控制台中直接运行arm-linux-gcc,则必须把arm-linux-gcc所在的路径记录到控制台的默认环境变量PATH中,这需要修改某些配置文件。 如果使用root用户,则可以修改如下文件: $>vim ~/.bashrc 在文件的最后加入以下内容: export PATH=/usr/local/toolschain/4.5.1/bin:$PATH //写入/etc/profile或/etc/bashrc也可 退出vim后,使新的环境变量生效: $>source ~/.bashrc 可以用如下命令验证是否可直接运行交叉编译器: $>which arm-linux-gcc 如显示/usr/local/toolschain/4.5.1/bin/arm-linux-gcc则说明环境变量配置好;

开发环境搭建文档

开发环境搭建 jdk1.5环境的安装和配置 1.jdk1.5的安装 jdk的安装很简单,双击jdk1.5文件下面的jdk-1_5_0_07-windows-i586-p.exe文件,按照步骤一步一步安装即可。 2.jdk1.5的配置 找到jdk1.5的安装路径D:\Program Files\Java\jdk1.5.0_07\bin目录,将其配置到windows 的环境下。 右击“我的电脑”—>“属性”—>“高级” 选择Path点击编辑 将鼠标移到变量值的最前端,把D:\Program Files\Java\jdk1.5.0_07\bin拷贝进去并以分号结束。

配置CLASSPATH,单击新建按钮 输入变量名CLASSPA TH,变量值为“.”; 3.查看jdk是否安装成功 运行cmd,在命令行中输入java。查看命令行的提示信息。 输入javac,查看提示信息。

提示上述信息,则安装成功。 db2客户端环境的安装和配置 1.db2客户端的安装 db2客户端的安装很简单,双击db2 client目录下的setup.exe按提示一步一步安装即可。 2.db2客户端的配置 选择“开始”—>“所有程序”—>“IBM db2”—>“设置工具”—>“配置助手”,打开配置助手,如下图: 单击“选择”—>“使用向导来添加数据库”

选择“人工配置与数据库的连接”选择,单击“下一步”。 选择“TCP/IP”单击下一步。 主机名框中填写DB2服务器的IP地址,服务名保持默认值,端口号填写DB2端口号(默认为50000),单击“下一步”按钮,出现如下图所示界面。

交叉编译环境的搭建简介(精)

交叉编译环境的搭建简介 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:体系结构(Architecture、操作系统(Operating System。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86 Linux平台实际上是Intel x86体系结构和Linux for x86操作系统的统称;而x86 WinNT平台实际上是Intel x86体系结构和Windows NT for x86操作系统的简称。 有时是因为目的平台上不允许或不能够安装我们所需要的编译器,而我们又需要这个编译器的某些特征;有时是因为目的平台上的资源贫乏,无法运行我们所需要编译器;有时又是因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。 交叉编译这个概念的出现和流行是和嵌入式系统的广泛发展同步的。我们常用的计算机软件,都需要通过编译的方式,把使用高级计算机语言编写的代码(比如C代码编译(compile成计算机可以识别和执行的二进制代码。比如,我们在Windows平台上,可使用Visual C++开发环境,编写程序并编译成可执行程序。这种方式下,我们使用PC 平台上的Windows工具开发针对Windows本身的可执行程序,这种编译过程称为native compilation,中文可理解为本机编译。然而,在进行嵌入式系统的开发时,运行程序的目标平台通常具有有限的存储空间和 运算能力,比如常见的 ARM 平台,其一般的静态存储空间大概是16到32MB,而CPU的主频大概在100MHz到500MHz之间。这种情况下,在ARM 平台上进行本机编译就不太可能了,这是因为一般的编译工具链(compilation tool chain需要很大的存储空间,并需要很强的CPU 运算能力。为了解决这个问题,交叉编译工具就应运而生了。通过交叉编译工具,我们就可以在CPU能力很强、存储控件足够的主机平台上(比如PC上编译出针对其他平台的可执行程序。

MTK 开发环境搭建步骤

MTK 平台软件环境配置 Bright.Zhang 2006-12-27 1. 将软件代码拷贝至D:\pvcs\maui\mcu 目录下,做为工作目录。 2. Perl 将Perl 拷贝至C 盘根目录下,在“我的电脑”→“属性”→“高级”→“环境变量” →“系统变量”→Path 中添加Perl 的路径 C:\perl\bin\; (path参考:C:\Program Files\ARM\bin\win_32-pentium;C:\Program Files\ARM\RVCT\Programs\3.1\569\win_32-pentium;C:\Program Files\ARM\Utilities\FLEXlm\10.8.5.0\1\win_32-pentium;C:\Program Files\ARM\ADSv1_2\bin;c:\program files\imagemagick-6.2.5-q16;C:\perl\bin\;C:\WINDOWS\system32;C:\WIN DOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\TortoiseSVN\bin;C:\Program Files\ARM\RDI\Deprecated\1.3.1\1\windows) 3. 7-Zip 安装7-Zip 软件。完毕后,将C:\Program Files\7-Zip 目录下的7za.exe 文件拷贝到 D:\pvcs\maui\mcu\plutommi\Customer\ResGenerator 目录下 4. MinGW-3.1.0-1.exe MinGW-3.1.0-1.exe 安装到c 盘根目录 5. gcc-core-3.3.1 gcc-core-3.3.1 解压,将“bin”、“info”、“lib”、“man”四个目录覆盖方式复制到c:\ MinGW 中。 6. gcc-g++-3.3.1-20030804-1.tar.gz gcc-g++-3.3.1-20030804-1.tar.gz 解压,将“bin”、“include”、“lib”、“man”四个目录覆 盖方式复制到c:\ MinGW 中。 7. 将c:\ MinGW 目录拷贝至D:\pvcs\maui\mcu\tools 中 8. MSYS-1.0.10.exe 将MSYS-1.0.10.exe 安装到C:\msys\1.0 的默认路径下 在弹出的Dos 框中

Android开发环境搭建图解教程(完整过程详细步骤)

Android开发环境搭建图解教程 一、开发环境搭建 在搭建Android开发环境之前,首先要了解Android对操作系统的要求:Android可以运行在Windows XP及以上的版本上,也可以运行在Mac OS和Linux 等操作系统上,本文以Windows XP为依托进行Android开发环境搭建的讲解。1.安装JDK和配置Java开发环境 Android应用程序开发使用Java语言,因此首先需要搭建Java程序开发运行环境,Java的开发环境称为JDK(Java Development Kit),是Sun Microsystems 针对java程序员开发的产品,自从Java推出以来,JDK已经成为最广泛的Java SDK。JDK是整个Java的核心,包括了Java运行环境JRE(Java Runtime Environment)、Java工具和Java基础类库。 1.1 下载JDK 当前最新版JDK的下载地址为: .oracle./technetwork/java/javase/downloads/jdk-7u2-download-1377129.html 图 1 - 1 1.2 配置JDK

右键点击“我的电脑”,选择“属性”→“高级”→“环境变量”→“系统变量”,找到“Path”变量名(如果没有就新建一个名为“Path”的变量),点击“编辑”按钮,添加JDK安装目录中的“bin”文件夹路径,以分号隔开,如图1-2所示,然后点击“确定”按钮完成设定。 图 1 - 2 再找到“CLASSPATH”变量(如果没有,以同样方法新建一个),输入JDK 安装目录中的“lib”及“demo”的路径,如图1-3所示,点击“确定”按钮完成设定。 1.3 验证JDK是否安装配置成功 安装配置完成之后,需要测试JDK是否安装配置成功。在Windows XP系统中点击“开始”→“运行”,输入“CMD”回车进入命令行模式,键入命令“java -version”,运行结果如图 1-4所示,表示安装JDK安装成功(显示的版本号根据具体情况可能有所不同)。 然后键入命令“javac”,运行结果如图1-5所示,表示JDK环境配置正确。

Linux交叉编译环境

开发编译环境 1.交叉编译器的安装,与使用 以ubuntu-14.04.4-desktop-amd64 为例 将附录1的arm_toolchain.tar.gz 选择一个目录COPY过去,(此处以/opt为例) tar zxvf arm_toolchain.tar.gz 修改~/.bashrc 在最后一行添加 将/opt/X3改成你解压的所在目录即可 source ~/.bashrc 在终端查看是否正确,输入arm后按TAB键若出现 安交叉编译器安装正确 若不添加该环境变量,则在使用该编译器时,请使用绝对路径 如: 部分LINUX操作系统,可能存在所需的库并未安装,在编译时若提示未能找到相关库,请自行搜索该库的相应安装 若出现 arm-Linux-gcc /usr/local/arm/4.3.2/bin/arm-linux-gcc: 行3: /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc: 没有那个文件或目录(No such file or directory) 且进入external-toolchain/bin/ 直接运行./ arm-none-linux-gnueabi-gcc出现同样提示,则可能原因是64位系统需要安装32位相应库 解决方法: 方法一: sudo apt-get install lib32z1 方法二: sudo apt-get install g++-multilib 方法三: $ sudo dpkg --add-architecture i386 $ sudo apt-get update $ sudo apt-get install ia32-libs (工具:附录1-arm_toolchain.tar.gz)

实验二:交叉编译环境的建立

实验二:交叉编译环境的建立 一.实验目的 通过本实验,使学生掌握交叉编译环境的建立,了解在S3C2410平台上交叉编译的工作方式和原理。 二.实验原理和说明 1、minicom 用法: minicom 是安装REDHAT 时安装的软件,它使用配置文件/etc/minirc.dfl,华恒光盘安装时会提供这个文件。 【注意】 minicom 占用串口,能且仅能启动一个minicom,启动第二个时就会报错: Device /dev/modem is locked。其中/dev/modem 就是/dev/ttyS0,即PC 机串口1,它是在光盘安装时执行./arminst 时创建的链接。查看arminst 文件,可以看到如下一行: ln -sf /dev/ttyS0 /dev/modem minicom 所有的操作都以ctrl+A 开始,例如:退出为ctrl+A,松手后再按下Q,则弹出如下一个小框:选Yes 即可退出minicom。 minicom 中最重要的操作就是对其进行配置的修改。这个操作要先ctrl+A,松手后按下o(是字母o,option 之意,不是零),则弹出如下框: 选择第三项“Serial port setup”,则弹出下面框: 键入E 则弹出如下框,可改变波特率:

若要使用PC 机的串口2 来接开发板的串口1 做监控,则要在串口配置框中选择A,即“Serial Device”,则原来的配置框第一行进入编辑模式,将原来的/dev/modem 改为如下的:/dev/ttyS1,即串口2。 退出配置框只需连续按ESC 键即可返回。 2、HHARM9-EDU目录结构介绍 安装过我们提供的光盘以下,会在您的PC机上建立一个HHARM9-EDU的目录。在shell提示符下执行ls命令,可以显示整个PC上的目录结构: [root@…. root]# cd / [root@…. /]# ls HHARM9-EDU boot lost+found opt sbin usr dev home proc tftpboot var initrd misc root tmp bin etc lib mnt [root@….. /]# 其中在PC机(宿主机)的根目录下安装了HHARM9-EDU的目录和opt目录,其中HHARM9-EDU是开发套件的源代码、驱动、以及相应的应用程序。opt是ARM的编译器存放的目录。进入HHARM9-EDU看看。 [root@……. /]# cd / HHARM9-EDU [root@HHARM9-EDU /] # ls Images applications kernel opt.tgz gprs-ppp minirc.dfl ppcboot-2.0.0 record-image SJF 下面对以上目录作简单介绍: (1) /HHARM9-EDU/SJF/ JTAG烧写工具源码目录,在该目录下执行make,即可生成JTAG烧写工具SJF2410,它就是我们通过JTAG烧写ppcboot要用到的文件。 (2) /HHARM9-EDU/ppcboot/ bootloader源码目录,在该目录下简单的make即可生成HHARM9-EDU的bootloader - ppcboot.bin,可以通过修改这些源码来修改bootloader。 『说明』在嵌入式系统中,我们把引导系统的初始化部分的代码统称为bootloader,相当于PC机的BIOS。但在我们提供的很多套件中,有的引导代码用的是ppcboot,有的是u-boot,有的是bootloader等等,但实际烧写到flash中的文件一般为ppcboot.bin、u-boot.bin、bootloader.bin等二进制代码文件。

相关主题