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