STM32F103C8 V/S GD32VF103Cx¶
These two MCU’s have totally different CORES, yet many of the PERIPHERALS are identical and both have Mecrisp Forth support, so this is a comparison page.
Note re GD32VF103Cx conditional branch range¶
Just a small correction: you mention that the conditional branches range is +/-2048 bytes, which is not exact. Since instructions can only be
aligned to 4 bytes, or 2 bytes for compressed instructions, the 12-bit offset actually encodes an offset that is in multiples of 2 bytes, which
is clever, so the range is +/-4096 bytes.
Mecrisp Support¶
MCU |
Mecrisp Variant |
Status |
Tarball URL |
---|---|---|---|
STM32F103C8 |
Mecrisp-Stellaris |
Stable |
https://sourceforge.net/projects/mecrisp/files/mecrisp-stellaris-2.5.2.tar.gz/download |
GD32VF103Cx |
Mecrisp-Quintus |
Experimental |
https://sourceforge.net/projects/mecrisp/files/mecrisp-quintus-0.26-experimental.tar.gz/download |
Note
Mecrisp-Quintus for the GD32VF103Cx is still experimental because the INTERRUPT support is not finalised.
Specifications¶
Parameter |
STM32F103C8 |
GD32VF103Cx |
---|---|---|
Architecture |
32-bit ARM Cortex M3 |
32 bit RISC-V |
Operating Voltage |
2.7V to 3.6V |
2.6v to 3.6V |
CPU Frequency |
72 MHz |
108 MHz |
Number of GPIO pins |
37 |
37 ? |
Number of PWM pins |
12 |
? |
Analog input Pins |
10 (12-bit) |
? |
ADC |
1 |
2 |
DAC |
0 |
1 |
SDIO |
1 |
0 |
USART |
3 |
3 |
UART |
0 |
2 |
I2C |
2 |
2 |
SPI |
2 |
3 |
Can 2.0 |
1 |
2 |
Timers |
4 |
7 |
Flash Memory |
64kB stated, usually 128kB |
128kB |
RAM |
20kB |
32kB |
Peripherals |
33 |
46 |
Registers |
466 |
1074 |
Bitfields |
3503 |
7713 |
Peripherals¶
STM32F103C8 |
STM32F103C8 Peripheral |
GD32VF103Cx |
GD32VF103Cx Peripheral |
---|---|---|---|
. |
ADC0 |
||
ADC1 |
ADC1 |
||
AFIO |
Alternate function I/O |
AFIO |
|
BKP |
Backup registers |
BKP |
|
CAN |
CAN0 |
||
. |
CAN1 |
||
CRC |
CRC |
||
. |
DAC |
12 bit digital to analog converter |
|
DBG |
Debug support |
DBG |
|
DMA1 |
DMA0 |
||
DMA2 |
DMA1 |
||
. |
EXMC |
External memory controller (EXMC) |
|
EXTI |
External interrupt/event controller |
EXTI |
External interrupt/event controller |
FLASH |
FMC |
Flash memory controller (FMC) |
|
GPIOA |
GPIOA |
||
GPIOB |
GPIOB |
||
GPIOC |
GPIOC |
||
GPIOD |
GPIOD |
||
I2C1 |
I2C0 |
||
I2C2 |
I2C1 |
||
IWDG |
Independent watchdog |
FWDGT |
Free watchdog timer (FWDGT) |
NVIC |
Nested Vectored Interrupt Controller |
ECLIC |
Enhancement Core.Local Interrupt Controller (ECLIC) |
PWR |
Power control |
PMU |
Power management unit (PMU |
RCC |
Reset and clock control |
RCU |
Reset and clock unit (RCU |
RTC |
Real time clock |
RTC |
|
SDIO |
Secure digital input/output interface |
. |
|
. |
SPI0 |
||
SPI1 |
SPI1 |
||
SPI2 |
SPI2 |
||
TIM1 |
Advanced timer |
TIMER0 |
Advanced-timers |
TIM2 |
General purpose timer |
TIMER1 |
General-purpose-timers |
TIM3 |
General purpose timer |
TIMER2 |
General-purpose-timers |
TIM4 |
General purpose timer |
TIMER3 |
General-purpose-timers |
. |
TIMER4 |
General-purpose-timers |
|
. |
TIMER5 |
Basic-timers |
|
. |
TIMER6 |
Basic-timers |
|
USART1 |
Universal synchronous asynchronous receiver transmitter |
USART0 |
Universal synchronous asynchronous receiver transmitter |
USART2 |
USART1 |
||
USART3 |
USART2 |
||
. |
UART3 |
Universal asynchronous receiver transmitter |
|
. |
UART4 |
||
USB |
Universal serial bus full-speed device |
USBFS_DEVICE |
USB on the go full speed device |
. |
USBFS_GLOBAL |
USB full speed global registers |
|
. |
USBFS_HOST |
USB on the go full speed host |
|
. |
USBFS_PWRCLK |
USB on the go full speed power and clock gating control |
|
WWDG |
Window watchdog |
WWDGT |
Window watchdog timer |
ISA Comparisons¶
Description |
RISC-V |
Thumb |
---|---|---|
Conditional branches |
|
signed 8-bit (-256 to +256 bytes) |
Register Load-Store Immediate |
A base register Rn plus a 5-bit immediate |
|
Peripherals reset to default |
? |
SYSRESETREQ |
RISC-V Conditional branch workaround: invert the sense of the test and conditionally branch over an unconditional branch with more offset bits.
Premade Boards¶
See also
RISC-V¶
Sipeed Longan Nano¶
RISC-V GD32VF103CBT6 Development Board
https://www.seeedstudio.com/Sipeed-Longan-Nano-RISC-V-GD32VF103CBT6-Development-Board-p-4205.html $4.90 USD
Wio Lite RISC-V (GD32VF103) - With ESP8266¶
Wio Lite RISC-V is a feather form factor RISC-V development board Based on GD32VF103, with the onboard ESP8266 Wio Core, it also features WiFi function.
https://www.seeedstudio.com/Wio-Lite-RISC-V-GD32VF103-p-4293.html $6.90 USD
Polos GD32V Alef¶
Polos GD32VF103 Alef Board – RISC-V MCU Board with 128KB Flash 32KB RAM
https://www.analoglamb.com/product/polos-gd32v-alef-board-risc-v-mcu-board/ $2.99 USD
STM32F103C8¶
Blue Pill¶
Available everywhere on the Internet around $2USD
See also
See also