<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.radxa.com/mw/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.radxa.com/mw/index.php?action=history&amp;feed=atom&amp;title=RockpiE%2Fdev%2Fusb-install</id>
		<title>RockpiE/dev/usb-install - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.radxa.com/mw/index.php?action=history&amp;feed=atom&amp;title=RockpiE%2Fdev%2Fusb-install"/>
		<link rel="alternate" type="text/html" href="https://wiki.radxa.com/mw/index.php?title=RockpiE/dev/usb-install&amp;action=history"/>
		<updated>2026-06-05T18:51:22Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.3</generator>

	<entry>
		<id>https://wiki.radxa.com/mw/index.php?title=RockpiE/dev/usb-install&amp;diff=5148&amp;oldid=prev</id>
		<title>Stephen at 09:33, 28 May 2020</title>
		<link rel="alternate" type="text/html" href="https://wiki.radxa.com/mw/index.php?title=RockpiE/dev/usb-install&amp;diff=5148&amp;oldid=prev"/>
				<updated>2020-05-28T09:33:16Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 09:33, 28 May 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 23:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 23:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:rock-pi-e-usb-mala-a-to-dupont-cable.jpg]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:rock-pi-e-usb-mala-a-to-dupont-cable.jpg &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;| 500px &lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Make sure rkdeveloptool is set up on host computer ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Make sure rkdeveloptool is set up on host computer ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Stephen</name></author>	</entry>

	<entry>
		<id>https://wiki.radxa.com/mw/index.php?title=RockpiE/dev/usb-install&amp;diff=4896&amp;oldid=prev</id>
		<title>Stephen at 07:22, 13 April 2020</title>
		<link rel="alternate" type="text/html" href="https://wiki.radxa.com/mw/index.php?title=RockpiE/dev/usb-install&amp;diff=4896&amp;oldid=prev"/>
				<updated>2020-04-13T07:22:47Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 07:22, 13 April 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 23:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 23:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:rock-pi-e-usb-mala-a-to-dupont-cable.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;png&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:rock-pi-e-usb-mala-a-to-dupont-cable.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;jpg&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Make sure rkdeveloptool is set up on host computer ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Make sure rkdeveloptool is set up on host computer ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Stephen</name></author>	</entry>

	<entry>
		<id>https://wiki.radxa.com/mw/index.php?title=RockpiE/dev/usb-install&amp;diff=4872&amp;oldid=prev</id>
		<title>Stephen: Created page with &quot;{{rockpiE_header}} {{Languages|rockpiE/dev/usb-install}}      ROCK Pi E &gt;  Development &gt;  Install from USB OTG port...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.radxa.com/mw/index.php?title=RockpiE/dev/usb-install&amp;diff=4872&amp;oldid=prev"/>
				<updated>2020-04-11T05:53:10Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{rockpiE_header}} {{Languages|rockpiE/dev/usb-install}}     &lt;a href=&quot;/RockpiE&quot; title=&quot;RockpiE&quot;&gt; ROCK Pi E&lt;/a&gt; &amp;gt; &lt;a href=&quot;/RockpiE/dev&quot; title=&quot;RockpiE/dev&quot;&gt; Development&lt;/a&gt; &amp;gt; &lt;a href=&quot;/RockpiE/dev/usb-install&quot; title=&quot;RockpiE/dev/usb-install&quot;&gt; Install from USB OTG port&lt;/a&gt;...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{rockpiE_header}}&lt;br /&gt;
{{Languages|rockpiE/dev/usb-install}}&lt;br /&gt;
    [[rockpiE | ROCK Pi E]] &amp;gt; [[rockpiE/dev | Development]] &amp;gt; [[rockpiE/dev/usb-install | Install from USB OTG port]]&lt;br /&gt;
