GD32F1, GD32VF103 why should i bother ?

It's not secret, i rather like the GD32xx chips. They work fine, the doc is ok (not great but ok) and they have a riscv based one that works very well.

So i started writing lnArduino, i.e. running an Arduino style API on the riscv GD32VF103 chip as found on the Longan Nano.

And then i wondered : Why should i care if it is an arm core or a riscv core ?

The peripherals are mostly the same between the GD32F1/F3 and the GD32VF1

So i started adding support for Arm core (only GD32F1, GD32F3, and to some extend STM32F1)

It is surprisingly simple to do, once you get through the base ones (boot, interrupts, freeRTOS) that are nasty.

So for the features that are done, i can build the *same* code on a longan nano and on bluepill with a GD32F1 chip. 

Only one line to change to select the MCU/Architecture in the CMakelist and that's it.


"But i can do that with the Arduino API" you might think

Sure thing, but you dont have the code & drivers written with FreeRTOS available out of the box.

And for a performance point of view, you dont always have DMA support.

 So if you want to do basic things the Arduino API is fine. 

If you want to do more complicated things with  multitasking etc... the lnArduino API is better suited (IMHO).

It's stil very much work in progress though.



Comments

Popular posts from this blog

Component tester with STM32 : Part 1 ADC, Resistor

Fixing the INA3221

INA3221, weird wiring