RISC-V GAP
- Registry:
https://registry.platformio.org/platforms/platformio/riscv_gap
- Configuration:
platform =
platformio/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 PlatformIO IDE or use
PlatformIO 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 PlatformIO IDE or use PlatformIO 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 PlatformIO IDE or use PlatformIO 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 PlatformIO IDE or use PlatformIO Core (CLI) and
pio run --target
command withupload
target.
Uploading files to HyperFlash
Create new project using PlatformIO IDE or initialize project using PlatformIO 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 PlatformIO IDE or use PlatformIO 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, NOT recommended
; Pin the version as shown below
[env:latest_stable]
platform = riscv_gap
board = ...
; Specific 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 a platform operating system designed for the internet of things |
|
SDK for Greenwaves Technologies’ GAP8 IoT Application Processor |
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 |