S3C2440移植uboot之編譯燒寫uboot

移植環境

主 機:VMWare–ubuntu16.04
開發板:S3C2440
編譯器:arm-linux-gcc-4.3.2.tgz
u-boot:u-boot-2012.04.01.tar.bz2

獲取uboot

  進入https://www.denx.de/wiki/U-Boot下載uboot
在這裏插入圖片描述
在這裏插入圖片描述
  一直往下拉選擇如下
在這裏插入圖片描述
  將下載好的壓縮包解壓到任意文件夾,並創建source insight工程。將下載好的u-boot-2012.04.01.tar_2.bz2放到ubuntu服務器/work/system中。執行以下命令解壓uboot:

cd /work/system
tar xjf u-boot-2012.04.01.tar_2.bz2

進入文件夾配置uboot

cd u-boot-2012.04.01
make smdk2410_config
make

  編譯報錯如下
在這裏插入圖片描述
  發生了段錯誤,arm-linux-ld 工具鏈版本不支持uboot中新的屬性。我們的交叉編譯鏈版本爲3.4.5,因此,需要更換新的交叉編譯鏈支持uboot。
將arm-linux-gcc-4.3.2.tar.bz2上傳到ubuntu服務器/work/tools。將arm-linux-gcc-4.3.2.tar.bz2解壓到/work/tools/tmp文件夾。

cd /work/tools
mkdir tmp
tar xjf arm-linux-gcc-4.3.2.tar.bz2 -C tmp/

  解壓完成,進入tmp目錄查看usr/local/arm/4.3.2/bin文件夾,有各種工具鏈。

cd tmp/usr/local/arm/4.3.2/bin
ls

在這裏插入圖片描述
  將新的工具鏈解壓到根目錄並配置環境變量,新的交叉編譯工具鏈就生效了。

sudo tar xjf arm-linux-gcc-4.3.2.tar.bz2 -C /

  爲什麼要設置環境變量?
  因爲我們執行ls 命令時,系統會去尋找所執行的命令,去哪裏找呢?就在環境變量中。在ubuntu查看環境變量如下
在這裏插入圖片描述
  設置新的環境變量

export PATH=/usr/local/arm/4.3.2/bin:.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

  執行

arm-linux-gcc -v

在這裏插入圖片描述
  永久修改環境變量需要修改/etc/environment

sudo vi /etc/environment

  修改前

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/work/tools/gcc-3.4.5-glibc-2.3.6/bin"

  修改後

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin"

  重啓後即可生效。

  再次編譯新的uboot

cd /work/sysytem/u-boot-2012.04.01
make distclean
make smdk2410_config
make

  編譯沒有報錯,將新的uboot.bin燒寫到開發板發現,程序不能運行。所以需要分析並修改uboot
下一節分析並修改ubootS3c2440移植uboot之新建單板_時鐘_SDRAM_串口

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章