Skip to content

Add a new target for the GigaDevice variant of the BluePill Plus.#40

Merged
devanlai merged 1 commit intodevanlai:masterfrom
keyboardio:jesse/bluepillplus-gd32
Sep 7, 2021
Merged

Add a new target for the GigaDevice variant of the BluePill Plus.#40
devanlai merged 1 commit intodevanlai:masterfrom
keyboardio:jesse/bluepillplus-gd32

Conversation

@obra
Copy link
Copy Markdown
Contributor

@obra obra commented Sep 4, 2021

WeAct ships two variants of this board, one with an STM32F103 and
another with a GD32F303 series chip. The two boards are otherwise
identical.

The GD32F303 series is pin-compatible and register compatible with the
STM32F103, but features a cortex M4, more ram, and more flash.

In this case, the chip included has 48k of RAM and 256k of flash.

The biggest difference is that flash pages are 2k and not 1k.

While it's a little bit gross to be compiling code targeting the Cortex
M3 on an ST chip and using it on an M4 made by somebody else, this was
exactly the use case envisioned by GigaDevice.

I've tested this bootloader on actual hardware and additionally
validated that WebDFU works from
https://devanlai.github.io/webdfu/dfu-util/ to it.

The LED does not light up in the bootloader and I haven't dug into
that, although the pin definition is correctly targeting PB2.

I'm not entirely confident that this device always ships with a 256K GD32F303. (They're also available in larger sizes up to a meg of flash.) Because I don't really grok the high bootloader code and didn't want to muck with the linker scripts, I've opted to skip over the highboot variants for this port.

WeAct ships two variants of this board, one with an STM32F103 and
another with a GD32F303 series chip. The two boards are otherwise
identical.

The GD32F303 series is pin-compatible and register compatible with the
STM32F103, but features a cortex M4, more ram, and more flash.

In this case, the chip included has 48k of RAM and 256k of flash.

The biggest difference is that flash pages are 2k and not 1k.

While it's a little bit gross to be compiling code targeting the Cortex
M3 on an ST chip and using it on an M4 made by somebody else, this was
exactly the use case envisioned by GigaDevice.

I've tested this bootloader on actual hardware and additionally
validated that WebDFU works from
https://devanlai.github.io/webdfu/dfu-util/ to it.

The LED does *not* light up in the bootloader and I haven't dug into
that, although the pin definition is correctly targeting PB2.
@devanlai
Copy link
Copy Markdown
Owner

devanlai commented Sep 7, 2021

This looks fine to me, especially since there's not really any potential for a new target configuration to break any existing targets.

@devanlai devanlai merged commit ffd5464 into devanlai:master Sep 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants