Radxa ROCK 3B
Overview
The Radxa ROCK 3B [1] is a single-board computer based on the Rockchip RK3568 SoC, featuring a quad-core Arm Cortex-A55 CPU, LPDDR4 memory, dual Gigabit Ethernet, USB, display, storage, and expansion interfaces.
Hardware
The ROCK 3B includes the following hardware features:
Rockchip RK3568 SoC
Quad-core Arm Cortex-A55 CPU, up to 2 GHz
Arm Mali-G52 GPU
64-bit LPDDR4 RAM, commonly available in 2 GB, 4 GB, and 8 GB variants
eMMC storage (optional)
microSD card slot
HDMI, MIPI DSI, and eDP display interfaces
MIPI CSI camera interface
Two Gigabit Ethernet ports
Two USB 2.0 host ports
One USB 3.0 host port
One USB 3.0 OTG port
M.2 M Key slot with PCIe 3.0 x2 for NVMe SSDs
M.2 E Key slot for wireless modules
M.2 B Key slot and SIM slot for cellular modules
40-pin Raspberry Pi compatible expansion header
2-pin 5 V fan connector
More details can be found in Rockchip RK3568 TRM (Part1) [2] and Rockchip RK3568 TRM (Part2) [3].
Supported Features
The rock_3b board supports the hardware features listed below.
- on-chip / on-board
- Feature integrated in the SoC / present on the board.
- 2 / 2
-
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files. -
vnd,foo -
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
rock_3b/rk3568 target
On-target memory for this board target: 1 MiB of RAM, N/A of Flash.
Type |
Location |
Description |
Compatible |
|---|---|---|---|
CPU |
on-chip |
ARM Cortex-A55 CPU4 |
|
Interrupt controller |
on-chip |
ARM Generic Interrupt Controller v31 |
|
Power management CPU operations |
on-chip |
Power State Coordination Interface (PSCI) version 0.21 |
|
Serial controller |
on-chip |
ns16550 UART1 |
|
SRAM |
on-board |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
per-core ARM architected timer1 |
rock_3b/rk3568/smp target
On-target memory for this board target: 1 MiB of RAM, N/A of Flash.
Type |
Location |
Description |
Compatible |
|---|---|---|---|
CPU |
on-chip |
ARM Cortex-A55 CPU4 |
|
Interrupt controller |
on-chip |
ARM Generic Interrupt Controller v31 |
|
Power management CPU operations |
on-chip |
Power State Coordination Interface (PSCI) version 0.21 |
|
Serial controller |
on-chip |
ns16550 UART1 |
|
SRAM |
on-board |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
per-core ARM architected timer1 |
Programming and debugging
The rock_3b board supports the runners and associated west commands listed below.
| flash | debug |
|---|
Run program from U-Boot
To execute the program, it must be loaded from U-Boot into memory and then run. Here, we show how to load an image from an SD card and execute it using the U-Boot console. The UART console can be connected via pins 8 and 10 of the 40-pin connector.
=> setenv zephyr_addr 0x40000000
=> load mmc 1:1 ${zephyr_addr} /zephyr.bin
reading /zephyr.bin
36988 bytes read in 7 ms (5 MiB/s)
=> echo ${filesize}
0x907c
=> go ${zephyr_addr}
## Starting application at 0x40000000 ...
Building & Flashing
You can build the Hello World sample by following the steps below.
# From the root of the zephyr repository
west build -b rock_3b samples/hello_world
When you launch the program from U-Boot using the procedure described above, you will see output similar to the following.
*** Booting Zephyr OS build v4.4.0-6528-g087c82b397b6 ***
Hello World! rock_3b/rk3568
Note
Debugging and flashing via west command are not supported at this time.
The rock_3b//smp target is also supported, use this configuration to run smp application.
# From the root of the zephyr repository
west build -b rock_3b//smp samples/synchronization