Upgrading firmware on Windows


This article describes how to burn the firmware file on the host computer to the flash memory of the Firefly-RK3399 development board through Type-C数据线. When upgrading, you need to choose an appropriate upgrade method according to the host operating system and firmware type.

Preparatory work

  • Firefly-RK3399 development board

  • Firmware

  • Host computer

  • Type-C data cable

Firmware file

There are two types of firmware files:

  • A single unified firmware

    The unified firmware is a single file packaged and merged by all files such as the partition table, bootloader, uboot, kernel, system and so on. The firmware officially released by Firefly adopts a unified firmware format. Upgrading the unified firmware will update the data and partition table of all partitions on the motherboard, and erase all data on the motherboard.

  • Multiple partition images

    That is, files with independent functions, such as partition table, bootloader, and kernel, are generated during the development phase. The independent partition image can only update the specified partition, while keeping other partition data from being destroyed, it will be very convenient to debug during the development process.

Through the unified firmware unpacking / packing tool, the unified firmware can be unpacked into multiple partition images, or multiple partition images can be merged into a unified firmware.

Flash on windows

Note : Different firmware may use different versions of tools, please download the corresponding version according to the Instructions for writing with USB cable (important).

Install RK USB drive

Download Release_DriverAssistant.zip, extract, and then run the DriverInstall.exe inside . In order for all devices to use the updated driver, first select Driver uninstall and then select Driver install.


Connected devices

You can put the device into upgrade mode as follows:

  • The first one, device is cut off all the power sources, such as power adapter and Dual male usb data cable connection:

    • 1.Keep Type-A cable connected with host PC.

    • 2.Press and hold RECOVERY key.

    • 3.Connect Type-C cable to the device.

    • 4.After around two seconds, release RECOVERY key.

  • The other way:

    • 1.Use Type-C cable to connect host and device together.

    • 2.Press and hold RECOVERY key.

    • 3.Shortly press RESET key.

    • 4.After around two seconds, release RECOVERY key.

The host should prompt for new hardware and configure the driver. Open Device manager and you will see the new Device Rockusb Device appear as shown below. If not, you need to go back to the previous step and reinstall the driver.


Upgrade the firmware

Download Androidtool_xxx (version number). AndroidTool defaults to display in Chinese. We need to change it to English. Open config.ini with an text editor (like notepad). The starting lines are:


Change Selected=1 to Selected=2, and save. From now on, AndroidTool will display in English.Now, run AndroidTool.exe: (Note: If using Windows 7/8, you’ll need to right click it, select to run it as Administrator)


Upgrade unified firmware - update.img

The steps to update the unified firmware update.img are as follows:

  1. Switch to the “upgrade firmware” page.

  2. Press the “firmware” button to open the firmware file to be upgraded. The upgrade tool displays detailed firmware information.

  3. Press the “upgrade” button to start the upgrade.

  4. If the upgrade fails, you can try to erase the Flash by pressing the erase Flash button first, and then upgrade. Be sure to erase and upgrade according to Upgrade instructions.

Note: if the firmware loader you wrote is inconsistent with the original one, please execute wipe Flash before upgrading the firmware.


Upgrade Partition image

Each firmware partition may be different, please note the following two points:

  1. When upgrading ubuntu(MBR) and Android7.1 firmware with Androidtool_2.38, the default configuration can be used.

  2. When upgrading ubuntu(GPT) with Androidtool_2.58, the default configuration can be used. Please first perform the following actions to upgrade Android8.1 firmware:
    Switch to “download image page “; Right click on the table and select “import configuration “; Select the “rk3399-Android81.cfg”.

  3. When upgrading Android9.0 and Android10.0 firmware with Androidtool_2.49, the default configuration can be used.

The steps to upgrade the partition image are as follows: 1. Switch to the “download image” page. 2. Check the partition to be burned, and select multiple. 3. Make sure the path of the image file is correct. If necessary, click the blank table cell on the right side of the path to select it again. 4. Click “Run” button to start the upgrade, and the device will restart automatically after the upgrade.



1. How to forcibly enter MaskRom mode

A1 : If the board does not enter Loader mode, you can try to force your way into MaskRom mode. See operation method “How to enter MaskRom mode”.

2. Analysis of programming failure

If Download Boot Fail occurs during the programming process, or an error occurs during the programming process, as shown in the figure below, it is usually caused by the poor connection of the USB cable, the inferior cable, or the insufficient drive capability of the USB port of the computer. Troubleshoot the computer USB port.