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