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_tool Enter 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 Upgrade button 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 Download button 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.img Copy 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/image If 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.bin Wait 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.