Fastboot is a versatile protocol designed for re-flashing partitions, including x-boot, u-boot, uImage, rootfs, and etc., eMMC device on SP7350 devices. This guide will walk you through the process of utilizing Minimal ADB and Fastboot, a handy Windows application, to harness the power of fastboot.
Fastboot over USB
Boot SP7350 platform from eMMC device
To initiate the fastboot process on SP7350 platform, follow these steps after successfully booting from the eMMC device and enter command-line interface of U-Boot. Establish a connection between your SP7350 platform and a Windows computer using either a USB 2.0 cable (micro USB) or a USB 3.0 cable (type C) to configure it as a USB download gadget.
If either the USB 2.0 or USB 3.0 download gadget driver is enabled, use the following command to activate the USB download gadget:
=> fastboot usb 0
In scenarios where both USB 2.0 and USB 3.0 download gadget drivers are enabled simultaneously, distinguish between them using the following commands:
For USB 2.0 download gadget:
=> fastboot usb 0
For USB 3.0 download gadget:
=> fastboot usb 1
By executing these commands, you seamlessly enable the SP7350 platform to function as a USB download gadget, facilitating a smooth and efficient fastboot process.
Update USB download gadget driver in the Windows computer
Following the execution of the command in U-Boot and connecting the SP7350 to the Windows computer, you may observe that in the Device Manager, the USB is categorized under "Other devices" as "USB download gadget" in Windows. To update the driver, follow these steps:
Right click it, and choose “Update drivers->browse my computer for driver software ->let me pick from a list of available drivers on my computer”.
Choose “Android Device”.
Choose Android ADB Interface and press “Yes” to install this driver.
After the update, you will see Android Device->Android ADB Interface in Device manager.
Install Minimal ADB and Fastboot on Windows computer
Begin by installing the “Minimal ADB and Fastboot” application on your Windows computer. Follow these steps:
Download the Application: Obtain the “Minimal ADB and Fastboot” application and install it on your Windows computer.
Installation Path: During installation, the application is typically placed in the directory "c:\Program Files (x86)\Minimal ADB Fastboot."
Organize Image Files: Place the necessary image files (xboot.img, u-boot.img, uImage, and rootfs.img) in the installation folder. This is crucial for efficiently reflashing partitions using subsequent commands.
Reflashing Partitions: To reflash partitions, open the Command Prompt on your Windows computer and navigate to the installation directory. Use commands specific to your requirements.
C:\Program Files (x86)\Minimal ADB and Fastboot>
Flash images
x-boot partition
The image file of xboot (xboot.img) is stored at eMMC boot partition 1 and its default target name is “mmc0boot0” as shown in > Device Drivers > Fastboot support of menuconfig of U-Boot.
To update the x-boot image, execute the following command in the Windows Command Prompt:
C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot flash mmc0boot0 xboot.img target reported max download size of 117440512 bytes sending 'mmc0boot0' (131KB)... OKAY [ 0.023s] writing 'mmc0boot0'... OKAY [ 0.006s] finished. total time: 0.032s C:\Program Files (x86)\Minimal ADB and Fastboot>
Upon execution, the system will report the maximum download size as 117440512 bytes. Subsequently, the 'mmc0boot0' target, with a file size of 131KB, will be sent and successfully written, completing the process in approximately 0.032 seconds.
u-boot, kernel or rootfs partition
For u-boot, kernel, or rootfs partitions, the U-Boot command "mmc part" can be applied to retrieve the partition names within the eMMC's User Data Area Partition (GUID).
=> mmc part Partition Map for MMC device 0 -- Partition Type: EFI Part Start LBA End LBA Name Attributes Type GUID Partition GUID 1 0x00000022 0x00000821 "uboot1" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 292c805a-cb56-41bf-97f2-773a25608b40 2 0x00000822 0x00001021 "uboot2" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 635a1f52-8abf-4f93-8d70-17fd82e1c570 3 0x00001022 0x00001821 "fip" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: b4608adb-3ac4-4964-9de5-5bcd8db8e38d 4 0x00001822 0x00001c21 "env" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: dbaab200-cfe5-45e8-99d0-e9d920a5a29d 5 0x00001c22 0x00002021 "env_redund" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 10b84778-f209-4a67-9008-4ffefee0fdf4 6 0x00002022 0x00002221 "dtb" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 127f33a4-ba05-4ab1-9c9e-ead8003b12ec 7 0x00002222 0x00012221 "kernel" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: ee2d19c3-3c49-4732-b432-04b9351f17d7 8 0x00012222 0x00e8ffde "rootfs" attrs: 0x0000000000000000 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 guid: 6e8b3aaf-e5bc-4134-93b3-8e66c5e77dad =>
The u-boot image file, labeled as u-boot.img, is situated in the uboot2 partition, while the kernel (uImage) resides in the kernel partition, and the rootfs (rootfs.img) is stored in the rootfs partition.
To update the u-boot image, utilize the following command in the Windows Command Prompt:
C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot flash uboot2 u-boot.img target reported max download size of 117440512 bytes sending 'mmc0boot0' (837KB)... OKAY [ 0.033s] writing 'mmc0boot0'... OKAY [ 0.031s] finished. total time: 0.064s C:\Program Files (x86)\Minimal ADB and Fastboot>
Upon execution, the system will process the update, indicating the maximum download size and confirming the successful transfer and writing of the u-boot image to the 'uboot2' partition. This process is analogous when updating the kernel or rootfs.
Fastboot over UDP
Enable UDP support
Enabling Fastboot over UDP provides an alternative and efficient means of updating system images. Follow the steps below to activate UDP support and perform image updates using U-Boot and Minimal ADB and Fastboot on a Windows computer.
Navigate to the Device Drivers > Fastboot support under U-Boot menuconfig.
Select "Enable fastboot protocol over UDP" as shown below:
Install Minimal ADB and Fastboot on Windows computer
Ensure that Minimal ADB and Fastboot is installed on your Windows computer. Reference to the section “Install Minimal ADB and Fastboot on Windows computer.”
Configure network settings
After booting from the eMMC device to U-Boot, establish a connection between the SP7350 and the Windows computer via the network. Configure the Network Interface Card (NIC) settings for both devices. The SP7350 NIC configuration is outlined below:
=> setenv ipaddr 192.168.0.50 => setenv netmask 255.255.255.0 => setenv ethact eth0
Flash images
In U-Boot on the SP7350, execute the following command to enable Fastboot over UDP:
=> fastboot udp
In the Windows Command Prompt, use the following command to update the x-boot image. Note that the process for updating u-boot, kernel, or rootfs is analogous:
C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot -s udp:192.168.0.50 flash mmc0boot0 xboot.img target reported max download size of 117440512 bytes sending 'mmc0boot0' (131KB)... OKAY [ 0.534s] writing 'mmc0boot0'... OKAY [ 0.008s] finished. total time: 0.547s C:\Program Files (x86)\Minimal ADB and Fastboot>
The system will report the maximum download size and provide progress updates, concluding with a confirmation of the completed update. Upon successful completion, the Command Prompt will return to its original state, indicating a successful update.