Install images to SD NAND flash in Rock Pi S

Rock Pi S ?

In this article, We learn How to Install images to SD NAND flash in Rock Pi S. Tiny but do a lot. S is for Small Square in ROCK Pi S. This is really small because size is only 1.7 inches. ROCK Pi S is a Rockchip RK3308 based SBC(Single Board Computer) by Radxa. It equips a 64bits quad core processor, USB, ethernet, wireless connectivity and voice detection engine at the size of 1.7 inch, make it perfect for IoT and voice applications. ROCK Pi S comes in two ram sizes 256MB or 512MB DDR3, and uses uSD card for OS and storage. Optionally, ROCK Pi S can provide on board storage version with 1Gb/2Gb/4Gb/8Gb NAND flash.

Specs:

Model ROCK Pi S
Processor SoC RK3308
Quad Cortex-A35 ARM 64bits processor
frequency up to 1.3GHz
Memory 256MB or 512MB DDR3
Storage MicroSD(TF), optional on board 1/2/4/8Gb NAND flash
Wireless 802.11 b/g/n wifi
Bluetooth 4.0(rtl8723DS)
external antenna
USB USB2.0 Type-A HOST x1
USB3.0 Type-C OTG x1
Key maskrom x1
reset x1
Ethernet 100MB ethernet, optional PoE(additional HAT requried)
IO 26-pin expansion header
I2C x4
PWM x3
SPI x2
UART x3
I2S0 x1
5V DC power in x2
3.3V DC power in x2
Others
Power USB Type-C DC 5V
Size 1.7inch square

 


Install images to SD NAND flash in Rock Pi S


ROCK Pi S 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 S in maskrom mode is rkdeveloptool, an open source tool by Rockchip.

Requirement

  • ROCK Pi S mainboard
  • ROCK Pi S model with SD Nand on board(Check models)
  • USB Male A to Male C cable
  • Linux or other OS image for ROCK Pi S (< 1GB)

ROCK Pi S hardware details can be found here

Step 1: Make sure rkdeveloptool is set up on host computer

Follow https://wiki.radxa.com/RockpiS/dev/otg to install rkdeveloptool tool.

Step 2: Boot the board to maskrom mode

Case 1: Empty SD Nand

To boot ROCK Pi S into maskrom mode is simple, you don’t need to press any key.

  • Power off the board and remove any bootable storage media, microSD card.
  • Plug the USB Male A to Male C cable to ROCK Pi S OTG port(Type C port), the other side to PC
  • Power on the board
Case 2: Update system image on SD Nand

The ROCK Pi S Board presents two buttons. They are Reset key and Maskrom key.

The Reset button serves as the hardware reset button. short press and release the button,the system will be rebooted.

The Maskrom Button is for firmware flash/upgrade.

To boot ROCK Pi S into maskrom mode, you need

  • plug the ROCK Pi S to Linux desktop with the USB Male A to Male C cable
  • press and hold the maskrom key, then short press reset key
  • release maskrom key(important!)

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

 Bus 001 Device 014: ID 2207:330e

It means the device is in maskrom mode now.

Now we can proceed the next step to flash.

Step 3: Write to SD Nand via USB

On your PC, run the rkdeveloptool

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

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

 sudo rkdeveloptool db /path/to/rk3308_loader_uart0_m0_emmc_port_support_sd_20190717.bin  # will output: Downloading bootloader succeeded.
 sudo rkdeveloptool wl 0 /path/to/system.img    # will output: Write LBA from file (100%)
 sudo rkdeveloptool rd    # will output: Reset Device OK.

Now the device should boot from the SD Nand now.

Step 4: Erase image on SD Nand

This step serves for someone who want to boot ROCK Pi S on uSD Card when there is one system image on SD Nand.

To erase images on SD Nand, just need the following steps.

Firstly, follow Step 2: Boot the board to maskrom mode, Case 2: Update system image on SD Nand to boot ROCK Pi S to maskrom mode.

Secondly, on your Linux PC, create zero.img.

 dd if=/dev/zero of=./zero.img bs=4M count=10

Thirdly, flash zero.img to SD Nand.

 rkdeveloptool db /path/to/rk3308_loader_uart0_m0_emmc_port_support_sd_20190717.bin
 rkdeveloptool wl 0 zero.img
 rkdeveloptool rd    # will output: Reset Device OK.

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

 Bus 001 Device 014: ID 2207:330e

It means the SD Nand is erased successfully.

Troubleshooting

If you have issue with flashing via USB OTG, start a new post on the forum. https://forum.radxa.com/c/dev


Thanks for reading. If you like this post probably you might like my next ones, so please support me by subscribing my blog.

You may like also: Rock Pi Boards | Rock Pi 4 | Rock Pi X | Rock Pi N10

Harshvardhan Mishra

Hi, I'm Harshvardhan Mishra. I am a tech blogger and an IoT Enthusiast. I am eager to learn and explore tech related stuff! also, I wanted to deliver you the same as much as the simpler way with more informative content. I generally appreciate learning by doing, rather than only learning. Thank you for reading my blog! Happy learning! Follow and send tweets me on @harshvardhanrvm. If you want to help support me on my journey, consider sharing my articles, or Buy me a Coffee!

Leave a Reply

%d bloggers like this: