Update Firmware with MaskROM Mode

Getting the Latest Firmware

This manual will assist you in setting up your software development environment and updating your firmware/system for your development.

Download full system image file

If you want to update Debian 11 to Blade 3, click here image-release-blade3-debian11-20230505.img to download the full system image. Please unzip this file first before using it for update.

Downloading to Mixtile Blade 3

Blade 3 comes with Ubuntu pre-installed, and it can be updated with any custom built firmware. The system firmware may be updated via either an USB cable or a MicroSD card. Under normal circumstances, the USB cable method is preferable for the users. Users with specific requirements who need to burn the system with USB cable or MicroSD cards should back up their data in their own method.

What you need

  1. A downloaded firmware

  2. Firmware update tool

    a. Update Tool in Windows OS (RKDevTool)

    b. Update Tool in MacOS (upgrade_tool_v2.3_mac)

    c. Update Tool in Linux OS(Linux_Upgrade_Tool_v2.1)

    Below will provide the download link of there tools.

  3. Blade 3 device

  4. Type-C to Type-C/Type-A USB Cable

  5. Power Adapter which supports Power Delivery 2.0/3.0

Update Methods of Full System Image

Two distinct methods for updating system firmware are demonstrated step by step. To upgrade your Blade 3 system with the latest firmware, follow the procedures below.

Option 1: USB cable update (recommended)

Connect the Blade 3 to a PC via USB Type-C cable; the firmware update tool takes around 1 minute to burn the firmware. Please connect the USB-0/ADB Port of Blade 3 board for updating firmware, and connect the power input to USB-1/PD port.

Debug Port of Blade 3

Option 2: MicroSD card update

Use the upgrade card making tool to make the MicroSD card into an upgrade card. Then insert the upgrade card into the motherboard, turn it on, and the system will upgrade automatically in about 5 minutes.

(Note: MicroSD card update will cause issue currectly, refer to [known issues](Known Issues | Docs - Mixtile) page)

Important:

These update methods will delete all user data. Please back up the data before performing the update.

Update Full System Image with USB Cable

Boot modes

Blade 3 has three start modes: Normal, Loader and MaskROM modes. Loder and MaskROM modes are for firmware update.

  1. Normal mode

Normal mode is the normal startup process. Each component is loaded in turn and enters the system normally.

  1. Loader mode

Please refer to instruction [Update Firmware in Loader Mode](Update Firmware with Loader Mode | Docs - Mixtile).

  1. Maskrom mode
  • Maskrom mode can be used for updates when the bootloader or uboot is broken. Please turn the position 4 of SPST four-position dip switch to ON, then Blade 3 enters MaskROM mode for firmware development. There are detailed information about the usage of dip switch in Blade 3 manual, you could also check the below picture for reference.

    dip_switch_position

Update Firmware with Maskrom mode

Updating Steps in Windows System

Step 1: Download update tool on PC

Step 2: Install RK-USB driver

  • Download RK DriverAssistant.zip, unzip, and run the DriverInstall.exe.

    RK-USB

    Note: To use the latest driver version, uninstall the current driver before installing the latest driver.

Step 3: Connect devices

  • Connect Blade 3 USB0/ADB Type-C port (the one that near the HDMI port) to PC with USB cable.

    device-manager

    Note: Blade 3 would be recognized as Rockusb Device by Windows in Maskrom mode.

Step 4: Enter MaskROM mode

Refer to Boot Modes content above. After you enter MaskROM, the RKDevTool will found one MaskROM device.

maskrom-mode

Step 5: Update firmware

  • Choose “Upgrade Firmare” tab of RKDevTool

  • Click “Firmware” to select firmware location

  • Click Upgrade to update firmware to Blade 3

loader-update-firmware

Updating Steps in MacOS System

Step 1: Download upgrade tool

Step 2: Change the permission of upgarde_tool

  • Go the the folder upgrade_tool_v2.3_mac after unzipping, change the permission of upgrade_tool by using this command chmod u+x upgrade_tool. After that, you have to go to “System Preferences” –> “Security & Privacy” and allow this file to run in your computer.

Step 3: Enter MaskROM mode

  • Refer to Boot Modes content above.

  • Go to the folder “upgrade_tool_v2.3_mac”, you could check if the device already go to MaskROM mode by using ./update_tool, after that please type “q” to exit.

macos-check-maskrom

Step 4: Upgrade firmware to Blade 3

  • Use ./upgrade_tool uf /(your path)/image-release-blade3-debian11-20230214.img to upgrade the firmware for Blade 3 board.

macos-update-firmware-maskrom

Updating Steps in Ubuntu System

Two upgrade tools can be used in Ubuntu, and both tools require a USB cable.

Step 1: Download upgrade tool

Step 2: Enter MaskROM mode

  • Refer to Boot Modes content above.

Step 3: Use upgrade tool to upgrade firmware

  • Setup Upgrade_Tool:
unzip Linux_Upgrade_Tool_xxxx.zip
cd Linux_UpgradeTool_xxxx
sudo mv upgrade_tool /usr/local/bin
sudo chown root:root /usr/local/bin/upgrade_tool
sudo chmod a+x /usr/local/bin/upgrade_tool
  • Upgrade firmware:
Unified firmware upgrade:
sudo upgrade_tool uf update.img


Mirrored partition upgrade:
sudo upgrade_tool di -b /path/to/boot.img
sudo upgrade_tool di -r /path/to/recovery.img
sudo upgrade_tool di -m /path/to/misc.img
sudo upgrade_tool di -u /path/to/uboot.img
sudo upgrade_tool di -dtbo /path/to/dtbo.img
sudo upgrade_tool di -p paramater
sudo upgrade_tool ul bootloader.bin


If the upgrade is abnormal or fails, you can low-level format, then upgrade.
sudo upgrade_tool lf update.img # low-level format
sudo upgrade_tool ef update.img # Erase

Flashing Raw Firmware

Flashing Raw Firmware in Windows System

Raw Firmware needs to be flashed to offset 0 of eMMC storage. However, in Rockusb Mode, all LBA writes are offset by 0x2000 sectors. Therefore, the device has to be forced into Maskrom Mode. (Note: Armbian system image for Blade 3 board is Raw Firmware)

To flash Raw Firmware to the eMMC using RKDevTool, follow the steps below:

Download the loader file here.

Switch the device into Maskrom Mode.

Run RKDevTool.

Switch to the “Download Image” tab page, you could right click on the software and delete unnecessary items.

RAW_Delete_all_items

Keep the first line of the table which name “Loader” unchanged, using the loader file which you just downloaded.

RAW_Add_loader_and_select_path

Then add one item and name it “System”. Click the right blank cell on the second line, which will pop up a file dialog to open the Raw Firmware file.

RAW_Add_system_and_select_path

Select two items together, click the “Run” button to flash the loader and system.

RAW_Download

Flashing Raw Firmware in MacOS or Linux System

Raw Firmware needs to be flashed to offset 0 of eMMC storage. However, in Rockusb Mode, all LBA writes are offset by 0x2000 sectors. Therefore, the device has to be forced into Maskrom Mode.

You could upgrade_tool_v2.3_mac or Linux_Upgrade_Tool for flashing RAW Firmware, please follow the below steps.

Download the loader file here.

Switch the device into Maskrom Mode.

Run below commands:

upgrade_tool db blade 3/MiniLoaderAll.bin

upgrade_tool wl 0x0 blade 3/rawfirmwaresystem.img

upgrade_tool rd         # reset device to boot
  • rawfirmwaresystem.img is RAW Firmware after packing, Armbian system for Blade 3 is packed as RAW Firmware.