1.手动下载制作过程中所需要的包,节省时间
所用包如下(不同版本所有包版本有所不同)
libtool-2.4.6
linux-3.2.87
gmp-6.1.2
mpfr-3.1.5
isl-0.16.1
mpc-1.0.3
libelf-0.8.13
expat-2.2.0
ncurses-6.0
libiconv-1.15
gettext-0.19.8.1
binutils-2.28
gcc-5.4.0
glibc-2.25
duma_2_5_15
gdb-7.12.1
ltrace-0.7.3
strace-4.16
2.工具链制作准备
进入crosstool目录:cd ~/.crosstool
执行:ct-ng list-samples
选择arm-unknown-linux-gnueabi 作为交差编译工具链的模版
执行命令:ct-ng show-arm-unknown-linux-gnueabi,查看编译交差编译工具链所需要的配置
下载gcc 6.3.0:wget http://ftp.gnu.org/gnu/gcc/gcc-6.3.0/gcc-6.3.0.tar.gz
执行命令:ct-ng arm-unknown-linux-gnueabi
执行命令:ct-ng menuconfig
选择 Target options
*** Target optimisations ***
(armv4t) Architecture level :指令集架构,
(arm920t) Emit assembly for CPU :CPU核心类型, -mcpu=name
() Tune for CPU:对CPU的优化,具体可以查看芯片手册,-mtune=name
最新版本的crosstool-ng只需要选择第一二项目就好了。
选择 toolchain options:
3.开始编译:
执行命令:ct-ng build
编译成功:
设置所有用户环境变量:
vim /etc/profile
首行添加如下
export PATH=/home/liu/ARM9/Tools/设置的路径/bin:$PATH
保存并退出,更新生效:
source /etc/profile
执行
arm-s3c2440a-linux-gnueabi-gcc -v
u-boot 2016.01 不支持GCC6,因此要把 GCC的版本改成GCC5.0版本--GCC6.0版本之间。