tim.vrakas wrote:Is this because of some minor difference in the GD version, which is causing failure?
If that is unlikely, It could be because of the configuration of the chip, it installed in a self-balancing hover board thing, and the board does not appear to have an external Crystal or oscillator, pins 3-6 are all not connected (OSC in and out). I asume the chip uses some kind of internal crystal, does this need to be configured?
No external osc...
The core is not configured to run on the internal osc, so it will hang during the startup code, as it waits (indefinitely for the external osc to start up).
If that board definitely doesnt have an external crystal, you would need to change quite a lot of settings and some code.
You'd need to copy the GD32F103C variant folder and change the startup code in boards.cpp, specifically code in setup_clocks(), and also the PLL multipler in boards_setup.cpp
And probably a load of other stuff, e.g. the delay code (as its just a bunch of nops)
I recall reading something about the stability of the internal RC osc not being that good, and therefore some things may never work, e.g. USB, and possibly serial (but this could just be hearsay )
BTW. Although the GD32F103C core does work, I have found issues with various things, e.g. SPI didn't seem to work with my ILI9341 LCD display, and I never had chance to work out why that was. SPI data seemed to be sent, but the display didnt like what it got.
It could be a issue with SPI mode or perhaps clock timinig etc, but I didn't have time to investigate.