[#32 was on the main branch, this is a separate topic branch -- sorry about that!]
The main motivation of this PR is to never modify GD's sources. The existing firmware library included in the core has a series of modifications from persons unknown made in a scattershot fashion across the source tree, which may have been suitable for GigaDevice's use, since they presumably have their own SCM and can track changes effectively. However, since we need to be able to track local changes versus upstream changes, anything we modify should be done outside of the official firmware library tree.
For the most part, the changes to our Arduino core files should be non-controversial, if clunky. Please look through the individual commits for my notes on them.
With these changes, the basic "Blink" example compiles.
[#32 was on the main branch, this is a separate topic branch -- sorry about that!]
The main motivation of this PR is to never modify GD's sources. The existing firmware library included in the core has a series of modifications from persons unknown made in a scattershot fashion across the source tree, which may have been suitable for GigaDevice's use, since they presumably have their own SCM and can track changes effectively. However, since we need to be able to track local changes versus upstream changes, anything we modify should be done outside of the official firmware library tree.
In addition, as documentation for the USB parts of the library are missing from the version previously in use, the library has been updated to 2.1.2, as pulled from https://github.com/CommunityGD32Cores/gigadevice-firmware-and-docs/tree/main/GD32F30x/GD32F30x_Firmware_Library_V2.1.2 so that existing demo code may be referenced when creating the USB layer for Arduino and Platformio.
For the most part, the changes to our Arduino core files should be non-controversial, if clunky. Please look through the individual commits for my notes on them.
With these changes, the basic "Blink" example compiles.