Rock3/installusb-install-radxa-cm3-io
ROCK 3 > Installation > Install Image to eMMC from USB port (Radxa CM3 IO)
Contents
Install Image to eMMC from USB port (Radxa CM3 IO)
Radxa CM3 IO supports Maskrom mode, which is a special operation mode for CPU to wait for USB OTG port command. The PC tools we use to communicate with Radxa cm3 io in Maskrom mode are the rkdeveloptool on linux/macOS PC and RKDevTool on Windows PC.
Requirement
- Radxa CM3 IO (with Radxa CM3 )
- DC 12V power adapter
- USB Male A to Micro USB cable
- Radxa CM3 IO system image: Radxa CM3 IO Github Release
- RK356X loader: rk356x_spl_loader_ddr1056_v1.10.111.bin
Install Tools&Drivers
Please check this guide, Install rockchip flash tools under Windows/Linux/MacOS PC.
Boot the Board to Maskrom Mode
To boot Radxa CM3 IO into maskrom mode is simple:
- Power off the board
- Remove microSD card
- Plug the USB Male A to Micro USB cable to Radxa CM3 IO OTG port(see the following picture), the other side to PC
- Press and hold the golden button (see the following picture)
- Plug in DC 12V power adapter
- Check usb device
- For Linux/macOS: lsusb result: Bus 001 Device 112: ID 2207:350a Fuzhou Rockchip Electronics Company
Alternatively, if you are running Android and can access ADB, you can reboot the device to loader mode 'adb reboot bootloader' then use the rkdeveloptool to reset the device into maskrom mode 'rkdeveloptool rd 3' or Windows RKDevTool Switch button to go to maskrom mode.
Flash Images to eMMC on Board
Unlike balenaEtcher, rkdevtool does not support decompression of the image file, so you will have to decompress it into an img file first before flashing.
Failure to perform this step will result in non-working eMMC installation. However, the device is not bricked. You can either restart the flashing process to write the correct system image, or use micro SD card to boot.
On Linux/macOS PC
Make sure that board is in Maskrom mode. Run rkdeveloptool ld
rkdeveloptool ld DevNo=1 Vid=0x2207,Pid=0x350a,LocationID=104 Maskrom
Download the loader (flash helper) to init the ram and prepare the flashing environment etc.
rkdeveloptool db rk356x_spl_loader_ddr1056_v1.10.111.bin
Write the GPT image to eMMC, start to write from offset 0. For example.
rkdeveloptool wl 0 /path/to/radxa-cm3-io-xxx-gpt.img
Reboot the device
rkdeveloptool rd
On Windows PC
Double click the RKDevTool.exe and click button Download Image.
Step 1: Config
# | Address | Name | Path |
---|---|---|---|
1 | 0x00000000 | Loader | /path/to/rk356x_spl_loader_ddr1056_v1.10.111.bin |
2 | 0x00000000 | Image | /path/to/radxa-cm3-io-xxx-gpt.img |
Step 2: Confirm "Found One Maskrom Device"
If your Radxa CM3 IO is in Maskrom mode and connects to PC, you can see that RKDevTool shows Found one MASKROM Device.
Step 3: Run
Finally, click the "run" button, and you will see the content on the right side. When RKDevTool shows Download image OK, the download job is completed.
Erase eMMC on Board
On Linux/macOS PC
Make sure that board is in Maskrom mode. Run rkdeveloptool ld.
rkdeveloptool ld DevNo=1 Vid=0x2207,Pid=0x350a,LocationID=104 Maskrom
Create zero.img
dd if=/dev/zero of=./zero.img bs=1024 count=16000
Erase eMMC
rkdeveloptool db rk356x_spl_loader_ddr1056_v1.10.111.bin rkdeveloptool wl 0 zero.img rkdeveloptool rd
On Windows PC
Double click the RKDevTool.exe and click button "Advanced Function" to get into Advanced Function window.
Step 1: Confirm "Found One Maskrom Device"
If your Radxa CM3 IO is in Maskrom mode and connects to PC, you can see that RKDevTool shows Found one MASKROM Device.
Step 2: Download RK356X Loader
Choose loader rk356x_spl_loader_ddr1056_v1.10.111.bin and download it.
Step 3: Erase device
Click button "EraseAll" to erase device.
Step 4: Reset device
Click button "ResetDevice" to reset device.
Erasing job is done.
Troubleshooting
- If you have issue with flashing via USB OTG, start a new post on the forum, https://forum.radxa.com/c/rock3.