Flash the Radxa CM5
Install the flashing tool, enter MaskROM mode, and write the image to the Radxa CM5.
The has no SD card slot. You flash its onboard storage over USB-C through the RPU, with the in a special MaskROM mode.
Instructions
Install the Flashing Tool
The tool differs by operating system. Windows uses a graphical tool; macOS and Linux use a command-line one. Open the section for your computer.
macOS and Linux: run the commands from your home folder
Before installing, run cd ~ so the terminal is in your home folder. Running the install from a protected folder such as ~/Documents, ~/Desktop or ~/Downloads can fail with a permission error.
On Ubuntu 22.10 or newer, and current Debian:
sudo apt install rkdeveloptoolOn older distributions the package may not exist, in which case build it from source:
sudo apt install -y libudev-dev libusb-1.0-0-dev dh-autoreconf pkg-config build-essential git
git clone https://github.com/rockchip-linux/rkdeveloptool
cd rkdeveloptool && autoreconf -i && ./configure && make -j"$(nproc)"
sudo cp rkdeveloptool /usr/local/sbin/Check it worked:
rkdeveloptool -VNo driver is needed. You will need sudo for the flashing commands.
Install via Homebrew — no compiling required:
brew tap IgorKha/rkdeveloptool
brew install rkdeveloptoolIf you encounter an untrusted tap error:
Error: Refusing to load formula igorkha/rkdeveloptool/rkdeveloptool from untrusted tap igorkha/rkdeveloptoolFix it via the recovery instructions and run:
brew trust igorkha/rkdeveloptoolCheck it worked:
rkdeveloptool -VIf the tap is unavailable, build from source instead:
# We must use g++ on MacOS when building
brew install automake autoconf libusb pkg-config gcc@15
# Clone and build
git clone https://github.com/rockchip-linux/rkdeveloptool
cd rkdeveloptool && autoreconf -i && CXX=/opt/homebrew/bin/g++-15 ./configure && makeWindows uses RKDevTool, a graphical tool, plus a USB driver. Both come from Radxa:
- Download and extract DriverAssistant v5.14, then run
DriverInstall.exeas administrator. Without this driver Windows will not recognise the board. - Download and extract RKDevTool v2.96, then launch
RKDevTool.exe. - You will also need 7-Zip to decompress the
.img.xzimage into a plain.imgbefore flashing.
The commands in Write the Image below are for macOS and Linux. For the RKDevTool click-through, follow Radxa's RKDevTool guide — with the board in MaskROM mode it will show “Found One MASKROM Device”, and you write the loader and image from there.
If you have access to a Mac or Linux machine, we recommend using it — that is the path we test against.
Put the Board in MaskROM Mode
The order matters — the button must already be held down when the board first receives power. Connect power last.
-
Plug the USB-C cable provided from your laptop into the USB-C port on the RPU shown above.
-
Hold down the MaskROM button on the RPU.
-
While still holding it, press the on button on the battery to power the RPU.
-
Release the MaskROM button.
-
Confirm the laptop sees it:
rkdeveloptool ld
You should see Mode=Maskrom. For example:
DevNo=1 Vid=0x2207,Pid=0x350b,LocationID=202 MaskromIf the list is empty, re-seat the cable and repeat — the button must be held as the board is first powered, and the cable must carry data.
Write the Image
The bootloader file rk3588_spl_loader.bin is the rk3588_spl_loader_v1.15.113.bin you downloaded in Get the Images — rename it to match, or use its full name in the commands below. Writing takes a few minutes.
rkdeveloptool db rk3588_spl_loader.bin
# You should see: Downloading bootloader succeeded.
xz -dk asimov-rpu-<version>.img.xz
rkdeveloptool wl 0 asimov-rpu-<version>.img
# The write process will begin. After a few minutes it will reach:
# Write LBA from file (100%)
rkdeveloptool rd
# You should see: Reset Device OK.On Linux these need sudo. The xz -dk line decompresses the image and keeps the original; the write itself needs the plain .img.
In RKDevTool, with the board showing “Found One MASKROM Device”, load rk3588_spl_loader.bin as the loader and the decompressed asimov-rpu-<version>.img as the image, then start the write. Step-by-step screens are in Radxa's RKDevTool guide.
Decompress the .img.xz with 7-Zip first — RKDevTool cannot read the compressed file.
Disconnect the RPU
When it finishes, you should see an LED blinking blue on the RPU. You can now unplug the USB-C data cable and remove the battery power.
How is this guide?