nuttx/configs/gapuino
Gregory Nutt e4562fc538 This commit brings in support for the GAP8 architecture. The GAP8 is a 1+8-core DSP-like RISC-V MCU. Also included is support for the Gapuino GAP8 evaluation board.
Squashed commit of the following:

Author: Gregory Nutt <gnutt@nuttx.org>

    Completes review of configs/gapuino.
    arch/risc-v/include/gap8/chip.h:  Replace the moved chip.h header file with a dummy chip.h header file just to keep the system happy.
    Move include/gap8/chip.h to src/gap8/chip.h.  Internal details should not be exposed outside of arch/ and configs/.  Review all headers files in src/gap8
    Review of arch/risc-v/include.

Author: hhuysqt <hyq9606@126.com>

    corrected author and email
    Add app initialization, add signal support, cleanup irq context and configs
    fix some warnings
    gapuino initial port
    GAP8 initial port
2018-10-30 09:38:50 -06:00
..
include This commit brings in support for the GAP8 architecture. The GAP8 is a 1+8-core DSP-like RISC-V MCU. Also included is support for the Gapuino GAP8 evaluation board. 2018-10-30 09:38:50 -06:00
nsh This commit brings in support for the GAP8 architecture. The GAP8 is a 1+8-core DSP-like RISC-V MCU. Also included is support for the Gapuino GAP8 evaluation board. 2018-10-30 09:38:50 -06:00
scripts This commit brings in support for the GAP8 architecture. The GAP8 is a 1+8-core DSP-like RISC-V MCU. Also included is support for the Gapuino GAP8 evaluation board. 2018-10-30 09:38:50 -06:00
src This commit brings in support for the GAP8 architecture. The GAP8 is a 1+8-core DSP-like RISC-V MCU. Also included is support for the Gapuino GAP8 evaluation board. 2018-10-30 09:38:50 -06:00
Kconfig This commit brings in support for the GAP8 architecture. The GAP8 is a 1+8-core DSP-like RISC-V MCU. Also included is support for the Gapuino GAP8 evaluation board. 2018-10-30 09:38:50 -06:00
README.txt This commit brings in support for the GAP8 architecture. The GAP8 is a 1+8-core DSP-like RISC-V MCU. Also included is support for the Gapuino GAP8 evaluation board. 2018-10-30 09:38:50 -06: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 varible.

  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 :-)