Edge-V

Overview

See <https://www.khadas.com/edge-v>

Hardware

See <https://docs.khadas.com/linux/edge/Hardware.html#Edge-V-1>

Supported Features

The khadas_edgev 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.
khadas_edgev
/
rk3399

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-A53 CPU1

arm,cortex-a53

Interrupt controller

on-chip

ARM Generic Interrupt Controller v31

arm,gic-v3

Serial controller

on-chip

ns16550 UART1

ns16550

Timer

on-chip

per-core ARM architected timer1

arm,armv8-timer

There are multiple serial ports on the board: Zephyr is using uart2 as serial console.

Programming and Debugging

Use the following configuration to run basic Zephyr applications and kernel tests on Khadas Edge-V board. For example, with the Hello World:

  1. Non-SMP mode

# From the root of the zephyr repository
west build -b khadas_edgev samples/hello_world

This will build an image with the synchronization sample app.

Build the zephyr image:

mkimage -C none -A arm64 -O linux -a 0x10000000 -e 0x10000000 -d build/zephyr/zephyr.bin build/zephyr/zephyr.img

Use u-boot to load and kick Zephyr.bin to CPU Core0:

tftpboot ${pxefile_addr_r} zephyr.img; bootm start ${pxefile_addr_r}; bootm loados; bootm go

It will display the following console output:

*** Booting Zephyr OS build XXXXXXXXXXXX  ***
Hello World! khadas_edgev

Flashing

Zephyr image can be loaded in DDR memory at address 0x10000000 from SD Card, EMMC, QSPI Flash or downloaded from network in uboot.

References

Documentation: