当我们拿到一块裸板,这时板上没有系统。此时pc机和开发板就没法通过ftp,nfs等网络协议来通信,就没法将我们的pc机端上的文件传输到裸板上。这时我们先自己配置编译bootloader,如u-boot。如果你配置编译的uboot.bin有网卡驱动功能,将uboot.bin烧写到sd卡,烧写命令:
dd iflag=dsync oflag=dsync if=uboot.bin of=/dev/sdb seek=1
然后将sd卡查到开发板,启动开发板电源,这时开发板就进入了仅有的uboot系统界面,如图;
如果你的uboot的网卡驱动是成功的,这时你可以在ubuntu上配置ftpd服务为,以ubuntu为服务器,开发板为客户端,这样你就可以向开发板传输文件了。
但是这里我的网卡驱动没成功,所以没法用ftpd服务来实现文件的传输,所以我只能例寻它法,这样我找到了两种基于串口,USB口传输文件给仅有uboot系统的开发板传送文件的方法(前提你的uboot支持dnw和fastboot,否则也没办法)如下:方法一,方法二
【注意】这两方法是在我们已经通过USB,串口将开发板和pc连接的情况下进行的;开发板的一般串口,USB口如下图所示,找到并和pc连接即可:
接下来就是开发通信的配置了,先讲方法一;
方法一:在ubuntu端安装dnw工具;
dnw工具的下载: https://github.com/changbindu/dnw-linux
将这个文件下载到ubuntu下,然后进行如下步骤安装即可:
1,下载dnw安装包
git clone https://github.com/changbindu/dnw-linux
2,进入dnw-linux文件夹
3,执行下面安装命令
$make
$make install
安装完成。
4,检验是否可以传输文件,首先通过secureCRT连接开发板,然后输入dnw(此时,你的USB线确保是接上pc机的)等待ubuntu将文件穿过来,如下图。
当你输入dnw命令时,pc机界面会弹出提示,问你是将usb挂在那里,如图选择就好,因为我的ubuntu是跑在虚拟机上的。
5,在ubuntu的终端用命令:dnw [文件名] ;就可以将文件发送到开发板了,如下步骤进行:
查看开发板,发现已经成功接收到我们传过来的uImage文件了,如下图:
到处就完成通过dnw向开发板传送文件的目的了。
方法二:ubuntu端安装fastboot工具,
安装命令如下:
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install android-tools-adb android-tools-fastboot
终端输入以上三条安装命令即可成功安装fastboot工具。
然后就可以像dnw一样向开发板传送文件了,区别是将dnw换成fastboot就可以了,如下演示传送过程:
1,开发板端输入fastboot ,然后等待ubuntu法文件过来。
2,ubuntu终端通过命令fastboot flash将文件发送过来。
3,开发板接收完成;
总结用fastboot完成一个linux三大子系统的移植步骤:
#fastbootstep1: fastboot # 开发板端
step2: fastboot flash bootloader tiny210v2-uboot.bin #PC端
step3: fastboot flash kernel /work/tftpboot/uImage_softecc #PC端
step4: fastboot flash system /work/tftpboot/rootfs_qtopia_qt4.img #PC端
step5: nand read 21000000 400000 500000 # 开发板端
step6: bootm # 开发板端