Skip to content

A Arduino core implementation for some GD32 type chips, at first focusing on GD32F1x0 type chips.

Notifications You must be signed in to change notification settings

maxgerhardt/gd32-arduino-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 

Repository files navigation

THIS REPO IS NOT DEVELOPED FURTHER

SEE NEW ARDUINO CORE DEVELOPMENTS AT https://github.com/CommunityGD32Cores/ArduinoCore-GD32

GD32 Arduino Core

A Arduino core implementation for some GD32 type chips, at first focusing on GD32F1x0 type chips.

Movatition

Why create our own Arduino core?

  • Some GD32 chips are drop-in-replacements of STM32 chips, e.g., the STM32F103 and GD32F103
  • Some GD32 chips are not close enough clones / different chips compared to existing STM32 ones
    • e.g., GD32F170, GD32F190, ...
    • for these, no Arduino core exists of yet (that is publically known). Though luck if you wanted to use Arduino with them.
    • => we can fill a gap here for these chips
  • Still, using the above Arduino STM32 core with some enabled features is strictly speaking legally forbidden, due to the core using STM32 middleware USB libraries here, which has a license stating it may only run on STM32 parts. Running it on GD32 chips violates that.
    • (from https://www.st.com/SLA0044) "This software or any part thereof, including modifications and/or derivative works of this software, must be used and execute solely and exclusively on or in combination with a microcontroller or microprocessor device manufactured by or for STMicroelectronics."
    • => We can make a new Arduino core free of these licensing issues by carefully choosing the included (or non-included / self-written) code

Collaborating

Interested in collaborating? Join our dedicated Discord channel for this at https://discord.gg/59kf4JxsRM.

State of the project

This project is currently in a planing phase with no code written yet.

A custom dev board has been designed to make development uniform / reproducable.

ToDo List (subjecto to change)

  • Hardware Design
    • Design custom PCB for development
    • Submit for manufacturing
    • Get PCBs back
    • Distribute to devs
    • Verify and test PCBs (with e.g. simple SPL firmwares)
  • Software Design
    • Decide on questions that influence the core design, e.g.
      • Depend on / call into SPL framework by GigaDevice, or write own baremetal drivers?
        • flash savings and customizability vs simplicity / development speed
        • also has implications on used licence?
      • PlatformIO integration first, Arduino IDE integration later?
      • Software USB implementation for chips not supporting USB?
      • What exact chips need a custom Arduino core because they are not clones of some STM32 chip (and thus https://github.com/stm32duino/Arduino_Core_STM32 applies)
      • etc. etc.
    • decide on possible project license

Updates / History

31.05.2021:

Initial contact and thoughts about an Arduino core implementation with @kemotz via Email.

02.06.2021:

Creation of the Github project and the discord channel.

10.06.2021:

A custom dev board has been designed and is in production. The repo with the files for it is at https://github.com/kemotz/GD32F1x0-dev-brd.

grafik grafik grafik

About

A Arduino core implementation for some GD32 type chips, at first focusing on GD32F1x0 type chips.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published