新手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模式,如下图:”

新手VMware虚拟机下Smart4418之U-boot烧写至开发板_第1张图片

此时smart4418的开发板的状态

新手VMware虚拟机下Smart4418之U-boot烧写至开发板_第2张图片

下一步在终端进入输入fastboot命令:

新手VMware虚拟机下Smart4418之U-boot烧写至开发板_第3张图片

此时开发板的状态:新手VMware虚拟机下Smart4418之U-boot烧写至开发板_第4张图片

到了这一步连接MiniUSB口,要确保Android Device没有黄色三角形状的感叹号,如果有,则需要安装ADB驱动,我本人安装从别人下载的驱动总是安装失败,因此建议下载驱动精灵或者驱动人生来安装这个驱动。只有确保了下面那张图才可以进行后续操作,不然到了后面会出现wait for device的等待画面。


新手VMware虚拟机下Smart4418之U-boot烧写至开发板_第5张图片


将从linux虚拟机编译生成的u-boot.bin文件拷贝到fastboot烧写工具的目录下:fastboot烧写工具\platform-tools


新手VMware虚拟机下Smart4418之U-boot烧写至开发板_第6张图片

以管理员身份运行fastboot烧写工具的cmd.exe,再输入fastboot.exe flash  bootloader u-boot.bin

新手VMware虚拟机下Smart4418之U-boot烧写至开发板_第7张图片

到了这步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的版本

新手VMware虚拟机下Smart4418之U-boot烧写至开发板_第8张图片

第一种烧写方式到此结束。

你可能感兴趣的:(嵌入式Linux)