&lt;br /&gt;
ROCK Pi E supports maskrom mode, which is a special running mode the CPU is waiting for command from USB OTG port. The PC tool we use to communicate with ROCK Pi E in maskrom mode is rkdevelop tool, an open source tool by Rockchip.&lt;br /&gt;
&lt;br /&gt;
=== Requirement ===&lt;br /&gt;
* ROCK Pi E mainboard&lt;br /&gt;
* eMMC module&lt;br /&gt;
* Power adapter&lt;br /&gt;
* USB Male A to Dupont cable.&lt;br /&gt;
** One port is Male A type and the other includes three Dupont lines.&lt;br /&gt;
** Hardware connection&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ROCK Pi E 40-pin Header ||  USB Interface || USB Male A to Dupont Cable&lt;br /&gt;
|-&lt;br /&gt;
| PIN#18 || Data+ || Green wire&lt;br /&gt;
|-&lt;br /&gt;
| PIN#16 || Data- || White wire&lt;br /&gt;
|-&lt;br /&gt;
| PIN#14 || GND || Black wire&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:rock-pi-e-usb-mala-a-to-dupont-cable.png]]&lt;br /&gt;
&lt;br /&gt;
=== Make sure rkdeveloptool is set up on host computer ===&lt;br /&gt;
==== Linux====&lt;br /&gt;
To build rkdeveloptool on a debain based Linux distribution, follow the instruction below:&lt;br /&gt;
&lt;br /&gt;
Install build dependecy:&lt;br /&gt;
  sudo apt-get install libudev-dev libusb-1.0-0-dev dh-autoreconf&lt;br /&gt;
&lt;br /&gt;
Clone the source code and build:&lt;br /&gt;
  git clone https://github.com/rockchip-linux/rkdeveloptool&lt;br /&gt;
  cd rkdeveloptool&lt;br /&gt;
  autoreconf -i&lt;br /&gt;
  ./configure&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
If you encounter compile error like below&lt;br /&gt;
    ./configure: line 4269: syntax error near unexpected token `LIBUSB1,libusb-1.0'&lt;br /&gt;
    ./configure: line 4269: `PKG_CHECK_MODULES(LIBUSB1,libusb-1.0)'&lt;br /&gt;
&lt;br /&gt;
You should install pkg-config libusb-1.0&lt;br /&gt;
    sudo apt-get install pkg-config libusb-1.0&lt;br /&gt;
&lt;br /&gt;
Then re-run &lt;br /&gt;
    autoreconf -i&lt;br /&gt;
    ./configure&lt;br /&gt;
    make&lt;br /&gt;
&lt;br /&gt;
Now you have rkdeveloptool executable at the current directory.&lt;br /&gt;
  sudo cp rkdeveloptool /usr/local/bin/&lt;br /&gt;
