微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 制作ARM Linux交叉编译环境

制作ARM Linux交叉编译环境

时间:11-09 来源:互联网 点击:

led in order
>> to use make menuconfig

make[1]: * [ncurses] Error 1
make[1]: Leaving directory `/home/lhs/HHARMMX21/linux-2.4.20/scripts/lxdialog
make: * [menuconfig] Error 2

解决方法:

执行命令:sudo apt-get install ncurses-dev即可!

(ncurses 用于make menuconfig界面显示)

make menuconfig
在System Types中选择正确的硬件类型

make dep

之后执行如下操作
mkdir $TARGET_PREFIX/include
cp-r $KERNEL_SOURCE_LOCATION/include/asm-arm
$TARGET_PREFIX/include/asm

[cp -r kernel/linux-2.4.21/include/asm-arm arm/tool-chain/arm-linux/include/asm]
cp-r $KERNEL_SOURCE_LOCATION/include/linux
$TARGET_PREFIX/include/linux
[cp -r kernel/linux-2.4.21/include/linux arm/tool-chain/arm-linux/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=arm/tool-chain --with-headers=arm/kernel/linux-2.4.21/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//unsuccess
这时$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//unsuccess

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的交叉编译工具

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top