Flashing tools
Writing firmware to a KTM board comes down to a tool on your PC, a mode on the board, and a cable between them. This section covers the normal path (USB flashing) and the last-resort recovery path (MaskRom recovery) for a board that will not boot.
The tools
KTM boards use Rockchip's standard flashing tools — the same ones the whole Rockchip ecosystem uses.
| Tool | Platform | Use |
|---|---|---|
| RKDevTool | Windows | The standard GUI tool for a single board |
| rkdeveloptool | Linux / macOS | Command-line equivalent |
| Driver Assistant | Windows | Installs the USB driver RKDevTool needs |
On Windows you install the driver once with Driver Assistant, then use RKDevTool.
On Linux/macOS you build or install rkdeveloptool and use it from the terminal.
The two modes
The board has to be told to accept a flash. There are two modes, and knowing the difference saves you when things go wrong:
| Mode | When | What it flashes |
|---|---|---|
| Loader | Normal flashing — the bootloader still works | Full image or individual partitions |
| MaskRom | Recovery — the bootloader is damaged | Everything, from the raw chip level |
Loader mode is the everyday path: the board's existing loader is intact and helps drive the flash. MaskRom mode is the hardware first-aid kit — it works before any bootloader loads, so it can recover a board that Loader mode can't even reach. If a normal flash keeps failing, MaskRom is the answer. See MaskRom recovery.
The cable and port
Flashing goes over a USB OTG / download port, not any USB port on the board. A host-only USB-A port will not work for flashing. The board page identifies the download port; use that one, and a known-good cable — a surprising number of "board won't connect" cases are a charge-only cable or the wrong port.
Firmware image types
Rockchip firmware comes in two shapes, and they are not interchangeable:
| Type | File | Flash how |
|---|---|---|
| Unified | update.img | One file, all partitions — "Upgrade Firmware" tab |
| Partition images | boot.img, system.img, etc. + a partition table | Written to individual partitions |
A unified update.img is the simplest — one file that contains everything. Loose
partition images give finer control (reflash just one partition) but you must
match them to the correct partition offsets. Do not try to write a partition
image where a unified image is expected, or vice versa.
The loader .bin matters
Both modes use a loader (rk35xx_..._loader_....bin) to initialize RAM and
prepare the flash. This loader must match your SoC and memory configuration —
a loader from another RK3588 or RK3568 product is not automatically compatible,
and a mismatched loader is a common cause of a flash that starts then disconnects.
Use the loader that ships with your board's firmware package.
Start here
- Normal flashing → Flash over USB
- Board won't boot / normal flash fails → MaskRom recovery
An image built for another board — even one with the same SoC — can have a different power/DDR setup and may damage hardware or simply not boot. Always use the firmware package for your specific KTM model. Get it from the downloads section of the support page or your account manager.