GD32F307VG-mbed development board with GD32F307VG Chip
Table of Contents
GD32F307VG-mbed development board with GD32F307VG MCU on it, which can support Arduino. The GD32F307VG MCU is 32-bits general-purpose microcontroller which based on the ARM® Cortex™-M4 processor with FPU.
The GD32F307VG-mbed had been designed by GigaDevice. The board used GD32F307VGT6 microcontroller which belongs to the mainstream line of GD32 MCU Family. It is a 32-bits general-purpose microcontroller based on the ARM® Cortex®-M4 RISC core with best cost-performance ratio in terms of enhanced processing capacity, reduced power consumption and peripheral set.
In order to fully use of the ARM® Cortex®-M4 core, GD32F307VGT6 can operate at 120 MHz clock frequency as well as Flash accesses zero wait states to obtain a maximum DMIPS. GD32F307VGT6 can provide up to 1024 KB on-chip Flash memory, 96 KB SRAM memory, lots of peripherals and interfaces. An extensive range of enhanced I/Os and peripherals were connected to MCU’s two APB buses. The GD32F307VG-mbed also include Arduino interface which compatible with Arduino device.
- GD32F307VGT6 in LQFP100 package
- ARM® Cortex™-M4 CPU with FPU and MPU
- 120 MHz max CPU frequency
- Memory and memory expansion
- 1024 Kbytes of Flash memory
- 96 Kbytes of SRAM
- Clock management
- 4 to 16 MHz High Speed crystal oscillator (HXTAL)
- Internal 8 MHz RC oscillator (IRC8M)
- Internal 48 MHz RC oscillator (IRC48M)
- 32,768 Hz Low Speed crystal oscillator (LXTAL)
- Internal 40KHz RC oscillator (IRC40K)
- PLL clock source can be HXTAL, IRC8M, IRC48M
- HXTAL clock monitor
- Clock trim controller
- Reset and supply management
- Three power domains: VBAK, VDD/VDDA and 1.2V power domains
- Three power saving modes: Sleep, Deep-sleep and Standby modes
- VDD, VDDA voltage range: 2.6V to 3.6V
- VBAk supply for RTC and backup registers
- Communication modules
- 80 general purpose I/O pins
- 3x USART modules + 2x UART modules
- 2x I2C modules
- 3x SPI modules
- 2x CAN 2.0B modules
- 2x I2S modules
- USB 2.0 FS
- 2x 16-bit basic timers
- 2x 16-bit advanced timers
- 10x 16-bit general purpose timers
- 2x watchdog timers
- Analog Modules
- 2x 12-bit ADCs with 16 channels
- 2x 12-bit DAC channels
- Security and integrity modules
- Hardware CRC calculation unit
- Embedded flash security
GD32F307VG-mbed board features¶
Following figure indicates the GD32F307VG-mbed board’s signal connections with the main components and extension connectors.
Main Feature Of The Board:¶
- Three User LEDs(LED1, LED2 and LED3)
- Three push buttons(K1, K2 and reset)
- Four modules(I2C, CAN0, CAN1 and SPI) on-board
- Ethernet 10/100 controller with on-board transceiver and RJ45 connector
- USB 2.0 FS with Micro connector
- Arduino interface
- Power-supply options: USB 2.0 FS, DAP_Link USB and Arduino headers
Following figures indicate the GD32F307VG-mbed board’s Pinouts.
Arduino Headers Pinout¶
- GD32F307VGT6’s chip datasheet: http://gd32mcu.21ic.com/data/documents/shujushouce/GD32F307xx_Datasheet_Rev1.2.pdf
- Chip's User manual: http://gd32mcu.21ic.com/data/documents/yingyongbiji/GD32F30x_User_Manual_EN_Rev2.0.pdf
- GD32F307VG-mbed board’s schematic: http://gd32mcu.21ic.com/data/documents/kaifaban/GD32F307VG%20-MBED-V1.0.pdf
- DAPLink bin file: /media/uploads/c_jin/daplink_gd32f303cg.bin
Getting started with GD32F307VG-mbed¶
1. Configure the development environment according to the method provided on the ARM website page.
2. Connect the board and PC with USB cable. Open DOS window, change directory to locally working directory.
3. Import a program from MBED. Change directory to mbed-os-example-blinky and compile the program.
4. The image is in “.\BUILD\GD32_F307VG\ARM\mbed-os-example-blinky.bin”. Save the program binary file to your mbed Microcontroller DISK(DAPLINK). After the Reset Button is pressed, the LED1 would blink.
5. To debug using a desktop IDE such as Keil uVision, use the “mbed export” command to generate project files.
Open the project in Keil uVision, select GD32F307VG as Device. By selecting GD32F307VG as Device, we can compile and debug the mbed program after downloading it into the board.