Build GD32 project with Platformio

Hurray for GCC assembly builtins :slight_smile:. (In Keil it’s seemingly called __asm… you can distuingish the compilers via a define __GNUC__ or __KEIL__ to provide code for both in the same file via #ifdef paths )

Are you sure this doesn’t break your code if you’re running the unupdated version?

Exactly, that would be best for now. You can also push the Keil version in a different branch (or open a new Repo for the PIO version). I’ll do a merge request / issue in platform-ststm32 in the meantime for integration work.

Great to see everything working now :slight_smile:.

1 Like

Just tested. Both work perfectly and identically. Maybe some size differences:
Keil O0:

Program Size: Code=25108 RO-data=3780 RW-data=112 ZI-data=1120  

Keil O3:

Program Size: Code=21400 RO-data=3784 RW-data=112 ZI-data=1120  

Platformio Os:

DATA:    [=         ]   7.8% (used 320 bytes from 4096 bytes)
PROGRAM: [========= ]  93.6% (used 30680 bytes from 32768 bytes)

Platformio O2:

DATA:    [=         ]   7.8% (used 320 bytes from 4096 bytes)
PROGRAM: [==========]  96.2% (used 31536 bytes from 32768 bytes)

with O0 it overflows by 7800 bytes.

Thanks a lot for all the effort! To be honest I was not expecting this quick support. The response time and quality of the support is above my expectation! Well done! :slight_smile:

1 Like