文章目录
fastboot需要uboot从原来的2013到2010版本:而原先的uboot是2013版本,所以才经过tftp传输2010的版本后,才可以使用fastboot传输。
显示的uboot的版本是eMMC中的版本,不管是用eMMC方式还是SD卡方式启动。
tftp和fastboot只是传输文件的两种方式:
- tftp通过网线
- fastboot通过usb线
一、连线
串口线、网口线、电源线的链接
二、配置putty
1.电脑上USB转串口驱动的安装
不连线的话该驱动安装会失败
2.查看COM串口号
这个COM串口号不是连接到开发板上的COM串口位置,而是在Windows电脑上分配的COM串口号。
如图我的端口为com3端口
3.配置putty
(这些设置是这样,是因为给定的课件通信协议是这样设置的,不然解读出的内容不一致。)
- 点击Session,点击Serial,
Serial line
就是我们刚才查看的COM串口号,Speed
必须是115200
- 然后点Serial,必须将Flow control设为None。
三、配置共享文件夹
1.建立共享文件夹
必须建立D:\share
,这个文件夹不能更改路径。
创建文件夹后,设置成共享文件。(右键属性→共享→高级共享→勾选共享此文件夹,共享名就是显示在ubuntu下的文件夹名/mnt/hgfs/XXX
→确定)
2.内容
Windows下:将实验一的Linux镜像的文件(实验一的u-boot-fs4412.bin
是2010版本)复制到共享文件夹D:\share
中。(这些文件就出现在虚拟机下的/mnt/hgfs/share
下)
虚拟机下:将虚拟机的/mnt/hgfs/share
目录下的u-boot-fs4412.bin
拷贝到/tftpboot
目录下
sudo cd /mnt/hgfs/share
sudo cp u-boot-fs4412.bin /tftpboot/
四、tftp
1.设置ip
-
开发板上电后,在U-Boot启动后的倒计时阶段结束前(即下图的0秒前就按),按任意键打断U-Boot进入uboot命令行。(此时是2013版本)
-
板子的IP和虚拟机的IP以及Windows主机的IP(要断网手动配置)必须在同一个网段内
查看虚拟机的ip地址:ifconfig
,比如192.168.100.192
断开Windows的网络(必须),将网络的DHCP动态获取改为静态获取。
通过setenv指令设置开发板的IP地址信息
setenv ipaddr 192.168.100.101
setenv serverip 192.168.100.102
saveenv
- ipaddr是开发板的本地IP地址
- serverip是开发板通过tftp指令去tftp服务器下载东西时,tftp服务器的IP地址。
- gatewayip是开发板的本地网关地址
- netmask是子网掩码
- ethaddr是开发板的本地网卡的MAC地址。
可以使用print
查看配置
2.进行uboot烧写
在uboot命令行下
tftp 40008000 u-boot-fs4412.bin
movi write u-boot 40008000
3.重启开发板
此时uboot已更换成2010版本。
五、fastboot
连usb线
1.设置环境变量
要可以看到adb运行程序的路径,不是Fastboot
,而是Fastboot\Fastboot
2.选择设备驱动
在uboot中输入
fastboot
选择fastboot驱动
3.烧写linux镜像
在Windows的cmd下进入到share文件夹
Fastboot flash bootloader u-boot-fs4412.bin
Fastboot flash kernel zImage
Fastboot flash system system.img
六、开发板
1.设置bootcmd和bootargs参数
在uboot命令行下
setenv bootargs root=/dev/mmcblk0p2 rootfstype=ext4 init=/linuxrc console=ttySAC2,115200
setenv bootcmd movi read kernel 40008000\;bootm 40008000
save
2.重新启动板子
在uboot命令行下:
LED
cd test/led
./main
蜂鸣器
cd test/buzzer
./main
参考:
uboot基础与常用命令