Hurray for GCC assembly builtins . (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.
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!