RISC-V GAP

Registry:

https://registry.platformio.org/platforms/platformio/riscv_gap

Configuration:

platform = riscv_gap

GreenWaves GAP8 IoT application processor enables the cost-effective development, deployment and autonomous operation of intelligent sensing devices that capture, analyze, classify and act on the fusion of rich data sources such as images, sounds or vibrations.

For more detailed information please visit vendor site.

Configuration

Drivers

See “Drivers” section for FTDI Chip debug probe.

AutoTiler

You need GAP8 AutoTiler library, please request it via support@greenwaves-technologies.com

Put a library somewhere on a disk and add this folder to library path using build_flags in “platformio.ini” (Project Configuration File). For example,

[env:gapuino]
platform = riscv_gap
board = gapuino
framework = ...
build_flags = -L/path/to/libtile/folder

Running modes

GAPuino supports 2 main modes:

  1. Running from RAM, boot_mode=jtag

  2. Running from HyperFlash, boot_mode=jtag_hyper

A running process can be controlled through the internal upload commands:

  • load, @TODO

  • reqloop, @TODO

  • ioloop, @TODO

  • start, @TODO

  • wait, @TODO

You can configure “boot mode” and list of upload commands using “platformio.ini” (Project Configuration File). Default values are:

  • board_upload.boot_mode = jtag

  • board_upload.commands = load reqloop ioloop start wait

Run from RAM

This is a default behavior when you run “Upload” task in PlatformIO IDE or use PlatformIO Core (CLI) and pio run --target command with upload target.

Run from RAM (without any bridge interaction)

Flash and run from RAM

The same as Uploading files to HyperFlash.

Flash and run from Flash

Run from Flash

Note

You have to perform Uploading files to HyperFlash before.

Run from Flash (without any bridge interaction)

Note

You have to perform Uploading files to HyperFlash before.

Uploading files to HyperFlash

  1. Create new project using PlatformIO IDE or initialize project using PlatformIO Core (CLI) and pio project init (if you have not initialized it yet)

  2. Create data folder (it should be on the same level as src folder) and put files here. Also, you can specify own location for data_dir

  3. Run “Upload File System image” task in PlatformIO IDE or use PlatformIO Core (CLI) and pio run --target command with uploadfs target.

Examples:

Examples

Examples are listed from RISC-V GAP development platform repository:

Debugging

Debugging - “1-click” solution for debugging with a zero configuration.

Tools & Debug Probes

Supported debugging tools are listed in “Debug” column. For more detailed information, please scroll table by horizontal. You can switch between debugging Tools & Debug Probes using debug_tool option in “platformio.ini” (Project Configuration File).

Warning

You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.

Name

MCU

Frequency

Flash

RAM

GAPuino GAP8

GAP8

250MHz

64MB

8MB

Stable and upstream versions

You can switch between stable releases of RISC-V GAP development platform and the latest upstream version using platform option in “platformio.ini” (Project Configuration File) as described below.

Stable

; Latest stable version
[env:latest_stable]
platform = riscv_gap
board = ...

; Custom stable version
[env:custom_stable]
platform = riscv_gap@x.y.z
board = ...

Upstream

[env:upstream_develop]
platform = https://github.com/platformio/platform-riscv_gap.git
board = ...

Packages

Name

Description

framework-gap_sdk

SDK for Greenwaves Technologies’ GAP8 IoT Application Processor

tool-pulp_tools

Top project for building PULP development tools

toolchain-riscv-pulp

GNU toolchain for RISC-V (PULP platform)

Warning

Linux Users:

Windows Users:

Please check that you have a correctly installed USB driver from board manufacturer

Frameworks

Name

Description

Mbed

Arm Mbed OS is an open source embedded operating system designed specifically for the ‘things’ in the Internet of Things. It includes all the features you need to develop a connected product based on an Arm Cortex-M microcontroller, including security, connectivity, an RTOS and drivers for sensors and I/O devices

PULP OS

PULP is a silicon-proven Parallel Ultra Low Power platform targeting high energy efficiencies. The platform is organized in clusters of RISC-V cores that share a tightly-coupled data memory

Boards

Note

  • You can list pre-configured boards by pio boards command

  • For more detailed board information please scroll the tables below by horizontally.

GreenWaves Technologies

Name

Debug

MCU

Frequency

Flash

RAM

GAPuino GAP8

On-board

GAP8

250MHz

64MB

8MB