AlexanderMandera / arduino-wch32v003

Arduino Core for CH32V003 RISC-V microcontroller
GNU Lesser General Public License v2.1
151 stars 18 forks source link

PlatformIO support #4

Open maxgerhardt opened 1 year ago

maxgerhardt commented 1 year ago

Adds a builder script and package.json metadata so that we can easily include and work with it in PlatformIO.

Already running nicely in https://github.com/Community-PIO-CH32V/platform-ch32v/tree/develop/examples/blinky-arduino-ch32v003.

grafik

Keeping this as a draft because I see this core as fast changing and I don't wanna have the build options get out of sync quickly.

I also deviate with not using -flto because it actually results in larger binary sizes with the propretiary toolchain. But even so, a lot size optimization potential is still there when looking at the included functions and objects in the map file (Serial) is there even though not used in sketch, IPAddress conversion / print functions, ... :()

AlexanderMandera commented 1 year ago

Hi, thank you for your contribution! This looks very promising.

When ch32v003fun is included as a submodule to get all upstream changes, I will continue to work on the optimizations.

I will definitely take a closer look at LTO, the unused functions and more optimization inside the GPIO code as well.