1. 程式人生 > >u-boot移植(一)---準備工作

u-boot移植(一)---準備工作

分享 2.3 option 什麽 bison ctu http bin 執行命令

一、工具鏈的制作

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移植(一)---準備工作