it depends on how you approach it. most users have a few limited "modes" under which they access GPIO. if you packages those modes into easy-to-use routines / macros, the set-up isn't that big of a deal. aka Arduino-style.Complex GPIO and HAL initialization aren't noob friendly
Cores are the underlying magic that make the Arduino API possible
The most complex to me is Timers initialization, I have been ported Speeduino code to STM32, I have to use up to 16 comparators to make all injectors , coils, VVT, IDLE and others PWM channels working. That is a big deal for me
i think if you look at what you do with timers, the majority of them can be stylized. So rather than doing x y and z, you can simply do A which will do x y and z for you.The most complex to me is Timers initialization
that's basically what modular programming / libraries are all about.
Roger I think you should take this line out of the disadvantages of the official STM core:
And perhaps move it up the least above the makerlabme core since that's not active or very usable. If you agree you can just delete this post.Not available for GD32 boards, because of the usage license on the STM HAL (though may work in practice)