首页 > 代码库 > u-boot移植(一)---准备工作

u-boot移植(一)---准备工作

一、工具链的制作

1.1 工具

  软件工具:crosstool-ng

  下载地址:git clone https://github.com/crosstool-ng/crosstool-ng

  crosstool-ng的环境需要libncurse5-dev 

  sudo apt-get install libncurse5-dev

  安装autoconf:  sudo apt-get install autoconf

  进入crosstool-ng目录,执行./bootstrap,生成 configure 执行文件

  检查安装环境,报什么错,就安装什么软件:./configure --prefix=`pwd`/crosstool 

  需要的软件有:

  sudo apt-get install gperf bison flex texinfo help2man gawk

  执行命令 make执行命令:

  make install

  export PATH="${PATH}:`pwd`/crosstool/bin"

1.2 开始制作

1.2.1 建立目标文件夹

  根目录下建立三个文件夹:

  mkdir src x-tools crosstool

  技术分享

1.2.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 ***
           (armv7-a) Architecture level :指令集架构,exynos4412为armv7-a架构,-march=name
           (arm920t) Emit assembly for CPU  :CPU核心类型,  -mcpu=name
           (cortex-a9) Tune for CPU:对CPU的优化,具体可以查看芯片手册,-mtune=name

  技术分享

  最新版本的crosstool-ng只需要选择第一二项目就好了。

  选择 toolchain options:

  技术分享

  保存退出。

1.2.3 编译

  执行命令:ct-ng build

  技术分享

  编译成功:

  技术分享

  建立环境变量:

  PATH=~/x-tools/arm-s3c2440a-linux-gnueabihf/bin:$PATH/

   arm-s3c2440a-linux-gnueabihf-gcc -v

  

 

u-boot移植(一)---准备工作