欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

烧写uboot的三种方式

程序员文章站 2022-06-22 20:11:47
一、使用ubuntu中的sdtool工具将u-boot镜像烧写到SD卡中sdtool工具下载链接前提:必须使用读卡器,电脑自带的SD卡卡槽不可以1、拷贝sdtool工具到ubuntu中porting\系统移植资料\工具\sdtool2、sdtool工具中的文件分析s5p6818-sdmmc.sh : 将ubootpak.bin文件写到SD卡ubootpak.bin : u-boot的镜像文件后边u-boot移植目的就是得到ubootpak.bin文件。如果要测试自己的u-boot的镜...

一、使用ubuntu中的sdtool工具将u-boot镜像烧写到SD卡中

sdtool工具下载链接

前提:必须使用读卡器,电脑自带的SD卡卡槽不可以

1、拷贝sdtool工具到ubuntu中
porting\系统移植资料\工具\sdtool

2、sdtool工具中的文件分析
s5p6818-sdmmc.sh : 将ubootpak.bin文件写到SD卡
ubootpak.bin : u-boot的镜像文件
后边u-boot移植目的就是得到ubootpak.bin文件。

如果要测试自己的u-boot的镜像文件是否可以使用,
只需要替换sdtool目录下的ubootpak.bin文件

3、将sd卡通过读卡器插到电脑之上,并让ubuntu识别
虚拟机-》可移动设备-》SD卡读卡器名-》连接

注意:
a) 虚拟机-》设置-》USB控制器-》USB兼容性:USB 3.0
b) 虚拟机-》可移动设备-》没有任何的移动设备
vmWare后台USB相关服务没有开启。
ubuntu系统关机之后,在开启VMware相关的服务
c) 将SD卡中的锁的开关拨到Lock的位置

4、 进入sdtool目录下执行烧录的命令
hqyj@hqyj:sdtool$ sudo ./s5p6818-sdmmc.sh /dev/sdb ubootpak.bin
出现以下信息,表示烧录成功:
688+1 records in
689+0 records out
352768 bytes (353 kB) copied, 0.117623 s, 3.0 MB/s
_ The image is fused successfully

5、将SD卡插到开发板之上,设置开发板的启动方式为SD卡启动

6、解析:s5p6818-sdmmc.sh
dd if="xboot"of="{xboot}" of="{dev}" bs=512 seek=1 conv=sync

dd :由于文件的烧写
if:input file xboot=ubootpak.bin
of:output file dev=/dev/sdb
bs:块的大小位512字节
seek:偏移 seek=1:偏移bs大小
conv=sync:同步

SD卡分区图
烧写uboot的三种方式

二、使用Windows系统的工具将u-boot镜像烧写到SD卡中

可以使用电脑自带的SD卡卡槽
烧写软件下载链接

1、将SD卡插到自己的电脑SD卡卡槽中,被windows自动识别。(切记不要被windows识别)
烧写uboot的三种方式
2、打开windows下的uboot烧写的工具
烧写uboot的三种方式
3、打开之后,如下图所示
烧写uboot的三种方式

4、让你的win32 Disk Imager软件识别你的SD卡,一般会自动识别,如下图所示
烧写uboot的三种方式
5、打开uboot镜像win_ubootpak.bin所在的目录,如下图所示
烧写uboot的三种方式
烧写uboot的三种方式

6、 添加结果如下:
烧写uboot的三种方式

7、点击write按钮,进行下载。
烧写uboot的三种方式
烧写uboot的三种方式
8、提示一下信息表示下载成功
烧写uboot的三种方式

9、下载成功之后,将SD卡插到开发板之上,设置开发板的启动方式为SD卡启动

三、使用u-boot中的命令将u-boot的镜像烧写到Flash(EMMC)中

前提需要烧写好uboot的SD卡

1、拷贝ubootpak.bin镜像文件到tftpboot文件夹中
系统移植资料\镜像\ubootpak.bin

2、开发板设置SD卡启动,前提SD卡启动盘制作好

3、使用tftp命令将ubootpan.bin文件烧写到内存中
FS6818# tftp 0x48000000 ubootpak.bin

4、使用update_mmc命令将内存中的ubootpak.bin文件烧写到EMMC中
update_mmc

- type : 2ndboot | boot | raw | part

<dev no>:EMMC设备的编号  EMMC:2
<type> :类型   2ndboot
<mem>:内存的起始地址     48000000 
<addr> :EMMC的起始地址   0x200   以字节为单位
<length> : 搬移数据的长度   0x78000  以字节为单位
pri可以得到以下信息
mmc,2:ubootpak:2nd:0x200,0x78000

FS6818# update_mmc 2 2ndboot 0x48000000 0x200 0x78000
打印以下信息表示成功:
head boot dev  = 2
update mmc.2 type 2ndboot = 0x200(0x1) ~ 0x78000(0x3c0): Done

5、测试是否烧写成功
开发板断电,设置开发板的启动方式为EMMC启动

本文地址:https://blog.csdn.net/q1449660223/article/details/108174423

相关标签: ARM