Upgrade the firmware via USB cable
Preface
This article describes how to burn the firmware on the host computer into the memory of the CT36L development board through USB data cable. When upgrading, you need to choose the appropriate upgrade method based on the host operating system and firmware type.
Preparation tools
- CT36L/CT36B
- Firmware
- Host
- Good USB data cable
Prepare firmware
The firmware can be obtained by compiling the SDK, or you can download the public version firmware (unified firmware) from Resource Download. There are generally two types of firmware files:
-
Single unified firmware
Unified firmware is a single file that is packaged and merged from all files such as partition table, bootloader, uboot, kernel, system, etc. 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 mirrors
That is, files with independent functions, such as partition table, bootloader, kernel, etc., are generated during the development stage. Independent partition mirroring can only update the specified partition while keeping the data in other partitions from being destroyed, which is very convenient for debugging during the development process.
Through the unified firmware unpacking/packaging tool, the unified firmware can be unpacked into multiple partition images, or multiple partition images can be merged into a unified firmware.
Install the programming tool
Windows operating system
- Install RK USB driver
Download Release_DriverAssistant.zip, unzip it, and then run DriverInstall.exe inside. In order for all devices to use updated drivers, please select Driver Uninstall first, and then select Driver Installation.

- Run SocToolKit's SocToolKit.exe

Linux operating system
No need to install device driver under Linux
- Linux_Upgrade_Tool tool
Download Linux_Upgrade_Tool, and install it into the system as follows for easy calling:
cd Linux_Upgrade_Tool
cp 88-rockusb.rules /etc/udev/rules.d/
# restart udev command:
sudo udevadm control --reload-rules
sudo service udev restart
sudo cp upgrade_tool /usr/local/bin
sudo chown root:root /usr/local/bin/upgrade_tool
sudo chmod a+x /usr/local/bin/upgrade_toolEnter upgrade mode
Usually we upgrade the firmware in MaskRom mode. Before burning the firmware, we need to connect the device and put the board into upgradeable mode.
MaskRom Mode
For how to enter MaskRom mode, please refer to MaskRom Mode
Flash firmware
- Note: Burning firmware requires disassembling the machine casing
windows operating system
Burn unified firmware update.img
Note: SocToolKit tool version 1.8 or higher is required to support the update.img burning function.
The steps to burn unified firmware update.img are as follows:
- The device enters MaskRom mode.
- Select RV1106 chip platform.
- Click the Download button in the upper left corner to switch to the Download page.
- Select the burning method, which supports serial port burning and USB burning. It is recommended to use USB burning.
- Select the update.img unified firmware file.
- Click the
Upgradebutton in the lower right corner to start the upgrade.

Burn partition image
The steps to burn a partition image are as follows:
- The device enters MaskRom mode.
- Select RV1106 chip platform.
- Click the Download button in the upper left corner to switch to the Download page.
- Select the burning method, which supports serial port burning and USB burning. It is recommended to use USB burning.
- Select the corresponding partition firmware file.
- Click the
Downloadbutton in the lower right corner to start the upgrade.

Linux operating system
Burn unified firmware update.img
There is no tool on Linux to flash unified firmware. However, partition image burning can be performed through scripts, and the burning effect is the same as unified firmware. Please refer to the partition image burning method described below.
Burn partition image
Use the rkdownload.sh script in the Linux_Upgrade_Tool directory to burn the partition image:
For example, if the partition image is placed in the output/image directory, check the partition image in the output/image compilation output directory.
ls output/image/
boot.img download.bin env.img idblock.img oem.img rootfs.img sd_update.txt tftp_update.txt uboot.img update.img userdata.imgCopy the rkdownload.sh script to the /usr/local/bin directory for global calling
sudo cp rkdownload.sh /usr/local/bin/Specify the partition image in the output/image directory for burning
sudo rkdownload.sh -d output/imageIf an error occurs during the upgrade due to flash problems, you can try low-level formatting and erasing operations:
sudo upgrade_tool ef output/image/download.binWait for the formatting and erasing operations to be completed before trying to flash the image.
Common problem
How to force into MaskRom mode
For the operation method, see ["MaskRom Mode"] (upgrade_maskrom_mode.md).
Analysis of programming failure
If Download Boot Fail occurs during the programming process, or an error occurs during the programming process, it is usually caused by poor connection of the USB cable used, inferior wire material, or insufficient driver capability of the computer USB port. Please replace the USB cable or computer USB port to troubleshoot.

