Please enable javascript, or click here to visit my ecommerce web site powered by Shopify.
Jump to: navigation, search

Rock3/installusb-install-radxa-cm3-io

    ROCK 3 >  Installation >   Install Image to eMMC from USB port (Radxa CM3 IO) 

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

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

Cm3 io micro usb.jpeg

  • Press and hold the golden button (see the following picture)

Cm3-io-key.jpeg

  • 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.

Radxa-cm3-io-flash-emmc-1.png

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.

Radxa-cm3-io-flash-emmc-2.png

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.

Radxa-cm3-io-erase-emmc-1.png

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.

Radxa-cm3-io-erase-emmc-2.png

Step 3: Erase device

Click button "EraseAll" to erase device.

Radxa-cm3-io-erase-emmc-3.png

Step 4: Reset device

Click button "ResetDevice" to reset device.

Radxa-cm3-io-erase-emmc-4.png

Erasing job is done.

Troubleshooting