&lt;br /&gt;
==== MacOS ====&lt;br /&gt;
To build rkdeveloptool on macOS, you need [https://brew.sh/ homebrew](or similar package manager) to install required packages.&lt;br /&gt;
&lt;br /&gt;
Install build dependency:&lt;br /&gt;
&lt;br /&gt;
    brew install automake autoconf libusb&lt;br /&gt;
&lt;br /&gt;
Clone the source code and build:&lt;br /&gt;
&lt;br /&gt;
    git clone https://github.com/rockchip-linux/rkdeveloptool&lt;br /&gt;
    cd rkdeveloptool&lt;br /&gt;
    autoreconf -i&lt;br /&gt;
    ./configure&lt;br /&gt;
    make&lt;br /&gt;
&lt;br /&gt;
If you encounter compile error like below&lt;br /&gt;
    ./configure: line 4269: syntax error near unexpected token `LIBUSB1,libusb-1.0'&lt;br /&gt;
    ./configure: line 4269: `PKG_CHECK_MODULES(LIBUSB1,libusb-1.0)'&lt;br /&gt;
&lt;br /&gt;
You should install pkg-config libusb-1.0&lt;br /&gt;
    brew install pkg-config&lt;br /&gt;
&lt;br /&gt;
Then re-run &lt;br /&gt;
    autoreconf -i&lt;br /&gt;
    ./configure&lt;br /&gt;
    make&lt;br /&gt;
&lt;br /&gt;
Now you have rkdeveloptool executable at the current directory.&lt;br /&gt;
&lt;br /&gt;
    sudo cp rkdeveloptool /usr/local/bin/&lt;br /&gt;
&lt;br /&gt;
=== Boot the board to maskrom mode ===&lt;br /&gt;
&lt;br /&gt;
Note that ROCK Pi E OTG port consists of PIN#18, PIN#16 and PIN#14 on 40-pin Header.&lt;br /&gt;
&lt;br /&gt;
To boot ROCK Pi E into maskrom mode is simple, you don't need to press any key&lt;br /&gt;
&lt;br /&gt;
* Power off the board and '''remove any bootable storage media''', like Micro SD card, eMMC module, etc.&lt;br /&gt;
* Plug the USB Male A to Dupont cable to ROCK Pi E OTG port, the other side to PC&lt;br /&gt;
* Power on the board&lt;br /&gt;
&lt;br /&gt;
Now on your Linux PC, '''lsusb''' command show show the following usb devices&lt;br /&gt;
&lt;br /&gt;
    Bus 001 Device 090: ID 2207:320c&lt;br /&gt;
&lt;br /&gt;
It means the device is in '''maskrom mode''' now.&lt;br /&gt;
&lt;br /&gt;
* Now plug the eMMC module and proceed the next step to flash.&lt;br /&gt;
&lt;br /&gt;
=== Install to eMMC via USB ===&lt;br /&gt;
On your PC, run the rkdeveloptool&lt;br /&gt;
&lt;br /&gt;
    rkdeveloptool ld        # List the device&lt;br /&gt;
    DevNo=1	Vid=0x2207,Pid=0x320c,LocationID=104	Maskrom&lt;br /&gt;
&lt;br /&gt;
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/rockpie/images/loader/ here]&lt;br /&gt;
&lt;br /&gt;
    rkdeveloptool db rk3328_loader_xxx.bin&lt;br /&gt;
&lt;br /&gt;
Write the GPT image to eMMC, start to write from offset '''0'''.&lt;br /&gt;
&lt;br /&gt;
    rkdeveloptool wl 0 /path/to/rockpie-xxx-gpt.img&lt;br /&gt;
&lt;br /&gt;
Reboot the device&lt;br /&gt;
&lt;br /&gt;
    rkdeveloptool rd&lt;br /&gt;
&lt;br /&gt;
Now the device should boot the new image on eMMC&lt;br /&gt;
&lt;br /&gt;
=== Install by partitions(optional) ===&lt;br /&gt;
Sometimes we only want to update a partition of the image, for example only the boot partition to update kernel only. We can flash by partitions&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Part Number || Offset || Name ||  Description &lt;br /&gt;
|- &lt;br /&gt;
| raw|| 32KB  || loader1 || First stage loader&lt;br /&gt;
|-&lt;br /&gt;
| raw|| 8MB  || loader2 || U-boot image&lt;br /&gt;
|-&lt;br /&gt;
| raw|| 12MB || trust || ATF&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 16MB || boot ||Kernel partition, bootable&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 528MB ||rootfs || Rootfs&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When the board is in maskrom mode, flash the partitions with the following command and offset:&lt;br /&gt;
&lt;br /&gt;
    rkdeveloptool db rk3328_loader_*.bin&lt;br /&gt;
    rkdeveloptool wl 64 idbloader.img&lt;br /&gt;
    rkdeveloptool wl 16384 uboot.img&lt;br /&gt;
    rkdeveloptool wl 24576 trust.img&lt;br /&gt;
    rkdeveloptool wl 32768 boot.img&lt;br /&gt;
    rkdeveloptool wl 1081344 rootfs.img&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
* If you have issue with flashing via USB OTG, start a new post on the forum. https://forum.radxa.com/c/dev&lt;/div&gt;</summary>
		<author><name>Stephen</name></author>	</entry>

	</feed>