新手VMware虛擬機下Smart4418之U-boot燒寫至開發板

操作環境:

開發板:友善之臂smart4418

電腦操作系統:Windows10 64位 專業版

虛擬機軟件:VMware Workstation

1.首先參考smart4418的Wiki操作,如下:

安裝交叉編譯器

首先下載並解壓編譯器:

git clone https://github.com/friendlyarm/prebuilts.git
sudo mkdir -p /opt/FriendlyARM/toolchain
sudo tar xf prebuilts/gcc-x64/arm-cortexa9-linux-gnueabihf-4.9.3.tar.xz -C /opt/FriendlyARM/toolchain/

注意:這裏Wiki裏的所裝的Ubutun 14.0的64位操作系統,如果的是安裝的32位的,

解壓的時候應該爲如下命令:

sudotar xf prebuilts/gcc/arm-linux-gcc-4.5.1-v6-vfp.tar.xz-C /(這裏只需爲根目錄即可,

系統會自動生成/opt/FriendlyARM/toolschain/這個目錄

同樣下面的環境變量應該變爲:export PATH=/opt/FriendlyARM/toolschain/4.5.1/bin:$PATH

然後將編譯器的路徑加入到PATH中,用vi編輯vi ~/.bashrc,在末尾加入以下內容:

export PATH=/opt/FriendlyARM/toolchain/4.9.3/bin:$PATH
export GCC_COLORS=auto

執行一下~/.bashrc腳本讓設置立即在當前shell窗口中生效,注意"."後面有個空格:

. ~/.bashrc


這個編譯器是64位的,不能在32位的Linux系統上運行,安裝完成後,你可以快速的驗證是否安裝成功:

arm-linux-gcc -v
Using built-in specs.
COLLECT_GCC=arm-linux-gcc
COLLECT_LTO_WRAPPER=/opt/FriendlyARM/toolchain/4.9.3/libexec/gcc/arm-cortexa9-linux-gnueabihf/4.9.3/lto-wrapper
Target: arm-cortexa9-linux-gnueabihf
Configured with: /work/toolchain/build/src/gcc-4.9.3/configure --build=x86_64-build_pc-linux-gnu
--host=x86_64-build_pc-linux-gnu --target=arm-cortexa9-linux-gnueabihf --prefix=/opt/FriendlyARM/toolchain/4.9.3
--with-sysroot=/opt/FriendlyARM/toolchain/4.9.3/arm-cortexa9-linux-gnueabihf/sys-root --enable-languages=c,c++
--with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=vfpv3 --with-float=hard
...
Thread model: posix
gcc version 4.9.3 (ctng-1.21.0-229g-FA)

編譯U-Boot

下載U-Boot源代碼並編譯,注意分支是nanopi2-lollipop-mr1:

git clone https://github.com/friendlyarm/uboot_nanopi2.git
cd uboot_nanopi2
git checkout nanopi2-lollipop-mr1
make s5p4418_nanopi2_config
make CROSS_COMPILE=arm-linux-

編譯成功結束後您將獲得u-boot.bin,您可以通過fastboot來更新正在運行的NanoPi2板上SD的U-Boot,方法如下:
1) 在電腦上先用命令 sudo apt-get install android-tools-fastboot 安裝 fastboot 工具;
2) 用串口配件連接NanoPi2和電腦,在上電啓動的2秒內,在串口終端上按下回車,進入 u-boot 的命令行模式;
3) 在u-boot 命令行模式下輸入命令 fastboot 回車,進入 fastboot 模式;
4) 用microUSB線連接NanoPi2和電腦,在電腦上輸入以下命令燒寫u-boot.bin:

fastboot flash bootloader u-boot.bin


2.到了這一步,可能遇到很棘手的問題,我們會覺得進入fastboot模式後無法操作。

第一種做法是參考itop4418的燒寫過程以及相關軟件,參考網址:http://jingyan.baidu.com/article/0964eca26fd9b38284f5365c.html

此網址並不提供相關工具,以下是我從Itop4412的資料裏找的工具。

fastboot燒寫工具和超級終端(串口調試助手),下載(百度雲盤)地址:http://pan.baidu.com/s/1miz7Sms

安裝相關軟件後,打開超級終端:讓開發板進入U-boot模式,如下圖:”


此時smart4418的開發板的狀態


下一步在終端進入輸入fastboot命令:


此時開發板的狀態:

到了這一步連接MiniUSB口,要確保Android Device沒有黃色三角形狀的感嘆號,如果有,則需要安裝ADB驅動,我本人安裝從別人下載的驅動總是安裝失敗,因此建議下載驅動精靈或者驅動人生來安裝這個驅動。只有確保了下面那張圖纔可以進行後續操作,不然到了後面會出現wait for device的等待畫面。



將從linux虛擬機編譯生成的u-boot.bin文件拷貝到fastboot燒寫工具的目錄下:fastboot燒寫工具\platform-tools



以管理員身份運行fastboot燒寫工具的cmd.exe,再輸入fastboot.exe flash  bootloader u-boot.bin


到了這步u-boot.bin就燒寫成功了,如果出現wait for device的情況,前面已經提到了,則是Android device未連接好,或者驅動沒安裝好導致的。然後我們繼續在fastboot燒寫工具的cmd中輸入fastboot reboot即可重啓開發板。


3.驗證成功與否

我們可以在uboot模式下輸入version命令可以顯示你u-boot.bin編譯生成的時間以及所用的arm-linux-gcc-工具版本,最好可以在進行燒寫u-boot之前可以先查看u-boot的版本


第一種燒寫方式到此結束。

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