Support for the Sipeed Longan Nano board. More...
Support for the Sipeed Longan Nano board.
The Sipeed Longan Nano is a development board for the GigaDevice GD32VF103CBT6 MCU with the following on-board components:
MCU | GD32VF103CBT6 | Supported |
---|---|---|
Family | RISC-V with ECLIC | |
Vendor | GigaDevice | |
RAM | 32 kByte | |
Flash | 128 KByte | |
Frequency | 108 MHz | |
Power Modes | 3 (Sleep, Deep Sleep, Standby) | yes |
GPIOs | 37 | yes |
Timers | 5 x 16-bit timer | yes |
RTC | 1 x 32-bit counter, 20-bit prescaler | yes |
WDT | 2 x 12-bit counter, 3-bit prescaler | yes |
ADC | 2 x 12-bit units, 16 channels @ 1 Msps | yes |
DAC | 2 x 12-bit channel | yes |
UART | - | yes |
USART | 3 | yes |
SPI | 3 | yes |
I2C | 2 x Fast Mode 400 kHz | yes |
I2S | 2 | no |
CAN | 2 x CAN 2.0B with up to 1 Mbps | no |
PWM | 6 Channels | yes |
USB | 1 x USB FS OTG | no |
Vcc | 3.0V - 3.6V | |
Datasheet | Datasheet | |
Reference Manual | Reference Manual | |
Board Manual | Board Manual | |
Board Schematic | Board Schematic |
The general pin layout is shown below.
The following tables show the connection of the on-board components with the MCU pins and their configuration in RIOT sorted by RIOT peripherals and by pins.
RIOT Peripheral | MCU Pin | MCU Peripheral | Board Function | Remark |
---|---|---|---|---|
ADC_LINE(0) | PA0 | ADC01_IN0 | ||
ADC_LINE(1) | PA3 | ADC01_IN3 | ||
ADC_LINE(2) | - | ADC01_IN16 | internal Temperature channel | |
ADC_LINE(3) | - | ADC01_IN17 | internal VFEF channel | |
ADC_LINE(4) | PB0 | ADC01_IN8 | TFT RS | N/A if TFT is used |
ADC_LINE(5) | PB1 | ADC01_IN9 | TFT RST | N/A if TFT is used |
ADC_LINE(6) | PA6 | ADC01_IN6 | N/A if TFT is used | |
ADC_LINE(7) | PA7 | ADC01_IN7 | N/A if TFT is used | |
ADC_LINE(8) | PA4 | ADC01_IN4 | N/A if TFT is used | |
ADC_LINE(9) | PA5 | ADC01_IN5 | N/A if TFT is used | |
BTN0 | PA8 | BOOT0 | BOOT | |
DAC_LINE(0) | PA4 | DAC0 | N/A if TFT is used | |
DAC_LINE(1) | PA5 | DAC1 | N/A if TFT is used | |
GPIO_PIN(1, 2) | PB2 | TFT CS | ||
I2C_DEV(0) SCL | PB6 | I2C0 SCL | ||
I2C_DEV(0) SDA | PB7 | I2C0 SDA | ||
I2C_DEV(1) SCL | PB10 | I2C1 SCL | ||
I2C_DEV(1) SDA | PB11 | I2C1 SDA | ||
LED0 | PC13 | LED red | ||
LED1 | PA1 | LED green | ||
LED2 | PA2 | LED blue | ||
PWM_DEV(0) CH0 | PA1 | LED green | ||
PWM_DEV(0) CH1 | PA2 | LED blue | ||
PWM_DEV(1) CH0 | PB8 | N/A if CAN is used | ||
PWM_DEV(1) CH1 | PB9 | N/A if CAN is used | ||
SPI_DEV(0) CS | PB12 | SPI1 CS | SD CS | |
SPI_DEV(0) SCLK | PB13 | SPI1 SCLK | SD SCK | |
SPI_DEV(0) MISO | PB14 | SPI1 MISO | SD MISO | |
SPI_DEV(0) MOSI | PB15 | SPI1 MOSI | SD MOSI | |
SPI_DEV(1) CS | PA4 | SPI0 CS | ||
SPI_DEV(1) SCLK | PA5 | SPI0 SCLK | TFT SCL | |
SPI_DEV(1) MISO | PA6 | SPI0 MISO | ||
SPI_DEV(1) MOSI | PA7 | SPI0 MOSI | TFT SDA | |
UART_DEV(0) TX | PA9 | USART0 TX | UART TX | |
UART_DEV(0) RX | PA10 | USART0 RX | UART RX |
Pin | Board Function | RIOT Function 1 | RIOT Function 2 | RIOT Function 3 |
---|---|---|---|---|
PA0 | ADC_LINE(0) | |||
PA1 | LED green | PWM_DEV(0) CH0 | LED0 | |
PA2 | LED blue | PWM_DEV(0) CH1 | LED1 | |
PA3 | ADC_LINE(1) | |||
PA4 | SPI_DEV(1) CS | ADC_LINE(8)* | DAC_LINE(0)* | |
PA5 | TFT SCL | SPI_DEV(1) SCLK | ADC_LINE(9)* | DAC_LINE(1)* |
PA6 | SPI_DEV(1) MISO | ADC_LINE(6)* | ||
PA7 | TFT SDA | SPI_DEV(1) MOSI | ADC_LINE(7)* | |
PA8 | BOOT | BTN0 | ||
PA9 | UART_DEV(0) TX | |||
PA10 | UART_DEV(0) RX | |||
PA11 | USB D- | |||
PA12 | USB D+ | |||
PA13 | JTAG TMS | |||
PA14 | JTAG TCK | |||
PA15 | JTAG TDI | |||
PB0 | TFT RS | ADC_LINE(4) | ||
PB1 | TFT RST | ADC_LINE(5) | ||
PB2 | TFT CS | |||
PB3 | JTAG TDO | |||
PB4 | JTAG NRST | |||
PB5 | ||||
PB6 | I2C_DEV(0) SCL | |||
PB7 | I2C_DEV(0) SDA | |||
PB8 | PWM_DEV(1) CH0 | |||
PB9 | PWM_DEV(1) CH1 | |||
PB10 | I2C_DEV(1) SCL | |||
PB11 | I2C_DEV(1) SDA | |||
PB12 | SD CS | SPI_DEV(0) CS | ||
PB13 | SD SCK | SPI_DEV(0) SCLK | ||
PB14 | SD MISO | SPI_DEV(0) MISO | ||
PB15 | SD MOSI | SPI_DEV(0) MOSI | ||
PC13 | LED red | LED3 | ||
PC14 | OSC32IN | |||
PC15 | OSC32OUT | |||
- | Temperature | ADC_LINE(2) | ||
- | VREF | ADC_LINE(3) |
(*) The availability of these peripherals depend on the use of other peripherals.
ADC_LINE(4)
to ADC_LINE(9)
depends on other peripheral configurations, their index may vary.The board is flashed via the in-ROM DFU bootloader by default. To enter bootloader mode, hold the BOOT0 button while pressing the RESET button.
After flashing you need to leave bootloader mode again by pressing the RESET button.
The board can also be flashed via a JTAG interface with OpenOCD (at least release version 0.12.0). By default, an FTDI adapter according to the configuration defined in interface/openocd-usb.cfg
is assumed.
To use an FTDI adapter with a different configuration, the configuration can be defined using the variable OPENOCD_FTDI_ADAPTER
, for example:
If another adapter is used, it can be specified using variable OPENOCD_DEBUG_ADAPTER
, for example for a Segger J-Link adapter:
The stdio
is directly accessible through the first UART interface. If an external USB-to-UART interface is used, this interface is mapped to /dev/ttyUSB<n>
on a Linux host, where <n>
is the index of the UART interface, which is 0 by default.
Use the term
target to connect to the board using /dev/ttyUSB0
:
If the UART interface index of board's USB to UART bridge is not 0, use the following command to connect:
Files | |
file | board.h |
Board specific definitions for the Sipeed Longan Nano board. | |
file | gpio_params.h |
Configuration of SAUL mapped GPIO pins. | |
file | periph_conf.h |
Board specific definitions for the SeeedStudio GD32 RISC-V board. | |