blob: ae999409545d760d43e897915ab76a9f1a52ed0e [file] [log] [blame]
.. _roc_rk3568_pc:
Firefly ROC-RK3568-PC (Quad-core Cortex-A55)
############################################
Overview
********
The ROC-RK3568-PC is a Quad-Core 64-Bit Mini Computer, which supports 4G large RAM. M.2
and SATA3.0 interfaces enables expansion with large hard drives.
Providing dual Gigabit Ethernet ports, it supports WiFi 6 wireless transmission.
Control Port can be connected with RS485/RS232 devices.
RK3568 quad-core 64-bit Cortex-A55 processor, with brand new ARM v8.2-A architecture,
has frequency up to 2.0GHz. Zephyr OS is ported to run on it.
- Board features:
- RAM: 4GB LPDDR4
- Storage:
- 32GB eMMC
- M.2 PCIe 3.0 x 1 (Expand with 2242 / 2280 NVMe SSD)
- TF-Card Slot
- Wireless:
- Supports WiFi 6 (802.11 AX)
- Supports BT5.0
- USB:
- One USB 3.0
- Two USB 2.0
- One Type-C
- Ethernet
- M.2 PCIe3.0 (Expand with NVMe SSD)
- LEDs:
- 1x Power status LED
- Debug
- UART debug ports for board
Supported Features
==================
The Zephyr roc_rk3568_pc board configuration supports the following hardware
features:
+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component |
+===========+============+=====================================+
| GIC-v3 | on-chip | interrupt controller |
+-----------+------------+-------------------------------------+
| ARM TIMER | on-chip | system clock |
+-----------+------------+-------------------------------------+
| UART | on-chip | serial port |
+-----------+------------+-------------------------------------+
Devices
========
System Clock
------------
This board configuration uses a system clock frequency of 24 MHz.
Cortex-A55 Core runs up to 2.0 GHz.
Serial Port
-----------
This board configuration uses a single serial communication channel with the
CPU's UART2.
Programming and Debugging
*************************
Use U-Boot to load the zephyr.bin to the memory and kick it:
.. code-block:: console
tftp 0x40000000 zephyr.bin; dcache flush; icache flush; dcache off; icache off; go 0x40000000
Use this configuration to run basic Zephyr applications and kernel tests,
for example, with the :zephyr:code-sample:`synchronization` sample:
.. zephyr-app-commands::
:zephyr-app: samples/synchronization
:host-os: unix
:board: roc_rk3568_pc
:goals: run
This will build an image with the synchronization sample app, boot it and
display the following ram console output:
.. code-block:: console
*** Booting Zephyr OS build bc695c6df5eb ***
thread_a: Hello World from cpu 0 on roc_rk3568_pc!
thread_b: Hello World from cpu 0 on roc_rk3568_pc!
thread_a: Hello World from cpu 0 on roc_rk3568_pc!
thread_b: Hello World from cpu 0 on roc_rk3568_pc!
roc_rk3568_pc_smp support, use this configuration to run Zephyr smp applications and subsys tests,
for example, with the :zephyr:code-sample:`synchronization` sample:
.. zephyr-app-commands::
:zephyr-app: samples/synchronization
:host-os: unix
:board: roc_rk3568_pc_smp
:goals: run
This will build an image with the shell_module sample app, boot it and
display the following ram console output:
.. code-block:: console
*** Booting Zephyr OS build bc695c6df5eb ***
I/TC: Secondary CPU 1 initializing
I/TC: Secondary CPU 1 switching to normal world boot
I/TC: Secondary CPU 2 initializing
I/TC: Secondary CPU 2 switching to normal world boot
I/TC: Secondary CPU 3 initializing
I/TC: Secondary CPU 3 switching to normal world boot
Secondary CPU core 1 (MPID:0x100) is up
Secondary CPU core 2 (MPID:0x200) is up
Secondary CPU core 3 (MPID:0x300) is up
thread_a: Hello World from cpu 0 on roc_rk3568_pc!
thread_b: Hello World from cpu 1 on roc_rk3568_pc!
thread_a: Hello World from cpu 0 on roc_rk3568_pc!
thread_b: Hello World from cpu 1 on roc_rk3568_pc!
References
==========
More information can refer to Firefly official website:
`Firefly website`_.
.. _Firefly website:
https://en.t-firefly.com/product/industry/rocrk3568pc.html?theme=pc