nuttx/boards/risc-v/gap8/gapuino
Xiang Xiao b329e2377d boards: Move toolchain related variables to Toolchain.defs
1.It make sense to let Toolchain.defs give the default value
2.The board can still change if the default isn't suitable
3.Avoid the same definition spread more than 200 Make.defs

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ic2649f1c7689bcf59c105ca8db61cad45b6e0e64
2020-07-20 17:10:37 +01:00
..
configs/nsh boards/: Remove references to CONFIG_FS_WRITABLE 2020-03-22 08:24:07 -05:00
include Merged in alinjerpelea/nuttx (pull request #971) 2019-08-09 13:22:39 +00:00
scripts boards: Move toolchain related variables to Toolchain.defs 2020-07-20 17:10:37 +01:00
src build: Move .config check to the top Makefile 2020-05-20 17:57:34 +01:00
Kconfig
README.txt Run codespell -w with the latest dictonary again 2020-02-23 22:27:46 +01:00

README
======

gapuino is an evaluation board for GAP8, a 1+8-core DSP-like RISC-V
MCU. GAP8 features a RI5CY core called Fabric Controller(FC), and a
cluster of 8 RI5CY cores that runs at a bit slower speed. GAP8 is an
implementation of the opensource PULP platform, a Parallel-Ultra-Low-
Power design.

The port is currently very minimal, though additional support may be
added in the future to address more of the board peripherals.

  Supported:
  - USB UART (console port)
  - uDMA on SOC domain
  - FLL clock scaling

  Not supported:
  - SPI, I2C, I2S, CPI, LVDS, Hyper-bus on the uDMA subsystem
  - the sensor board
  - the 8-core cluster
  - the Hardware convolution engine

See also:
gapuino board and the sensor board:
https://gwt-website-files.s3.amazonaws.com/gapuino_um.pdf
https://gwt-website-files.s3.amazonaws.com/gapuino_multisensor_um.pdf
GAP8 datasheet:
https://gwt-website-files.s3.amazonaws.com/gap8_datasheet.pdf

Contents
========

  - Environment Setup
  - Configurations
  - Execute

Environment Setup
=================
  First, setup the gap_sdk from GreenwavesTechnologies' github repo.
  Follow the README to setup the toolchain and environment.
  https://github.com/GreenWaves-Technologies/gap_sdk/

Configurations
==============
  Each gapuino configuration is maintained in a sub-directory and can
  be selected as follow:

    tools/configure.sh gapuino:<subdir>

  Where <subdir> is one of the following:

    nsh
    ---
    This is an NSH example that uses the UART connected to FT2232 as
    the console. Default UART settings are 115200, 8N1.

Execute
=======
  You may download the ELF to the board by `plpbridge` in gap_sdk.
  Remember to first `cd` to the gap_sdk/ and `source sourceme.sh`, so
  that you have the $GAP_SDK_HOME environment variable.

  Use the following command to download and run the ELF through JTAG:

    $GAP_SDK_HOME/install/workstation/bin/plpbridge \
    --cable=ftdi@digilent --boot-mode=jtag --chip=gap \
    --binary=nuttx \
    load ioloop reqloop start wait

  As for debugging, the following command download the ELF and opens
  a gdbserver on port 1234:

     $GAP_SDK_HOME/install/workstation/bin/plpbridge \
    --cable=ftdi@digilent --boot-mode=jtag --chip=gap \
    --binary=nuttx \
    load ioloop gdb wait

  And then launch the gdb on another terminal:

    riscv32-unknown-elf-gdb nuttx
    ...
    (gdb) target remote :1234
    Remote debugging using :1234
    IRQ_U_Vector_Base () at chip/startup_gap8.S:293
    293             j reset_handler       /* 32 */
    (gdb)

  And then enjoy yourself debugging with the CLI gdb :-)