This is a DMA example for RVSTAR board that uses the UART DMA transmit and receive.
Here are the steps build and run in Nuclei SDK using command line.
# clone nuclei-sdk repo and cd to it
git clone https://github.com/Nuclei-Software/nuclei-sdk
cd nuclei-sdk
# Setup nuclei tools environment following https://doc.nucleisys.com/nuclei_sdk/quickstart.html#setup-tools-and-environment
# Assume you are in Windows, and have create and setup the setup_config.bat file
# source the nuclei tool environment
setup.bat
# clone nuclei-board-labs
git clone https://github.com/Nuclei-Software/nuclei-board-labs
cd nuclei-board-labs/
# cd to this example
cd rvstar/dma/dma_ram_uart
# Build this example for nuclei rvstar board
## clean this example first
make SOC=gd32vf103 BOARD=gd32vf103v_rvstar clean
## build this example
make SOC=gd32vf103 BOARD=gd32vf103v_rvstar all
## connect rvstar board using USB dongle, and make sure driver is setup correctly
## see https://rvmcu.com/column-topic-id-464.html
## upload this example
make SOC=gd32vf103 BOARD=gd32vf103v_rvstar upload
## debug this example
make SOC=gd32vf103 BOARD=gd32vf103v_rvstar debug
You can also refer to this guide for more details:
If you are not familar with command line, you can also create projects using Nuclei Studio and PlatformIO IDE, put this example code in the IDE and then build, upload and debug on it.
You can create a project in Nuclei Studio IDE or PlatformIO IDE.
Copy the main.c file from this directory and replace the existing application code in the IDE project directory.
Connect RVSTAR board to your PC, build and upload the project.
You need a TTL-USB converter to connect the UART3 of RVSTAR to your PC:
RVSTAR | Converter |
---|---|
PC10 | RX |
PC11 | TX |
GND | GND |
Then you can use a serial terminal tool like Minicom or CoolTerm to connect the CONVERTER with baudrate 115200.
Firstly, the UART3 sends the strings to the serial terminal and then loops waiting for receiving max 10 bytes data from the terminal. If the number of data you enter equal with or more than 10 bytes, UART3 will send 10 bytes to the terminal.