arm9交叉编译链下载
㈠ linux在arm9平台上移植的详细步骤 急!!!十万火急,做了我全部分数送上都行
1.搞个虚拟机,安装ubuntu,下载交叉编译器,解压安装,配置环境变量,你的boot代码和linux src code的makefile
2.你的处理器是哪个型号的,你的板子flash,uart是怎么接的等等,以此修改你的boot代码和liunx代码
3.制作文件系统。
4.烧写,调试。
有问题可以mail [email protected]
㈡ 如何安装arm-liunx交叉编译环境
sh ./arm-elf-tools-20040427.sh安装
----------------------------------------------
一、准备工作
首先需要一台运行Linux操作系统的PC以完成我们的编译工作。
其次要准备如下一些源文件。
1、源文件准备
binutils-2.14.tar.gz
ftp://ftp.gnu.org/gnu/binutils/binutils-2.14.tar.gz
gcc-core-2.95.3.tar.gz
ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-core-2.95.3.tar.gz
gcc-g++2.95.3.tar.gz
ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-g++-2.95.3.tar.gz
glibc-2.2.4.tar.gz
ftp://ftp.gnu.org/gnu/glibc/glibc-2.2.4.tar.gz
glibc-linuxthreads-2.2.4.tar.gz
ftp://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.2.4.tar.gz
linux-2.4.21.tar.gz
ftp://ftp.kernle.org/pub/linux/kernel/v2.4/linux-2.4.21.tar.gz
patch-2.4.21-rmk1.gz # linux kernel patch for arm
ftp://ftp.arm.linux.org.uk/pub/linux/arm/kernel/v2.4/patch-2.4.21-rmk1.gz
binutils-2.14.tar.gz这个压缩包包含有ld,ar,as等一些产生或者处理二进制文件的工具。
gcc-core-2.95.3.tar.gz这个压缩包是GCC的主体部分,GCC是GNU Compiler Collection的简称,顾名思义,它能够编译很多种高级语言,例如C、C++,Java等,而这个压缩包中含有C编译器,及公共部分,而对其他语言的支持,采用另外的压缩包单独发布。
gcc-g++2.95.3.tar.gz,这个压缩包就是为使GCC能够编译C++程序而单独发布的。
glibc-2.2.4.tar.gz,libc是很多用户层应用都要用到的库,kernel和bootloader不需要这个库的支持,这个库主体部分封装在这个压缩包内。
glibc-linuxthreads-2.2.4.tar.gz,这是Libc用于支持Posix线程而单独发布的一个压缩包。
linux-2.4.21.tar.gz,这个压缩包就是Linux的内核。
patch-2.4.21-rmk1.gz,这个压缩包是用来给Linux内核打补丁,以使其可以支持ARM的硬件平台。
2、工作目录搭建
我们创建如下的目录树结构
mkdir arm
mkdir tool-chain
mkdir build-dir
mkdir src-dir
mkdir setup-dir
mkdir kernel
arm这个目录是我们的最顶层工作目录,我们所有的编译工作都在这里完成。
tool-chain这个目录是我们交叉编译工具的安装位置,它下面的bin子目录存放我们创建好的编译器,汇编器,连接器,以及编译好的C库也会安装到这个目录之下。
setup-dir这个目录用来存放我们下载的压缩包。
src-dir这个目录用于存放binutils,gcc,glibc解压之后的源文件。
kernel这个目录用来存放内核文件,对内核的配置、编译工作将在这个目录中完成。
build-dir用来编译src-dir中的源文件,具体就是binutils,gcc,glibc的编译工作将在这个目录下完成。这种源文件目录和编译目录分离的编译方式是GNU所推荐的。
cd ./src-dir
tar –xvzf ../setup-dir/ binutils-2.14.tar.gz
tar –xvzf ../setup-dir/ gcc-core-2.95.3.tar.gz
tar –xvzf ../setup-dir/ glibc-2.2.4.tar.gz
tar –xvzf ../setup-dir/ glibc-linuxthreads-2.2.4.tar.gz –directory=./glibc-2.2.4
这样我们在src-dir目录下就形成了3个源文件目录binutils-2.14,gcc-core-2.95,3,glibc-2.2.4,其中分别存放着binutils tools,gcc,glibc的源代码。接下来我们到build-dir中创建3个与这三个源文件目录对应的编译目录。
cd ../build-dir
mkdir ../build-dir/build-binutils
mkdir ../build-dir/build-gcc
mkdir ../build-dir/build-glibc
我们将在这三个目录中完成对binutils tools, gcc, glibc的配置和编译工作。下面还要把内核文件解压到kernel目录下,并打补丁。
cd ../kernel
tar –xvzf ../setup-dir/ linux-2.4.21.tar.gz
cd ./linux-2.4.21
patch –p1 < ../../setup-dir/ patch-2.4.21-rmk1
二、开始创建
1、 确定几个系统变量
cd ../../
export TARGET=arm-linux
export PREFIX=../arm/tool-chain
export TARGET_PREFIX=$PREFIX/$TARGET
export KERNEL_SOURCE_LOCATION=../arm/kernel/linux-2.4.21
export PATH=$PREFIX/bin:$PATH
几个系统变量经常要用到,TARGET定义了目标机,PREFIX是工具链的安装目录,KERNEL_SOURCE_LOCATION是内核文件位置。
TARGET这个变量对于ARM体系的目标机来说取值为arm-linux,对于其他体系结构的机器如ppc,mips的取值的详细清单可以参见glibc目录下的INSTALL文档.
2、 创建binutils
运行如下命令来创建binutils
cd ./build-dir/build-binutils
configure ../../src-dir/binutils-2.14/configure –target=$TARGET –prefix=$PREFIX
make
make install
这时$PREFIX/bin下创建了一些文件,包括arm-linux-ld,arm-linux-as等。
3、 编译内核
cd ../../kernel/linux-2.4.21
改Makefile文件使
ARCH = arm
CROSS_COMPILE=arm-linux-
make menuconfig
在System Types中选择正确的硬件类型
make dep
之后执行如下操作
mkdir $TARGET_PREFIX/include
cp dR $KERNEL_SOURCE_LOCATION/include/arm-asm \
RGET_PREFIX/include/asm
cp dR $KERNEL_SOURCE_LOCATION/include/linux \
RGET_PREFIX/include/linux
4、 创建boot-trap gcc,这个GCC没有glibc库的支持,所以只能用于编译内核,bootloader等,后面创建C库也要用到这个编译器,所以创建它主要是为创建C库做准备,如果只想编译内核和bootloader那么,就可以到此结束。
cd ../../build-dir/build-gcc
../../src-dir/gcc-2.95.3/configure –target=$TARGET –prefix=$PREFIX \
--with-headers=$ERNEL_SOURCE_LOCATION/include –enable-language=c \
--disable-threads
然后修改src-dir/gcc-2.95.3/gcc/config/arm/t-linux文件,在
TARGET_LIBGCC2_CFLAGS中添加如下两个定义
-Dinhibit-libc –D__gthr_posix_h
make
make install
这时$PREFIX/bin下创建了一些文件,主要创建了arm-linux-gcc。
5、 创建gblic
cd ../build-glibc
export CC=arm-linux-gcc
../../src-dir/glibc-2.2.4/configure –host=$TARGET –prefix=$TARGET_PREFIX \
--enable-add-ons
make
make install
将glibc库安装完之后,我们要到$TARGET_PREFIX/lib这个目录下修改libc.so文件,将其中
GROUP(/lib/libc.so.6 /lib/libc_noshared.a)
这个命令脚本中的/lib 的绝对路径去掉, 也就是改为如下的形式
GROUP(libc.so.6 libc_noshared.a)
这样下一步创建完整的编译器时,才不至于导致错误.
6、 创建功能健全的GCC,并创建G++
在成功创建了libc之后,我们就可以创建功能丰富的GCC编译器了,并且可以创建支持编译C++程序的G++。
cd ../../src-dir
tar –xvzf ../setup-dir/ gcc-g++2.95.3.tar.gz
cd ../build-dir/build-gcc
export CC=gcc
../../src-dir/gcc-2.95.3/configure –target=$TARGET –prefix=$PREFIX \
–enable-language=c,c++
然后修改src-dir/gcc-2.95.3/gcc/config/arm/t-linux文件,在
TARGET_LIBGCC2_CFLAGS中去除如下两个定义
-Dinhibit-libc –D__gthr_posix_h
make
make install
7,至此我们成功的创建了ARM Linux的交叉编译工具。
------------------------------------------------------
可以去www.arm16.com看看
㈢ 如何在arm板子上安装交叉编译工具链
所谓的搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。 交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。对于交叉开发的工具链来说...
㈣ 关于Linux上的arm-linux交叉编译工具链的问题:但是arm也有很多种啊! 这个工具是对所有的ARM都支持吗
由于交叉编译器中每个组件都有各自的版本,所以可以使用不同版本的组件来制作交叉编译器。但是,组件之间会因版本不匹配的问题而产生错误。为了避免这种麻烦,建议直接使用制作好的arm-linux交叉编译器。你优化arm9,应该是想升级内核吧,升级内核有相应的命令的。
㈤ 在飞思卡尔ARM9开发板上交叉编译运行了一个helloworld都报segmentation fault
段错误一般是指针访问越界造成的,如:intbuf[10];for(inti=0;;i++){if(*buf[i]==100)printf()..}和交叉编译没有关系,你检查一下你的代码吧。
㈥ cross-4.3.2交叉编译工具链在哪里可以下载
ftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain/
可以到这来下载
㈦ 求助arm-s3c6410-linux-gnueabi交叉编译工具链!
你好,你可以去友善之臂的官网下载他们的arm-linux gcc 4.4.3,里面的arm-none-linux-gnueabi-*可以编译你的s3c6410的代码。
㈧ 交叉编译链应该安装到哪个目录下
创建目录以及环境变量
在当前用户目录下创建target-project文件夹,在该文件夹下创建mips-mole文件夹,在mips-mole文件夹下创建三个文件夹:build-tools,kernel,tools,最后,在build-tools文件夹下创建build-gcc,build-boot-gcc,build-glibc,build-binutils文件夹。命令如下:
$ cd ~
$ mkdir -p ./target-project/mips-mole/{kernel/,tools/,build-tools/{build-gcc,build-boot-gcc,build-glibc,build-binutils}}
$ tree ./target-project/mips-mole/
观察目录结构,如下图:
使用脚本构建环境变量,脚本内容如下图:
注意修改/home/用户名,修改正确后,使用source使脚本生效
$ cd target-project
$ chmod +x mips.sh
$ source mips.sh
可以使用echo査看相关变量名以观察环境变量是否生效。
最后把linux-2.6.38.tar.bz2下载放置在kernel文件夹下,binutils-2.22.tar.gz,gcc-4.6.2.tar.gz,glibc-2.14.tar.gz,glibc-ports-2.14.tar.gz,gmp-5.0.4.tar.gz,mpc-0.9.tar.gz,mpfr-3.0.1.tar.gz下载放置在build-tools文件夹下。
㈨ arm9开发工具与开发环境区别
可以这么理解
ARM9的开发工具分为软件和硬件,
软件工具是:交叉编译工具链(gcc、qt等)
硬件:开发板及外部设备
开发环境是指开发ARM9程序所需要的平台,需要一台宿主机(PC机,安装Linux系统,eg:Fedora、redhat、ubuntu等)和一台目标机,在宿主机上采用交叉编译工具编译程序,然后下载到目标机上运行
㈩ arm交叉编译工具链下载
arm交叉编译工具链下载方法
linux arm交叉编译环境,直接解压然后添加环境变量即可使用,
比如放在目录/usr/local/arm-linux,
最好是在/etc/profile中添加export PATH=$PATH:/usr/local/arm-linux/bin
然后执行source /etc/profile
就可以在任何地方执行arm-linux-gcc等一系列相关指令了
相关下载链接://download.csdn.net/download/girlkoo/3689485?utm_source=bbsseo。