Software Guide; Architecture Overview; Prerequisites - Cherry Theobroma Systems PUMA SOM-RK3399-Q7 User Manual

Powerful system-on-module
Hide thumbs Also See for Theobroma Systems PUMA SOM-RK3399-Q7:
Table of Contents

Advertisement

4 Software Guide

This chapter provides instructions for compiling and deploying the BSP (Board Support Package) software to the Q7 module.

4.1 Architecture Overview

The BSP consists of several parts. They run on different parts of the CPU and each play their role in the boot process. Because
the CPU contains cores running different instruction sets (ARMv6-M and ARMv8-A), two different compilers are needed.
The table below list the parts and their instruction set.
The next section explains how to install suitable cross-compilers for both instruction sets.
The section "Compiling Linux Applications" provides guidance for compiling user-space applications for the RK3399.

4.2 Prerequisites

You need a recent x86_64 Linux installation to run the cross-compiler on and at least 10GB of disk space. The cross-compiler
requires libc version 2.2.5. Distributions shipping this version are, among others:
• Ubuntu 16.04 "Xenial"
• Debian 8 "Jessie"
• Debian 9 "Stretch"
We recommend Debian 9 "Stretch" or Ubuntu 16.04 "Xenial". Please install the following packages to set up the common build
infrastructure:
sudo apt install device-tree-compiler u-boot-tools build-essential git bc debootstrap
user-static libssl-dev
4.2.1 ARMv6-M Compiler
The "GNU Embedded Toolchain for ARM" is suitable for compiling the Cortex-M0 power management firmware. It can be
downloaded from https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads .
For this manual, it is assumed that version 6-2017-q1 is used. Direct link to the file:
https://developer.arm.com/-/media/Files/downloads/gnu-rm/6_1-2017q1/gcc-arm-none-eabi-6-2017-q1-update-linux.
tar.bz2
Extract the tar.bz2 archive to /opt:
sudo tar -xf gcc-arm-none-eabi-6-2017-q1-update-linux.tar.bz2 -C /opt
PUMA RK3399-Q7 User Manual
© Theobroma Systems Design und Consulting GmbH
BSP Part
Cortex-M0 power management firmware
ATF (ARM Trusted Firmware)
U-Boot bootloader
The Linux kernel
Debian user-space
Architecture
ARMv6-M
ARMv8-A
ARMv8-A
ARMv8-A
ARMv8-A
qemu-
v1.7
Page 19

Advertisement

Table of Contents
loading

Table of Contents