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:
Running from RAM,
boot_mode=jtag
Running from HyperFlash,
boot_mode=jtag_hyper
A running process can be controlled through the internal upload commands:
load
, @TODOreqloop
, @TODOioloop
, @TODOstart
, @TODOwait
, @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 PIO IDE or use
PIO Core (CLI) and pio run --target
command with upload
target.
Run from RAM (without any bridge interaction)¶
Configure build environment using “platformio.ini” (Project Configuration File) as described below
[env:gapuino] platform = riscv_gap board = gapuino framework = ... board_upload.commands = load start
Run “Upload” task in PIO IDE or use PIO Core (CLI) and
pio run --target
command withupload
target.
Flash and run from RAM¶
The same as Uploading files to HyperFlash.
Flash and run from Flash¶
Configure build environment using “platformio.ini” (Project Configuration File) as described below
[env:gapuino] platform = riscv_gap board = gapuino framework = ... board_upload.boot_mode = jtag_hyper board_upload.commands = reqloop ioloop start wait
Perform Uploading files to HyperFlash.
Run from Flash¶
Note
You have to perform Uploading files to HyperFlash before.
Configure build environment using “platformio.ini” (Project Configuration File) as described below
[env:gapuino] platform = riscv_gap board = gapuino framework = ... board_upload.boot_mode = jtag_hyper board_upload.commands = reqloop ioloop start wait
Run “Upload” task in PIO IDE or use PIO Core (CLI) and
pio run --target
command withupload
target.
Run from Flash (without any bridge interaction)¶
Note
You have to perform Uploading files to HyperFlash before.
Configure build environment using “platformio.ini” (Project Configuration File) as described below
[env:gapuino] platform = riscv_gap board = gapuino framework = ... board_upload.boot_mode = jtag_hyper board_upload.commands = start
Run “Upload” task in PIO IDE or use PIO Core (CLI) and
pio run --target
command withupload
target.
Uploading files to HyperFlash¶
Create new project using PIO IDE or initialize project using PIO Core (CLI) and pio project init (if you have not initialized it yet)
Create
data
folder (it should be on the same level assrc
folder) and put files here. Also, you can specify own location for data_dirRun “Upload File System image” task in PIO IDE or use PIO Core (CLI) and
pio run --target
command withuploadfs
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 |
---|---|---|---|---|
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 |
---|---|
SDK for Greenwaves Technologies’ GAP8 IoT Application Processor |
|
Top project for building PULP development tools |
|
GNU toolchain for RISC-V (PULP platform) |
Warning
Linux Users:
Install “udev” rules 99-platformio-udev.rules
Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.
Windows Users:
Please check that you have a correctly installed USB driver from board manufacturer
Frameworks¶
Name |
Description |
---|---|
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 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 |
---|---|---|---|---|---|
On-board |
GAP8 |
250MHz |
64MB |
8MB |