Flashing to the eMMC

Foreword

There are two modes for upgrading firmware: RKUSB , Maskrom mode.Please according to your needs to choose the way of flashing

Ready to work

  • ROC-RK3399-PC

  • Firmware

  • Host

  • Type-C cable

  • eMMC

Host operating system support:

  • Windows XP (32/64)

  • Windows 7 (32/64)

  • Windows 8 (32/64)

  • Linux (32/64)

windows need to install RKUSB driver.

Download Release_DriverAssistant.zip ,extract the archive and run DriverInstall.exe inside.

_images/upgrade_firmware1.png

Boot Mode

RKUSB Mode

RKUSB mode is the normal upgrade mode under normal circumstances,if the loader is damaged .it is necessary to force entry into Maskrom mode.

  • The device is disconnected from the power supply and all peripherals are disconnected

  • Type-C data cable is connected to the computer

  • Press and hold the RECOVERY button, the Type-C0 port is connected to the data cable, and the RECOVERY button is released for more than two seconds.

** WARNING: The ROC-RK3399-PC power and firmware upgrades use the Type-C0 interface. When the power is supplied to the computer’s USB interface, the board cannot bring up some peripherals because the current is too small. Therefore, it is best to disconnect all peripherals before upgrading. **

Maskrom Mode

Normally, you don’t need to enter Maskrom mode. You only need to enter this mode if the loader is damageda.

Entering Maskrom mode involves hardware operation, please read carefully.

  • The device is disconnected from the power supply and all peripherals are disconnected

  • Type-C data cable is connected to the computer

  • Connect the eMMC CLK and GND pads with metal tweezers,the Type-C0 port is connected to the data cable, wait about 2 seconds before releasing the metal tweezers.

_images/roc-rk3399-pc5.jpg

WARNING:It is best to disconnect all peripherals before upgrading

Windows

If your device is in RKUSB or Maskrom, you’ll find a Rockusb Device in the device manager.Appears as shown below,if not, you will need to go back to the previous step to reinstall Install Driver.

_images/androidtool1.png

Prepare the upgrade tool

Download Androidtool_2.58(Note: the Industry version must use 2.58 or above for downloading and recording),unzip and extract it. Locate the file named config.ini, and edit it by changing the 4th line from Selected=1 to Selected=2, in order to select English as the default user interface language.

_images/androidtool2.png

If your device is in RKUSB, the status line will be “Found One LOADER Device”.

If your device is in Maskrom, the status line will be “Found One MASKROM Device”.

Androidtool is a tool developed for flashing Android RK Firmware, but it can also be used to flashing ubuntu

Flashing firmware

Flashing step:

  1. Switch to the “Upgrade Firmware” tab page.

  2. Click the “Firmware” button, which will pop up a file dialog to open the RK Firmware file.

  3. The firmware version, loader version and chip info will be read and displayed.(If the original firmware of the motherboard is Android firmware, and you need to upgrade the ubuntu firmware,Please perform step 4 first.):

  4. Click the “Upgrade” button to flash.

**WARNING:**If the version of the firmware loader is inconsistent with the original firmware loader, please click “Erase Flash” before upgrading the firmware.

_images/upgrade_firmware3.png

Partiton Image

Flashing partition image step:

  1. Switch to the “Download Image” tab page.

  2. Delete all others unused rows by selecting “Delete Item” from the right-click popup menu.

  3. Add partition image to flash by selection “Add Item” from the right-click popup menu.

  4. Click the right blank cell on the new line, which will pop up a file dialog to open the Partition Image file.

  5. Click the “Run” button to flash.

_images/upgrade_firmware4.png

Linux

Successfully entering the upgrade mode host will detect the new usb device

Tools

  • upgrade_tool:

git clone -b master https://github.com/FireflyTeam/tools.git 
mv tools/linux/Linux_Upgrade_Tool/Linux_Upgrade_Tool/upgrade_tool /usr/local/bin/

Flashing firmware

ubuntu

sudo upgrade_tool uf update.img
sudo upgrade_tool rd     # reboot

WARNNING:The original firmware of the board is Android firmware, please do the following: Entering Maskrom mode or RKUSB mode:

# Erase flash. 	Using ef parameter needs to be selected Loader or update.img
sudo upgrade_tool ef update.img #update.img :ubuntu firmware
# flashing
sudo upgrade_tool uf update.img 

android

sudo upgrade_tool uf update.img
sudo upgrade_tool rd     # reboot

Flashing Partition Image

ubuntu

sudo upgrade_tool ul $LOADER
sudo upgrade_tool di -p $PARAMETER
sudo upgrade_tool di -uboot $UBOOT
sudo upgrade_tool di -trust $TRUST
sudo upgrade_tool di -b $BOOT
sudo upgrade_tool di -r $RECOVERY
sudo upgrade_tool di -m $MISC
sudo upgrade_tool di -oem $OEM
sudo upgrade_tool di -userdata $USERDATA
sudo upgrade_tool di -rootfs $ROOTFS

you can use Linux_SDK scirpt ./rkflash.sh

	./rkflash.sh boot
	./rkflash.sh uboot
	./rkflash.sh loader
	./rkflash.sh parameter
	./rkflash.sh trust
	./rkflash.sh recovery
	./rkflash.sh misc
	./rkflash.sh oem
	./rkflash.sh userdata
	./rkflash.sh rootfs

Android

	sudo upgrade_tool di -b /path/to/boot.img
	sudo upgrade_tool di -k /path/to/kernel.img
	sudo upgrade_tool di -s /path/to/system.img
	sudo upgrade_tool di -r /path/to/recovery.img
	sudo upgrade_tool di -m /path/to/misc.img
	sudo upgrade_tool di resource /path/to/resource.img
	sudo upgrade_tool di -p parameter   
	sudo upgrade_tool ul bootloader.bin