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

Difference between revisions of "Rock3/dev/usb-install"

< Rock3‎ | dev
(Boot the board to maskrom mode)
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{rock3_header}}
 +
 +
{{Languages|rock3/install/microSD}}
 +
 +
    [[rock3 | ROCK 3]] > [[rock3/install | Installation]] >  [[rock3/install/usb-install | Install to eMMC from USB port]]
 +
 
=== Install on eMMC from USB port ===
 
=== Install on eMMC from USB port ===
 
Rock 3 supports Maskrom mode, which is a special operation mode for CPU to wait for USB OTG port command.
 
Rock 3 supports Maskrom mode, which is a special operation mode for CPU to wait for USB OTG port command.
Line 19: Line 25:
 
Using the RK driver assistant tool to install the driver.
 
Using the RK driver assistant tool to install the driver.
  
There’s no need to connect your Rockchip device during this procedure just download and extract [https://dl.radxa.com/tools/windows/DriverAssitant_v4.8.zip RKDriverAssistant.zip]
+
There’s no need to connect your Rockchip device during this procedure just download and extract [https://dl.radxa.com/tools/windows/DriverAssitant_v5.0.zip RKDriverAssistant.zip]
  
 
Then double click on DriverInstall.exe in the RKDriverAssistant directory to start the utility. If you installed the Rockchip USB drivers for any other Rockchip devices already, make sure you click “Uninstall Driver” first.
 
Then double click on DriverInstall.exe in the RKDriverAssistant directory to start the utility. If you installed the Rockchip USB drivers for any other Rockchip devices already, make sure you click “Uninstall Driver” first.
Line 34: Line 40:
 
==== Linux====
 
==== Linux====
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
For Linux, we build the rkdeveloptool from source code.
+
For Linux, we build the rkdeveloptool, '''>=1.32''', from source code.
  
 
To build rkdeveloptool on a Debian based Linux distribution, follow the instruction below:
 
To build rkdeveloptool on a Debian based Linux distribution, follow the instruction below:
Line 67: Line 73:
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 +
 
==== MacOS ====
 
==== MacOS ====
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
For macOS, we build the rkdeveloptool from source code.
+
For macOS, we build the rkdeveloptool, '''>=1.32''', from source code.
  
 
To build rkdeveloptool on macOS, you need [https://brew.sh/ homebrew](or similar package manager) to install required packages.
 
To build rkdeveloptool on macOS, you need [https://brew.sh/ homebrew](or similar package manager) to install required packages.
Line 103: Line 110:
 
</div>
 
</div>
 
</div>
 
</div>
 +
 
=== Boot the board to maskrom mode ===
 
=== Boot the board to maskrom mode ===
  
Line 142: Line 150:
 
     DevNo=1 Vid=0x2207,Pid=0x330c,LocationID=305 Maskrom
 
     DevNo=1 Vid=0x2207,Pid=0x330c,LocationID=305 Maskrom
  
Download the loader (flash helper) to init the ram and prepare the flashing environment etc. If you don't have it, you can download it from [https://dl.radxa.com/rockpi/images/loader/ here]
+
Download the loader (flash helper) to init the ram and prepare the flashing environment etc. If you don't have it, you can download it from [https://dl.radxa.com/rock3/images/loader/ here]
  
     rkdeveloptool db rk3568_loader_vxxxx.bin
+
     rkdeveloptool db rk356x_loader_vxxxx.bin
  
 
Write the GPT image to eMMC, start to write from offset '''0'''.
 
Write the GPT image to eMMC, start to write from offset '''0'''.
Line 158: Line 166:
 
Please notice that when you want to erase eMMC on board, you can use this command. Get zero.img from [https://dl.radxa.com/rockpi4/images/others/zero.img.gz here].
 
Please notice that when you want to erase eMMC on board, you can use this command. Get zero.img from [https://dl.radxa.com/rockpi4/images/others/zero.img.gz here].
  
     rkdeveloptool db rk3568_loader_vxxxx.bin
+
     rkdeveloptool db rk356x_loader_vxxxx.bin
 
     rkdeveloptool wl 0 zero.img
 
     rkdeveloptool wl 0 zero.img
  
Line 178: Line 186:
 
If your ROCK 3 is in maskrom mode and connects to PC, you can see that the program detect it '''Found one MASKROM Device''' in the red box
 
If your ROCK 3 is in maskrom mode and connects to PC, you can see that the program detect it '''Found one MASKROM Device''' in the red box
  
Next, click the button in the red box on the right last columns select the loader "rk356x_xxx_ loader_ xxxxx.bin ",  
+
Next, click the button in the first row on the right last columns select the loader "rk356x_xxx_ loader_ xxxxx.bin ",  
  
 
[[File:select-loader-bin.jpeg | 600px]]
 
[[File:select-loader-bin.jpeg | 600px]]
Line 198: Line 206:
 
</div>
 
</div>
 
</div>
 
</div>
 +
 +
=== RK3568 SB-variant ===
 +
 +
Due to the version difference of the RK3568 chip, it may fail to burn the image to EMMC in MASKROM mode. If you find that your ROCK 3A cannot burn the image to EMMC through MASKROM mode, you need to use a specific loader to burn it [https://dl.radxa.com/rock3/images/loader/rk356x_spl_loader_ddr1056_v1.12.109_no_check_todly.bin rk356x_spl_loader_ddr1056_v1.12.109_no_check_todly.bin]
 +
more information on forum: https://forum.radxa.com/t/radxa-rock-3-model-a-maskrom-emmc/11372
  
 
=== Troubleshooting ===
 
=== Troubleshooting ===
  
* If you have issue with flashing via USB OTG, start a new post on the forum. https://forum.radxa.com/c/dev
+
* If you have issue with flashing via USB OTG, start a new post on the forum, https://forum.radxa.com/c/rock3.

Latest revision as of 10:49, 20 October 2022

    ROCK 3 >  Installation >   Install to eMMC from USB port

Install on eMMC from USB port

Rock 3 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 rock 3 in Maskrom mode are the rkdevelopment tool and AndroidTool tool. We use the rkdevelopment tool in Linux/macOS and the AndroidTool tool under Windows.

Requirement

  • ROCK 3 mainboard
  • eMMC module
  • Power adapter
  • USB Male A to Male A cable(important) USB-C has been seen as not working, an adaptor for USB-C to USB-A has worked. See discussion.

Install Tools&Drivers

Windows

Step 1:Install Android tool

The tool is provided in a compressed package. First, download the compressed package of this tool, and click the download link (RKDevTool_Release_v2.81.zip). After downloading, unzip it. Installation is complete.

Step 2:Install driver

Using the RK driver assistant tool to install the driver.

There’s no need to connect your Rockchip device during this procedure just download and extract RKDriverAssistant.zip

Then double click on DriverInstall.exe in the RKDriverAssistant directory to start the utility. If you installed the Rockchip USB drivers for any other Rockchip devices already, make sure you click “Uninstall Driver” first.

RK Driver Assistant Install Uninstall.jpg

Then click “Install Driver”, the driver has finish installing.

Linux

For Linux, we build the rkdeveloptool, >=1.32, from source code.

To build rkdeveloptool on a Debian based Linux distribution, follow the instruction below:

Install build dependency:

 sudo apt-get install libudev-dev libusb-1.0-0-dev dh-autoreconf

Clone the source code and build:

 git clone https://github.com/rockchip-linux/rkdeveloptool
 cd rkdeveloptool
 autoreconf -i
 ./configure
 make

If you encounter compile error like below

   ./configure: line 4269: syntax error near unexpected token `LIBUSB1,libusb-1.0'
   ./configure: line 4269: `PKG_CHECK_MODULES(LIBUSB1,libusb-1.0)'


You should install pkg-config libusb-1.0

   sudo apt-get install pkg-config libusb-1.0

Then re-run

   autoreconf -i
   ./configure
   make

Now you have rkdeveloptool executable at the current directory.

 sudo cp rkdeveloptool /usr/local/bin/

MacOS

For macOS, we build the rkdeveloptool, >=1.32, from source code.

To build rkdeveloptool on macOS, you need homebrew(or similar package manager) to install required packages.

Install build dependency:

   brew install automake autoconf libusb lsusb

Clone the source code and build:

   git clone https://github.com/rockchip-linux/rkdeveloptool
   cd rkdeveloptool
   autoreconf -i
   ./configure
   make

If you encounter compile error like below

   ./configure: line 4269: syntax error near unexpected token `LIBUSB1,libusb-1.0'
   ./configure: line 4269: `PKG_CHECK_MODULES(LIBUSB1,libusb-1.0)'


You should install pkg-config libusb-1.0

   brew install pkg-config

Then re-run

   autoreconf -i
   ./configure
   make

Now you have rkdeveloptool executable at the current directory.

   sudo cp rkdeveloptool /usr/local/bin/

Boot the board to maskrom mode

To boot ROCK Pi into maskrom mode is simple:

  • 1. Power off the board
    • remove microSD card
    • remove the eMMc Module
  • 2. Plug the USB Male A to Mail A cable to ROCK 3 OTG port(the upper USB3 port), the other side to PC
  • 3. Short the follow pins, power on the board, and then disconnect the pins.

3a-maskrom.png

    • 4. For Linux/macOS

Now on your Linux PC, lsusb command show show the following usb devices

   Bus 003 Device 005: ID 2207:330c
    • 4. For Windows

Open device manager in your Windows PC, check the Device Manager:

RK Driver Assistant Install Usb driver.png

It means the device is in maskrom mode now.

  • 5. Now plug the eMMC module and proceed the next step to flash.

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 AndroidTool Switch button to go to maskrom mode.

Begin Installation USB -> eMMC

Linux/macOS

On your PC, run the rkdeveloptool

   rkdeveloptool ld        # List the device
   DevNo=1	Vid=0x2207,Pid=0x330c,LocationID=305	Maskrom

Download the loader (flash helper) to init the ram and prepare the flashing environment etc. If you don't have it, you can download it from here

   rkdeveloptool db rk356x_loader_vxxxx.bin

Write the GPT image to eMMC, start to write from offset 0.

   rkdeveloptool wl 0 /path/to/rock3a-xxx-gpt.img

Reboot the device

   rkdeveloptool rd

Now the device should boot the new image on eMMC

Please notice that when you want to erase eMMC on board, you can use this command. Get zero.img from here.

   rkdeveloptool db rk356x_loader_vxxxx.bin
   rkdeveloptool wl 0 zero.img

Windows

Double click the RKDevTool.exe and you will see the following interface:

Double click this red box and modify it to image in the second row.

Modify-options.jpeg

Step 1: Select Loader

If your ROCK 3 is in maskrom mode and connects to PC, you can see that the program detect it Found one MASKROM Device in the red box

Next, click the button in the first row on the right last columns select the loader "rk356x_xxx_ loader_ xxxxx.bin ",

Select-loader-bin.jpeg

Note: the loader (flash helper) is used to init the ram and prepare the flashing environment etc. If you don't have it, you can download it from here

Step 2: Select Image

Then click the right last columns to in the Image row and choose the image you want to flash.You can download the image from here

Note: Normally the image name should ends with xxx-gpt.img. If the image name ends with xxx-rkupdate.img, you can not flash with this method.

Step 3: Run

Finally, click the "run" button, and you will see the content on the right. When the progress reaches 100% or show Download image OK in the red box, the download is completed.

3a-run-image.jpeg

RK3568 SB-variant

Due to the version difference of the RK3568 chip, it may fail to burn the image to EMMC in MASKROM mode. If you find that your ROCK 3A cannot burn the image to EMMC through MASKROM mode, you need to use a specific loader to burn it rk356x_spl_loader_ddr1056_v1.12.109_no_check_todly.bin more information on forum: https://forum.radxa.com/t/radxa-rock-3-model-a-maskrom-emmc/11372

Troubleshooting