Compare commits
6 commits
main
...
add-tinyus
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8afd736da0 | ||
|
|
cc8cf1eff3 | ||
|
|
b4ea44cad5 | ||
|
|
fe7a294719 | ||
|
|
86f2bfd429 | ||
|
|
f10fa7589d |
7 changed files with 427 additions and 93 deletions
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
[submodule "libraries/Adafruit_TinyUSB_Arduino"]
|
||||
path = libraries/Adafruit_TinyUSB_Arduino
|
||||
url = https://github.com/adafruit/Adafruit_TinyUSB_Arduino.git
|
||||
201
boards.txt
201
boards.txt
|
|
@ -14,8 +14,8 @@ menu.upload_method=Upload method
|
|||
|
||||
|
||||
|
||||
#############################################################################
|
||||
##CH32V00x EVT Board
|
||||
##############################################################################
|
||||
##CH32V00x_EVT Board
|
||||
|
||||
CH32V00x_EVT.name=CH32V00x
|
||||
CH32V00x_EVT.build.core=arduino
|
||||
|
|
@ -38,7 +38,7 @@ CH32V00x_EVT.menu.pnum.CH32V003F4.build.variant=CH32V00x/CH32V003F4
|
|||
CH32V00x_EVT.menu.pnum.CH32V003F4.build.chip=CH32V003F4
|
||||
CH32V00x_EVT.menu.pnum.CH32V003F4.build.march=rv32ecxw
|
||||
CH32V00x_EVT.menu.pnum.CH32V003F4.build.mabi=ilp32e
|
||||
CH32V00x_EVT.menu.pnum.CH32V003F4.build.math_lib_gcc=-lm
|
||||
CH32V00x_EVT.menu.pnum.CH32V003F4.build.math_lib_gcc=-lm
|
||||
CH32V00x_EVT.menu.pnum.CH32V003F4.build.IQ_math_RV32=
|
||||
CH32V00x_EVT.menu.pnum.CH32V003F4.build.ch_extra_lib=-lprintf
|
||||
|
||||
|
|
@ -50,9 +50,24 @@ CH32V00x_EVT.menu.upload_method.swdMethod.upload.options=
|
|||
CH32V00x_EVT.menu.upload_method.swdMethod.upload.tool=WCH_linkE
|
||||
|
||||
|
||||
# Clock Select
|
||||
CH32V00x_EVT.menu.clock.48MHz_HSI=48MHz Internal
|
||||
CH32V00x_EVT.menu.clock.48MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_48MHz_HSI=48000000
|
||||
CH32V00x_EVT.menu.clock.24MHz_HSI=24MHz Internal
|
||||
CH32V00x_EVT.menu.clock.24MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_24MHz_HSI=24000000
|
||||
CH32V00x_EVT.menu.clock.8MHz_HSI=8MHz Internal
|
||||
CH32V00x_EVT.menu.clock.8MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_8MHz_HSI=8000000
|
||||
CH32V00x_EVT.menu.clock.48MHz_HSE=48MHz External
|
||||
CH32V00x_EVT.menu.clock.48MHz_HSE.build.flags.clock=-DSYSCLK_FREQ_48MHz_HSE=48000000
|
||||
CH32V00x_EVT.menu.clock.24MHz_HSE=24MHz External
|
||||
CH32V00x_EVT.menu.clock.24MHz_HSE.build.flags.clock=-DSYSCLK_FREQ_24MHz_HSE=24000000
|
||||
CH32V00x_EVT.menu.clock.8MHz_HSE=8MHz External
|
||||
CH32V00x_EVT.menu.clock.8MHz_HSE.build.flags.clock=-DSYSCLK_FREQ_8MHz_HSE=8000000
|
||||
|
||||
|
||||
# Optimizations
|
||||
CH32V00x_EVT.menu.opt.osstd=Smallest (-Os default)
|
||||
CH32V00x_EVT.menu.opt.osstd.build.flags.optimize=-Os
|
||||
CH32V00x_EVT.menu.opt.osstd.build.flags.optimize=-Os
|
||||
CH32V00x_EVT.menu.opt.oslto=Smallest (-Os) with LTO
|
||||
CH32V00x_EVT.menu.opt.oslto.build.flags.optimize=-Os -flto
|
||||
CH32V00x_EVT.menu.opt.o1std=Fast (-O1)
|
||||
|
|
@ -72,23 +87,10 @@ CH32V00x_EVT.menu.opt.ogstd.build.flags.optimize=-Og
|
|||
CH32V00x_EVT.menu.opt.o0std=No Optimization (-O0)
|
||||
CH32V00x_EVT.menu.opt.o0std.build.flags.optimize=-O0
|
||||
|
||||
# Clock Select
|
||||
CH32V00x_EVT.menu.clock.48MHz_HSI=48MHz Internal
|
||||
CH32V00x_EVT.menu.clock.48MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_48MHz_HSI=48000000
|
||||
CH32V00x_EVT.menu.clock.24MHz_HSI=24MHz Internal
|
||||
CH32V00x_EVT.menu.clock.24MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_24MHz_HSI=24000000
|
||||
CH32V00x_EVT.menu.clock.8MHz_HSI=8MHz Internal
|
||||
CH32V00x_EVT.menu.clock.8MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_8MHz_HSI=8000000
|
||||
CH32V00x_EVT.menu.clock.48MHz_HSE=48MHz External
|
||||
CH32V00x_EVT.menu.clock.48MHz_HSE.build.flags.clock=-DSYSCLK_FREQ_48MHz_HSE=48000000
|
||||
CH32V00x_EVT.menu.clock.24MHz_HSE=24MHz External
|
||||
CH32V00x_EVT.menu.clock.24MHz_HSE.build.flags.clock=-DSYSCLK_FREQ_24MHz_HSE=24000000
|
||||
CH32V00x_EVT.menu.clock.8MHz_HSE=8MHz External
|
||||
CH32V00x_EVT.menu.clock.8MHz_HSE.build.flags.clock=-DSYSCLK_FREQ_8MHz_HSE=8000000
|
||||
|
||||
# Debug information
|
||||
CH32V00x_EVT.menu.dbg.none=None
|
||||
CH32V00x_EVT.menu.dbg.none.build.flags.debug=-DNDEBUG
|
||||
CH32V00x_EVT.menu.dbg.none.build.flags.debug=-DNDEBUG
|
||||
CH32V00x_EVT.menu.dbg.enable_sym=Symbols Enabled (-g)
|
||||
CH32V00x_EVT.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
|
||||
CH32V00x_EVT.menu.dbg.enable_log=Core logs Enabled
|
||||
|
|
@ -111,8 +113,9 @@ CH32V00x_EVT.menu.rtlib.full.build.flags.ldflags=--specs=nosys.specs
|
|||
|
||||
|
||||
|
||||
#############################################################################
|
||||
##CH32V/M00X EVT Board including V/M 002 004 005 006 007
|
||||
|
||||
##############################################################################
|
||||
##CH32VM00X_EVT Board including V/M 002 004 005 006 007
|
||||
|
||||
CH32VM00X_EVT.name=CH32VM00X
|
||||
CH32VM00X_EVT.build.core=arduino
|
||||
|
|
@ -123,8 +126,7 @@ CH32VM00X_EVT.build.variant_h=variant_{build.board}.h
|
|||
CH32VM00X_EVT.debug.tool=gdb-WCH_LinkE
|
||||
|
||||
|
||||
#CH32V006K8 EVT Board 62KB-FLASH 8KB-SRAM rv32ec_zmmul_xw
|
||||
#Temporary compilation using the compilation parameters of 003
|
||||
#CH32V006K8 EVT Board
|
||||
CH32VM00X_EVT.menu.pnum.CH32V006K8=CH32V006K8 EVT
|
||||
CH32VM00X_EVT.menu.pnum.CH32V006K8.node=NODE_V006K8
|
||||
CH32VM00X_EVT.menu.pnum.CH32V006K8.upload.maximum_size=63488
|
||||
|
|
@ -136,7 +138,7 @@ CH32VM00X_EVT.menu.pnum.CH32V006K8.build.variant=CH32VM00X/CH32V006K8
|
|||
CH32VM00X_EVT.menu.pnum.CH32V006K8.build.chip=CH32V006K8
|
||||
CH32VM00X_EVT.menu.pnum.CH32V006K8.build.march=rv32ecxw
|
||||
CH32VM00X_EVT.menu.pnum.CH32V006K8.build.mabi=ilp32e
|
||||
CH32VM00X_EVT.menu.pnum.CH32V006K8.build.math_lib_gcc=-lm
|
||||
CH32VM00X_EVT.menu.pnum.CH32V006K8.build.math_lib_gcc=-lm
|
||||
CH32VM00X_EVT.menu.pnum.CH32V006K8.build.IQ_math_RV32=
|
||||
CH32VM00X_EVT.menu.pnum.CH32V006K8.build.ch_extra_lib=-lprintf
|
||||
|
||||
|
|
@ -148,7 +150,7 @@ CH32VM00X_EVT.menu.upload_method.swdMethod.upload.options=
|
|||
CH32VM00X_EVT.menu.upload_method.swdMethod.upload.tool=WCH_linkE
|
||||
|
||||
|
||||
# Clock Select
|
||||
# Clock Select
|
||||
CH32VM00X_EVT.menu.clock.48MHz_HSI=48MHz Internal
|
||||
CH32VM00X_EVT.menu.clock.48MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_48MHz_HSI=48000000
|
||||
CH32VM00X_EVT.menu.clock.24MHz_HSI=24MHz Internal
|
||||
|
|
@ -165,7 +167,7 @@ CH32VM00X_EVT.menu.clock.8MHz_HSE.build.flags.clock=-DSYSCLK_FREQ_8MHz_HSE=80000
|
|||
|
||||
# Optimizations
|
||||
CH32VM00X_EVT.menu.opt.osstd=Smallest (-Os default)
|
||||
CH32VM00X_EVT.menu.opt.osstd.build.flags.optimize=-Os
|
||||
CH32VM00X_EVT.menu.opt.osstd.build.flags.optimize=-Os
|
||||
CH32VM00X_EVT.menu.opt.oslto=Smallest (-Os) with LTO
|
||||
CH32VM00X_EVT.menu.opt.oslto.build.flags.optimize=-Os -flto
|
||||
CH32VM00X_EVT.menu.opt.o1std=Fast (-O1)
|
||||
|
|
@ -188,7 +190,7 @@ CH32VM00X_EVT.menu.opt.o0std.build.flags.optimize=-O0
|
|||
|
||||
# Debug information
|
||||
CH32VM00X_EVT.menu.dbg.none=None
|
||||
CH32VM00X_EVT.menu.dbg.none.build.flags.debug=-DNDEBUG
|
||||
CH32VM00X_EVT.menu.dbg.none.build.flags.debug=-DNDEBUG
|
||||
CH32VM00X_EVT.menu.dbg.enable_sym=Symbols Enabled (-g)
|
||||
CH32VM00X_EVT.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
|
||||
CH32VM00X_EVT.menu.dbg.enable_log=Core logs Enabled
|
||||
|
|
@ -210,8 +212,10 @@ CH32VM00X_EVT.menu.rtlib.full=Newlib Standard
|
|||
CH32VM00X_EVT.menu.rtlib.full.build.flags.ldflags=--specs=nosys.specs
|
||||
|
||||
|
||||
#############################################################################
|
||||
##CH32X035 EVT Board
|
||||
|
||||
|
||||
##############################################################################
|
||||
##CH32X035_EVT Board
|
||||
|
||||
CH32X035_EVT.name=CH32X035
|
||||
CH32X035_EVT.build.core=arduino
|
||||
|
|
@ -221,9 +225,10 @@ CH32X035_EVT.upload.maximum_data_size=0
|
|||
CH32X035_EVT.build.variant_h=variant_{build.board}.h
|
||||
CH32X035_EVT.debug.tool=gdb-WCH_LinkE
|
||||
|
||||
#CH32X035 EVT Board
|
||||
|
||||
#CH32X035G8U EVT Board
|
||||
CH32X035_EVT.menu.pnum.CH32X035G8U=CH32X035G8U EVT
|
||||
CH32X035_EVT.menu.pnum.CH32X035G8U.node=NODE_X035G8
|
||||
CH32X035_EVT.menu.pnum.CH32X035G8U.node=NODE_X035G8U
|
||||
CH32X035_EVT.menu.pnum.CH32X035G8U.upload.maximum_size=63488
|
||||
CH32X035_EVT.menu.pnum.CH32X035G8U.upload.maximum_data_size=20480
|
||||
CH32X035_EVT.menu.pnum.CH32X035G8U.build.mcu=QingKe-V4C
|
||||
|
|
@ -233,7 +238,7 @@ CH32X035_EVT.menu.pnum.CH32X035G8U.build.variant=CH32X035/CH32X035G8U
|
|||
CH32X035_EVT.menu.pnum.CH32X035G8U.build.chip=CH32X035G8U
|
||||
CH32X035_EVT.menu.pnum.CH32X035G8U.build.march=rv32imacxw
|
||||
CH32X035_EVT.menu.pnum.CH32X035G8U.build.mabi=ilp32
|
||||
CH32X035_EVT.menu.pnum.CH32X035G8U.build.math_lib_gcc=-lm
|
||||
CH32X035_EVT.menu.pnum.CH32X035G8U.build.math_lib_gcc=-lm
|
||||
CH32X035_EVT.menu.pnum.CH32X035G8U.build.IQ_math_RV32=
|
||||
CH32X035_EVT.menu.pnum.CH32X035G8U.build.ch_extra_lib=-lprintf
|
||||
|
||||
|
|
@ -244,22 +249,23 @@ CH32X035_EVT.menu.upload_method.swdMethod.upload.protocol=
|
|||
CH32X035_EVT.menu.upload_method.swdMethod.upload.options=
|
||||
CH32X035_EVT.menu.upload_method.swdMethod.upload.tool=WCH_linkE
|
||||
|
||||
# Clock Select
|
||||
|
||||
# Clock Select
|
||||
CH32X035_EVT.menu.clock.48MHz_HSI=48MHz Internal
|
||||
CH32X035_EVT.menu.clock.48MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_48MHz_HSI=48000000
|
||||
CH32X035_EVT.menu.clock.24MHz_HSI=24MHz Internal
|
||||
CH32X035_EVT.menu.clock.24MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_24MHz_HSI=24000000
|
||||
CH32X035_EVT.menu.clock.24MHz_HSI=16MHz Internal
|
||||
CH32X035_EVT.menu.clock.24MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_16MHz_HSI=16000000
|
||||
CH32X035_EVT.menu.clock.24MHz_HSI=12MHz Internal
|
||||
CH32X035_EVT.menu.clock.24MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_12MHz_HSI=12000000
|
||||
CH32X035_EVT.menu.clock.16MHz_HSI=16MHz Internal
|
||||
CH32X035_EVT.menu.clock.16MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_16MHz_HSI=16000000
|
||||
CH32X035_EVT.menu.clock.12MHz_HSI=12MHz Internal
|
||||
CH32X035_EVT.menu.clock.12MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_12MHz_HSI=12000000
|
||||
CH32X035_EVT.menu.clock.8MHz_HSI=8MHz Internal
|
||||
CH32X035_EVT.menu.clock.8MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_8MHz_HSI=8000000
|
||||
|
||||
|
||||
# Optimizations
|
||||
CH32X035_EVT.menu.opt.osstd=Smallest (-Os default)
|
||||
CH32X035_EVT.menu.opt.osstd.build.flags.optimize=-Os
|
||||
CH32X035_EVT.menu.opt.osstd.build.flags.optimize=-Os
|
||||
CH32X035_EVT.menu.opt.oslto=Smallest (-Os) with LTO
|
||||
CH32X035_EVT.menu.opt.oslto.build.flags.optimize=-Os -flto
|
||||
CH32X035_EVT.menu.opt.o1std=Fast (-O1)
|
||||
|
|
@ -282,7 +288,7 @@ CH32X035_EVT.menu.opt.o0std.build.flags.optimize=-O0
|
|||
|
||||
# Debug information
|
||||
CH32X035_EVT.menu.dbg.none=None
|
||||
CH32X035_EVT.menu.dbg.none.build.flags.debug=-DNDEBUG
|
||||
CH32X035_EVT.menu.dbg.none.build.flags.debug=-DNDEBUG
|
||||
CH32X035_EVT.menu.dbg.enable_sym=Symbols Enabled (-g)
|
||||
CH32X035_EVT.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
|
||||
CH32X035_EVT.menu.dbg.enable_log=Core logs Enabled
|
||||
|
|
@ -305,8 +311,9 @@ CH32X035_EVT.menu.rtlib.full.build.flags.ldflags=--specs=nosys.specs
|
|||
|
||||
|
||||
|
||||
#############################################################################
|
||||
##CH32V10x EVT Board -lprintf
|
||||
|
||||
##############################################################################
|
||||
##CH32V10x_EVT Board -lprintf, CH32V10x_3V3: 3.3V power supply CH32V10x_5V: 5V power supply
|
||||
|
||||
CH32V10x_EVT.name=CH32V10x
|
||||
CH32V10x_EVT.build.core=arduino
|
||||
|
|
@ -316,7 +323,8 @@ CH32V10x_EVT.upload.maximum_data_size=0
|
|||
CH32V10x_EVT.build.variant_h=variant_{build.board}.h
|
||||
CH32V10x_EVT.debug.tool=gdb-WCH_LinkE
|
||||
|
||||
#CH32V103R8T6 EVT Board CH32V10x_3V3: 3.3V power supply CH32V10x_5V: 5V power supply
|
||||
|
||||
#CH32V103R8T6 EVT Board
|
||||
CH32V10x_EVT.menu.pnum.CH32V103R8T6=CH32V103R8T6 EVT
|
||||
CH32V10x_EVT.menu.pnum.CH32V103R8T6.node=NODE_V103R8T6
|
||||
CH32V10x_EVT.menu.pnum.CH32V103R8T6.upload.maximum_size=65536
|
||||
|
|
@ -328,9 +336,9 @@ CH32V10x_EVT.menu.pnum.CH32V103R8T6.build.variant=CH32V10x/CH32V103R8T6
|
|||
CH32V10x_EVT.menu.pnum.CH32V103R8T6.build.chip=CH32V10x_3V3
|
||||
CH32V10x_EVT.menu.pnum.CH32V103R8T6.build.march=rv32imac
|
||||
CH32V10x_EVT.menu.pnum.CH32V103R8T6.build.mabi=ilp32
|
||||
CH32V10x_EVT.menu.pnum.CH32V103R8T6.build.math_lib_gcc=-lm
|
||||
CH32V10x_EVT.menu.pnum.CH32V103R8T6.build.math_lib_gcc=-lm
|
||||
CH32V10x_EVT.menu.pnum.CH32V103R8T6.build.IQ_math_RV32=
|
||||
CH32V10x_EVT.menu.pnum.CH32V103R8T6.build.ch_extra_lib=-lprintf
|
||||
CH32V10x_EVT.menu.pnum.CH32V103R8T6.build.ch_extra_lib=-lprintf
|
||||
|
||||
|
||||
# Upload menu
|
||||
|
|
@ -339,7 +347,8 @@ CH32V10x_EVT.menu.upload_method.swdMethod.upload.protocol=
|
|||
CH32V10x_EVT.menu.upload_method.swdMethod.upload.options=
|
||||
CH32V10x_EVT.menu.upload_method.swdMethod.upload.tool=WCH_linkE
|
||||
|
||||
# Clock Select
|
||||
|
||||
# Clock Select
|
||||
CH32V10x_EVT.menu.clock.72MHz_HSI=72MHz Internal
|
||||
CH32V10x_EVT.menu.clock.72MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_72MHz_HSI=72000000
|
||||
CH32V10x_EVT.menu.clock.56MHz_HSI=56MHz Internal
|
||||
|
|
@ -347,7 +356,7 @@ CH32V10x_EVT.menu.clock.56MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_56MHz_HSI=5600
|
|||
CH32V10x_EVT.menu.clock.48MHz_HSI=48MHz Internal
|
||||
CH32V10x_EVT.menu.clock.48MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_48MHz_HSI=48000000
|
||||
CH32V10x_EVT.menu.clock.8MHz_HSI=8MHz Internal
|
||||
CH32V10x_EVT.menu.clock.8MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_HSI=8000000
|
||||
CH32V10x_EVT.menu.clock.8MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_8MHz_HSI=8000000
|
||||
CH32V10x_EVT.menu.clock.72MHz_HSE=72MHz External
|
||||
CH32V10x_EVT.menu.clock.72MHz_HSE.build.flags.clock=-DSYSCLK_FREQ_72MHz_HSE=72000000
|
||||
CH32V10x_EVT.menu.clock.56MHz_HSE=56MHz External
|
||||
|
|
@ -355,12 +364,12 @@ CH32V10x_EVT.menu.clock.56MHz_HSE.build.flags.clock=-DSYSCLK_FREQ_56MHz_HSE=5600
|
|||
CH32V10x_EVT.menu.clock.48MHz_HSE=48MHz External
|
||||
CH32V10x_EVT.menu.clock.48MHz_HSE.build.flags.clock=-DSYSCLK_FREQ_48MHz_HSE=48000000
|
||||
CH32V10x_EVT.menu.clock.8MHz_HSE=8MHz External
|
||||
CH32V10x_EVT.menu.clock.8MHz_HSE.build.flags.clock=-DSYSCLK_FREQ_HSE=8000000
|
||||
CH32V10x_EVT.menu.clock.8MHz_HSE.build.flags.clock=-DSYSCLK_FREQ_8MHz_HSE=8000000
|
||||
|
||||
|
||||
# Optimizations
|
||||
CH32V10x_EVT.menu.opt.osstd=Smallest (-Os default)
|
||||
CH32V10x_EVT.menu.opt.osstd.build.flags.optimize=-Os
|
||||
CH32V10x_EVT.menu.opt.osstd.build.flags.optimize=-Os
|
||||
CH32V10x_EVT.menu.opt.oslto=Smallest (-Os) with LTO
|
||||
CH32V10x_EVT.menu.opt.oslto.build.flags.optimize=-Os -flto
|
||||
CH32V10x_EVT.menu.opt.o1std=Fast (-O1)
|
||||
|
|
@ -383,7 +392,7 @@ CH32V10x_EVT.menu.opt.o0std.build.flags.optimize=-O0
|
|||
|
||||
# Debug information
|
||||
CH32V10x_EVT.menu.dbg.none=None
|
||||
CH32V10x_EVT.menu.dbg.none.build.flags.debug=-DNDEBUG
|
||||
CH32V10x_EVT.menu.dbg.none.build.flags.debug=-DNDEBUG
|
||||
CH32V10x_EVT.menu.dbg.enable_sym=Symbols Enabled (-g)
|
||||
CH32V10x_EVT.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
|
||||
CH32V10x_EVT.menu.dbg.enable_log=Core logs Enabled
|
||||
|
|
@ -407,10 +416,8 @@ CH32V10x_EVT.menu.rtlib.full.build.flags.ldflags=--specs=nosys.specs
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
#############################################################################
|
||||
##CH32V20x EVT Board
|
||||
##############################################################################
|
||||
##CH32V20x_EVT Board
|
||||
|
||||
CH32V20x_EVT.name=CH32V20x
|
||||
CH32V20x_EVT.build.core=arduino
|
||||
|
|
@ -420,6 +427,7 @@ CH32V20x_EVT.upload.maximum_data_size=0
|
|||
CH32V20x_EVT.build.variant_h=variant_{build.board}.h
|
||||
CH32V20x_EVT.debug.tool=gdb-WCH_LinkE
|
||||
|
||||
|
||||
#CH32V203RB EVT Board
|
||||
CH32V20x_EVT.menu.pnum.CH32V203RB=CH32V203RB EVT
|
||||
CH32V20x_EVT.menu.pnum.CH32V203RB.node=NODE_V203RB
|
||||
|
|
@ -436,8 +444,6 @@ CH32V20x_EVT.menu.pnum.CH32V203RB.build.math_lib_gcc=-lm
|
|||
CH32V20x_EVT.menu.pnum.CH32V203RB.build.IQ_math_RV32=
|
||||
CH32V20x_EVT.menu.pnum.CH32V203RB.build.ch_extra_lib=-lprintf
|
||||
|
||||
|
||||
|
||||
#CH32V203G8 EVT Board
|
||||
CH32V20x_EVT.menu.pnum.CH32V203G8=CH32V203G8 EVT
|
||||
CH32V20x_EVT.menu.pnum.CH32V203G8.node=NODE_V203G8
|
||||
|
|
@ -450,13 +456,11 @@ CH32V20x_EVT.menu.pnum.CH32V203G8.build.variant=CH32V20x/CH32V203G8
|
|||
CH32V20x_EVT.menu.pnum.CH32V203G8.build.chip=CH32V203
|
||||
CH32V20x_EVT.menu.pnum.CH32V203G8.build.march=rv32imacxw
|
||||
CH32V20x_EVT.menu.pnum.CH32V203G8.build.mabi=ilp32
|
||||
CH32V20x_EVT.menu.pnum.CH32V203G8.build.math_lib_gcc=-lm
|
||||
CH32V20x_EVT.menu.pnum.CH32V203G8.build.math_lib_gcc=-lm
|
||||
CH32V20x_EVT.menu.pnum.CH32V203G8.build.IQ_math_RV32=
|
||||
CH32V20x_EVT.menu.pnum.CH32V203G8.build.ch_extra_lib=-lprintf
|
||||
|
||||
|
||||
|
||||
#Generic CH32V203C8 Board
|
||||
#CH32V203C8 Board
|
||||
CH32V20x_EVT.menu.pnum.CH32V203C8=CH32V203C8
|
||||
CH32V20x_EVT.menu.pnum.CH32V203C8.node=NODE_V203C8
|
||||
CH32V20x_EVT.menu.pnum.CH32V203C8.upload.maximum_size=65536
|
||||
|
|
@ -468,12 +472,11 @@ CH32V20x_EVT.menu.pnum.CH32V203C8.build.variant=CH32V20x/CH32V203C8
|
|||
CH32V20x_EVT.menu.pnum.CH32V203C8.build.chip=CH32V203
|
||||
CH32V20x_EVT.menu.pnum.CH32V203C8.build.march=rv32imacxw
|
||||
CH32V20x_EVT.menu.pnum.CH32V203C8.build.mabi=ilp32
|
||||
CH32V20x_EVT.menu.pnum.CH32V203C8.build.math_lib_gcc=-lm
|
||||
CH32V20x_EVT.menu.pnum.CH32V203C8.build.math_lib_gcc=-lm
|
||||
CH32V20x_EVT.menu.pnum.CH32V203C8.build.IQ_math_RV32=
|
||||
CH32V20x_EVT.menu.pnum.CH32V203C8.build.ch_extra_lib=-lprintf
|
||||
|
||||
|
||||
#Generic CH32V203C6 Board
|
||||
#CH32V203C6 Board
|
||||
CH32V20x_EVT.menu.pnum.CH32V203C6=CH32V203C6
|
||||
CH32V20x_EVT.menu.pnum.CH32V203C6.node=NODE_V203C6
|
||||
CH32V20x_EVT.menu.pnum.CH32V203C6.upload.maximum_size=32768
|
||||
|
|
@ -485,11 +488,18 @@ CH32V20x_EVT.menu.pnum.CH32V203C6.build.variant=CH32V20x/CH32V203C6
|
|||
CH32V20x_EVT.menu.pnum.CH32V203C6.build.chip=CH32V203
|
||||
CH32V20x_EVT.menu.pnum.CH32V203C6.build.march=rv32imacxw
|
||||
CH32V20x_EVT.menu.pnum.CH32V203C6.build.mabi=ilp32
|
||||
CH32V20x_EVT.menu.pnum.CH32V203C6.build.math_lib_gcc=-lm
|
||||
CH32V20x_EVT.menu.pnum.CH32V203C6.build.math_lib_gcc=-lm
|
||||
CH32V20x_EVT.menu.pnum.CH32V203C6.build.IQ_math_RV32=
|
||||
CH32V20x_EVT.menu.pnum.CH32V203C6.build.ch_extra_lib=-lprintf
|
||||
|
||||
|
||||
# USB support
|
||||
CH32V20x_EVT.menu.usb.none=None
|
||||
CH32V20x_EVT.menu.usb.none.build.usb_flags=
|
||||
CH32V20x_EVT.menu.usb.tinyusb_usbd=Adafruit TinyUSB with USBD
|
||||
CH32V20x_EVT.menu.usb.tinyusb_usbd.build.usb_flags=-DUSBCON -DUSE_TINYUSB -DCFG_TUD_WCH_USBIP_FSDEV=1 "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
|
||||
CH32V20x_EVT.menu.usb.tinyusb_usbfs=Adafruit TinyUSB with USBFS
|
||||
CH32V20x_EVT.menu.usb.tinyusb_usbfs.build.usb_flags=-DUSBCON -DUSE_TINYUSB -DCFG_TUD_WCH_USBIP_USBFS=1 "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
|
||||
|
||||
# Upload menu
|
||||
CH32V20x_EVT.menu.upload_method.swdMethod=WCH-SWD
|
||||
|
|
@ -498,7 +508,7 @@ CH32V20x_EVT.menu.upload_method.swdMethod.upload.options=
|
|||
CH32V20x_EVT.menu.upload_method.swdMethod.upload.tool=WCH_linkE
|
||||
|
||||
|
||||
# Clock Select
|
||||
# Clock Select
|
||||
CH32V20x_EVT.menu.clock.144MHz_HSI=144MHz Internal
|
||||
CH32V20x_EVT.menu.clock.144MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_144MHz_HSI=144000000
|
||||
CH32V20x_EVT.menu.clock.120MHz_HSI=120MHz Internal
|
||||
|
|
@ -531,7 +541,7 @@ CH32V20x_EVT.menu.clock.HSE.build.flags.clock=-DSYSCLK_FREQ_HSE=HSE_VALUE
|
|||
|
||||
# Optimizations
|
||||
CH32V20x_EVT.menu.opt.osstd=Smallest (-Os default)
|
||||
CH32V20x_EVT.menu.opt.osstd.build.flags.optimize=-Os
|
||||
CH32V20x_EVT.menu.opt.osstd.build.flags.optimize=-Os
|
||||
CH32V20x_EVT.menu.opt.oslto=Smallest (-Os) with LTO
|
||||
CH32V20x_EVT.menu.opt.oslto.build.flags.optimize=-Os -flto
|
||||
CH32V20x_EVT.menu.opt.o1std=Fast (-O1)
|
||||
|
|
@ -554,7 +564,7 @@ CH32V20x_EVT.menu.opt.o0std.build.flags.optimize=-O0
|
|||
|
||||
# Debug information
|
||||
CH32V20x_EVT.menu.dbg.none=None
|
||||
CH32V20x_EVT.menu.dbg.none.build.flags.debug=-DNDEBUG
|
||||
CH32V20x_EVT.menu.dbg.none.build.flags.debug=-DNDEBUG
|
||||
CH32V20x_EVT.menu.dbg.enable_sym=Symbols Enabled (-g)
|
||||
CH32V20x_EVT.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
|
||||
CH32V20x_EVT.menu.dbg.enable_log=Core logs Enabled
|
||||
|
|
@ -578,8 +588,8 @@ CH32V20x_EVT.menu.rtlib.full.build.flags.ldflags=--specs=nosys.specs
|
|||
|
||||
|
||||
|
||||
#############################################################################
|
||||
##CH32V30x EVT Board -lprintfloat
|
||||
##############################################################################
|
||||
##CH32V30x_EVT Board -lprintfloat, CH32V30x_C: connected product_line CH32V30x: normal product_line
|
||||
|
||||
CH32V30x_EVT.name=CH32V30x
|
||||
CH32V30x_EVT.build.core=arduino
|
||||
|
|
@ -589,7 +599,8 @@ CH32V30x_EVT.upload.maximum_data_size=0
|
|||
CH32V30x_EVT.build.variant_h=variant_{build.board}.h
|
||||
CH32V30x_EVT.debug.tool=gdb-WCH_LinkE
|
||||
|
||||
#CH32V307VCT6 EVT Board CH32V30x_C: connected product_line CH32V30x: normal product_line
|
||||
|
||||
#CH32V307VCT6 EVT Board
|
||||
CH32V30x_EVT.menu.pnum.CH32V307VCT6=CH32V307VCT6 EVT
|
||||
CH32V30x_EVT.menu.pnum.CH32V307VCT6.node=NODE_V307VCT6
|
||||
CH32V30x_EVT.menu.pnum.CH32V307VCT6.upload.maximum_size=262144
|
||||
|
|
@ -601,11 +612,19 @@ CH32V30x_EVT.menu.pnum.CH32V307VCT6.build.variant=CH32V30x/CH32V307VCT6
|
|||
CH32V30x_EVT.menu.pnum.CH32V307VCT6.build.chip=CH32V30x_C
|
||||
CH32V30x_EVT.menu.pnum.CH32V307VCT6.build.march=rv32imafcxw
|
||||
CH32V30x_EVT.menu.pnum.CH32V307VCT6.build.mabi=ilp32f
|
||||
CH32V30x_EVT.menu.pnum.CH32V307VCT6.build.math_lib_gcc=-lm
|
||||
CH32V30x_EVT.menu.pnum.CH32V307VCT6.build.math_lib_gcc=-lm
|
||||
CH32V30x_EVT.menu.pnum.CH32V307VCT6.build.IQ_math_RV32=
|
||||
CH32V30x_EVT.menu.pnum.CH32V307VCT6.build.ch_extra_lib=-lprintfloat
|
||||
CH32V30x_EVT.menu.pnum.CH32V307VCT6.build.ch_extra_lib=-lprintfloat
|
||||
|
||||
|
||||
# USB support
|
||||
CH32V30x_EVT.menu.usb.none=None
|
||||
CH32V30x_EVT.menu.usb.none.build.usb_flags=
|
||||
CH32V30x_EVT.menu.usb.tinyusb_usbhs=Adafruit TinyUSB with USBHS
|
||||
CH32V30x_EVT.menu.usb.tinyusb_usbhs.build.usb_flags=-DUSBCON -DUSE_TINYUSB -DCFG_TUD_WCH_USBIP_USBHS=1 "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
|
||||
CH32V30x_EVT.menu.usb.tinyusb_usbfs=Adafruit TinyUSB with USBFS
|
||||
CH32V30x_EVT.menu.usb.tinyusb_usbfs.build.usb_flags=-DUSBCON -DUSE_TINYUSB -DCFG_TUD_WCH_USBIP_USBFS=1 "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
|
||||
|
||||
# Upload menu
|
||||
CH32V30x_EVT.menu.upload_method.swdMethod=WCH-SWD
|
||||
CH32V30x_EVT.menu.upload_method.swdMethod.upload.protocol=
|
||||
|
|
@ -613,7 +632,7 @@ CH32V30x_EVT.menu.upload_method.swdMethod.upload.options=
|
|||
CH32V30x_EVT.menu.upload_method.swdMethod.upload.tool=WCH_linkE
|
||||
|
||||
|
||||
# Clock Select
|
||||
# Clock Select
|
||||
CH32V30x_EVT.menu.clock.144MHz_HSI=144MHz Internal
|
||||
CH32V30x_EVT.menu.clock.144MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_144MHz_HSI=144000000
|
||||
CH32V30x_EVT.menu.clock.120MHz_HSI=120MHz Internal
|
||||
|
|
@ -646,7 +665,7 @@ CH32V30x_EVT.menu.clock.HSE.build.flags.clock=-DSYSCLK_FREQ_HSE=HSE_VALUE
|
|||
|
||||
# Optimizations
|
||||
CH32V30x_EVT.menu.opt.osstd=Smallest (-Os default)
|
||||
CH32V30x_EVT.menu.opt.osstd.build.flags.optimize=-Os
|
||||
CH32V30x_EVT.menu.opt.osstd.build.flags.optimize=-Os
|
||||
CH32V30x_EVT.menu.opt.oslto=Smallest (-Os) with LTO
|
||||
CH32V30x_EVT.menu.opt.oslto.build.flags.optimize=-Os -flto
|
||||
CH32V30x_EVT.menu.opt.o1std=Fast (-O1)
|
||||
|
|
@ -669,7 +688,7 @@ CH32V30x_EVT.menu.opt.o0std.build.flags.optimize=-O0
|
|||
|
||||
# Debug information
|
||||
CH32V30x_EVT.menu.dbg.none=None
|
||||
CH32V30x_EVT.menu.dbg.none.build.flags.debug=-DNDEBUG
|
||||
CH32V30x_EVT.menu.dbg.none.build.flags.debug=-DNDEBUG
|
||||
CH32V30x_EVT.menu.dbg.enable_sym=Symbols Enabled (-g)
|
||||
CH32V30x_EVT.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
|
||||
CH32V30x_EVT.menu.dbg.enable_log=Core logs Enabled
|
||||
|
|
@ -692,8 +711,9 @@ CH32V30x_EVT.menu.rtlib.full.build.flags.ldflags=--specs=nosys.specs
|
|||
|
||||
|
||||
|
||||
#############################################################################
|
||||
##CH32L10x EVT Board -lprintf
|
||||
|
||||
##############################################################################
|
||||
##CH32L10x_EVT Board -lprintf
|
||||
|
||||
CH32L10x_EVT.name=CH32L10x
|
||||
CH32L10x_EVT.build.core=arduino
|
||||
|
|
@ -703,7 +723,8 @@ CH32L10x_EVT.upload.maximum_data_size=0
|
|||
CH32L10x_EVT.build.variant_h=variant_{build.board}.h
|
||||
CH32L10x_EVT.debug.tool=gdb-WCH_LinkE
|
||||
|
||||
#CH32L103C8T6 EVT Board
|
||||
|
||||
#CH32L103C8T6 EVT Board
|
||||
CH32L10x_EVT.menu.pnum.CH32L103C8T6=CH32L103C8T6 EVT
|
||||
CH32L10x_EVT.menu.pnum.CH32L103C8T6.node=NODE_L103C8T6
|
||||
CH32L10x_EVT.menu.pnum.CH32L103C8T6.upload.maximum_size=65536
|
||||
|
|
@ -715,12 +736,19 @@ CH32L10x_EVT.menu.pnum.CH32L103C8T6.build.variant=CH32L10x/CH32L103C8T6
|
|||
CH32L10x_EVT.menu.pnum.CH32L103C8T6.build.chip=CH32L10x
|
||||
CH32L10x_EVT.menu.pnum.CH32L103C8T6.build.march=rv32imacxw
|
||||
CH32L10x_EVT.menu.pnum.CH32L103C8T6.build.mabi=ilp32
|
||||
CH32L10x_EVT.menu.pnum.CH32L103C8T6.build.math_lib_gcc=-lm
|
||||
CH32L10x_EVT.menu.pnum.CH32L103C8T6.build.math_lib_gcc=-lm
|
||||
CH32L10x_EVT.menu.pnum.CH32L103C8T6.build.IQ_math_RV32=
|
||||
CH32L10x_EVT.menu.pnum.CH32L103C8T6.build.ch_extra_lib=-lprintf
|
||||
CH32L10x_EVT.menu.pnum.CH32L103C8T6.build.ch_extra_lib=-lprintf
|
||||
|
||||
|
||||
# Clock Select
|
||||
# Upload menu
|
||||
CH32L10x_EVT.menu.upload_method.swdMethod=WCH-SWD
|
||||
CH32L10x_EVT.menu.upload_method.swdMethod.upload.protocol=
|
||||
CH32L10x_EVT.menu.upload_method.swdMethod.upload.options=
|
||||
CH32L10x_EVT.menu.upload_method.swdMethod.upload.tool=WCH_linkE
|
||||
|
||||
|
||||
# Clock Select
|
||||
CH32L10x_EVT.menu.clock.96MHz_HSI=96MHz Internal
|
||||
CH32L10x_EVT.menu.clock.96MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_96MHz_HSI=96000000
|
||||
CH32L10x_EVT.menu.clock.72MHz_HSI=72MHz Internal
|
||||
|
|
@ -745,17 +773,9 @@ CH32L10x_EVT.menu.clock.HSE=HSE External
|
|||
CH32L10x_EVT.menu.clock.HSE.build.flags.clock=-DSYSCLK_FREQ_HSE=HSE_VALUE
|
||||
|
||||
|
||||
# Upload menu
|
||||
CH32L10x_EVT.menu.upload_method.swdMethod=WCH-SWD
|
||||
CH32L10x_EVT.menu.upload_method.swdMethod.upload.protocol=
|
||||
CH32L10x_EVT.menu.upload_method.swdMethod.upload.options=
|
||||
CH32L10x_EVT.menu.upload_method.swdMethod.upload.tool=WCH_linkE
|
||||
|
||||
|
||||
|
||||
# Optimizations
|
||||
CH32L10x_EVT.menu.opt.osstd=Smallest (-Os default)
|
||||
CH32L10x_EVT.menu.opt.osstd.build.flags.optimize=-Os
|
||||
CH32L10x_EVT.menu.opt.osstd.build.flags.optimize=-Os
|
||||
CH32L10x_EVT.menu.opt.oslto=Smallest (-Os) with LTO
|
||||
CH32L10x_EVT.menu.opt.oslto.build.flags.optimize=-Os -flto
|
||||
CH32L10x_EVT.menu.opt.o1std=Fast (-O1)
|
||||
|
|
@ -778,7 +798,7 @@ CH32L10x_EVT.menu.opt.o0std.build.flags.optimize=-O0
|
|||
|
||||
# Debug information
|
||||
CH32L10x_EVT.menu.dbg.none=None
|
||||
CH32L10x_EVT.menu.dbg.none.build.flags.debug=-DNDEBUG
|
||||
CH32L10x_EVT.menu.dbg.none.build.flags.debug=-DNDEBUG
|
||||
CH32L10x_EVT.menu.dbg.enable_sym=Symbols Enabled (-g)
|
||||
CH32L10x_EVT.menu.dbg.enable_sym.build.flags.debug=-g -DNDEBUG
|
||||
CH32L10x_EVT.menu.dbg.enable_log=Core logs Enabled
|
||||
|
|
@ -797,4 +817,5 @@ CH32L10x_EVT.menu.rtlib.nanofs.build.flags.ldflags=--specs=nano.specs --specs=no
|
|||
CH32L10x_EVT.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf
|
||||
CH32L10x_EVT.menu.rtlib.nanofps.build.flags.ldflags=--specs=nano.specs --specs=nosys.specs -u _printf_float -u _scanf_float
|
||||
CH32L10x_EVT.menu.rtlib.full=Newlib Standard
|
||||
CH32L10x_EVT.menu.rtlib.full.build.flags.ldflags=--specs=nosys.specs
|
||||
CH32L10x_EVT.menu.rtlib.full.build.flags.ldflags=--specs=nosys.specs
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,10 @@
|
|||
#include "variant.h"
|
||||
#include "HardwareSerial.h"
|
||||
|
||||
#if defined(USE_TINYUSB)
|
||||
#include "Adafruit_USBD_CDC.h"
|
||||
#define Serial SerialTinyUSB
|
||||
#endif
|
||||
|
||||
#if defined(UART_MODULE_ENABLED) && !defined(UART_MODULE_ONLY)
|
||||
|
||||
|
|
|
|||
|
|
@ -10,11 +10,17 @@
|
|||
int main( void )
|
||||
{
|
||||
pre_init( );
|
||||
#if defined(USE_TINYUSB)
|
||||
TinyUSB_Device_Init(0);
|
||||
#endif
|
||||
setup( );
|
||||
|
||||
do {
|
||||
loop( );
|
||||
|
||||
#if defined(USE_TINYUSB)
|
||||
TinyUSB_Device_Task();
|
||||
TinyUSB_Device_FlushCDC();
|
||||
#endif
|
||||
} while (1);
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
1
libraries/Adafruit_TinyUSB_Arduino
Submodule
1
libraries/Adafruit_TinyUSB_Arduino
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 8cb40327f112850d179b8f5e948705ed90ddb6a8
|
||||
|
|
@ -79,7 +79,8 @@ compiler.elf2lst.extra_flags=
|
|||
|
||||
# USB Flags
|
||||
# ---------
|
||||
build.usb_flags=-DUSBCON {build.usb_speed} -DUSBD_VID={build.vid} -DUSBD_PID={build.pid} -DHAL_PCD_MODULE_ENABLED
|
||||
#build.usb_flags=-DUSBCON {build.usb_speed} -DUSBD_VID={build.vid} -DUSBD_PID={build.pid} -DHAL_PCD_MODULE_ENABLED
|
||||
build.usb_flags=
|
||||
|
||||
# Specify defaults for vid/pid, since an empty value is impossible to
|
||||
# detect in the preprocessor, but a 0 can be checked for.
|
||||
|
|
@ -89,7 +90,7 @@ build.pid=0
|
|||
|
||||
# Build information's
|
||||
#####################-D{build.board} -DARDUINO_ARCH_{build.arch} -DBOARD_NAME="{build.board}" -DVARIANT_H="{build.variant_h}"
|
||||
build.info.flags=-DARDUINO_ARCH_CH32 -D{build.series} -DARDUINO={runtime.ide.version} -D{build.chip} -DVARIANT_H="{build.variant_h}"
|
||||
build.info.flags=-DARDUINO_ARCH_CH32 -D{build.series} -DARDUINO={runtime.ide.version} -D{build.chip} -DVARIANT_H="{build.variant_h}" {build.usb_flags}
|
||||
|
||||
# Defaults config
|
||||
build.xSerial=
|
||||
|
|
|
|||
298
tools/makeboards.py
Executable file
298
tools/makeboards.py
Executable file
|
|
@ -0,0 +1,298 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
|
||||
# mcu: march, mabi, math_lib_gcc, IQ_math_RV32, ch_extra_lib
|
||||
mcu_list = {
|
||||
'QingKe-V2A': {'march': 'rv32ecxw', 'mabi': 'ilp32e', 'ch_extra_lib': '-lprintf'},
|
||||
'QingKe-V2C': {'march': 'rv32ecxw', 'mabi': 'ilp32e', 'ch_extra_lib': '-lprintf'},
|
||||
'QingKe-V3A': {'march': 'rv32imac', 'mabi': 'ilp32', 'ch_extra_lib': '-lprintf'},
|
||||
'QingKe-V4B': {'march': 'rv32imacxw', 'mabi': 'ilp32', 'ch_extra_lib': '-lprintf'},
|
||||
'QingKe-V4C': {'march': 'rv32imacxw', 'mabi': 'ilp32', 'ch_extra_lib': '-lprintf'},
|
||||
'QingKe-V4F': {'march': 'rv32imafcxw', 'mabi': 'ilp32f', 'ch_extra_lib': '-lprintfloat'},
|
||||
}
|
||||
|
||||
usb_list = {
|
||||
'tinyusb_usbd': {
|
||||
'name': 'Adafruit TinyUSB with USBD',
|
||||
'usb_flags': '-DUSBCON -DUSE_TINYUSB -DCFG_TUD_WCH_USBIP_FSDEV=1 "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"'
|
||||
},
|
||||
'tinyusb_usbfs': {
|
||||
'name': 'Adafruit TinyUSB with USBFS',
|
||||
'usb_flags': '-DUSBCON -DUSE_TINYUSB -DCFG_TUD_WCH_USBIP_USBFS=1 "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"'
|
||||
},
|
||||
'tinyusb_usbhs': {
|
||||
'name': 'Adafruit TinyUSB with USBHS',
|
||||
'usb_flags': '-DUSBCON -DUSE_TINYUSB -DCFG_TUD_WCH_USBIP_USBHS=1 "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"'
|
||||
},
|
||||
}
|
||||
|
||||
# series: name, pnums
|
||||
board_list = {
|
||||
'CH32V00x': {
|
||||
'name': 'CH32V00x_EVT',
|
||||
'info': '',
|
||||
'usb': [],
|
||||
'hsi': [48, 24, 8],
|
||||
'hse': [48, 24, 8],
|
||||
'pnums': {
|
||||
'CH32V003F4': {'name': 'CH32V003F4 EVT', 'maximum_size': 16384, 'maximum_data_size': 2048, 'mcu': 'QingKe-V2A', 'chip': 'CH32V003F4'},
|
||||
}
|
||||
},
|
||||
'CH32VM00X': {
|
||||
'name': 'CH32VM00X_EVT',
|
||||
'info': 'including V/M 002 004 005 006 007',
|
||||
'usb': [],
|
||||
'hsi': [48, 24, 8],
|
||||
'hse': [48, 24, 8],
|
||||
'pnums': {
|
||||
'CH32V006K8': {'name': 'CH32V006K8 EVT', 'maximum_size': 63488, 'maximum_data_size': 8192, 'mcu': 'QingKe-V2C', 'chip': 'CH32V006K8'},
|
||||
}
|
||||
},
|
||||
'CH32X035': {
|
||||
'name': 'CH32X035_EVT',
|
||||
'info': '',
|
||||
'usb': [],
|
||||
'hsi': [48, 24, 16, 12, 8],
|
||||
'hse': [],
|
||||
'pnums': {
|
||||
'CH32X035G8U': {'name': 'CH32X035G8U EVT', 'maximum_size': 63488, 'maximum_data_size': 20480, 'mcu': 'QingKe-V4C', 'chip': 'CH32X035G8U'},
|
||||
}
|
||||
},
|
||||
'CH32V10x': {
|
||||
'name': 'CH32V10x_EVT',
|
||||
'info': '-lprintf, CH32V10x_3V3: 3.3V power supply CH32V10x_5V: 5V power supply',
|
||||
'usb': [],
|
||||
'hsi': [72, 56, 48, 8],
|
||||
'hse': [72, 56, 48, 8],
|
||||
'pnums': {
|
||||
'CH32V103R8T6': {'name': 'CH32V103R8T6 EVT', 'maximum_size': 65536, 'maximum_data_size': 20480, 'mcu': 'QingKe-V3A', 'chip': 'CH32V10x_3V3'},
|
||||
}
|
||||
},
|
||||
'CH32V20x': {
|
||||
'name': 'CH32V20x_EVT',
|
||||
'info': '',
|
||||
'usb': ['tinyusb_usbd', 'tinyusb_usbfs'],
|
||||
'hsi': [144, 120, 96, 72, 56, 48, 0],
|
||||
'hse': [144, 120, 96, 72, 56, 48, 0],
|
||||
'pnums': {
|
||||
'CH32V203RB': {'name': 'CH32V203RB EVT', 'maximum_size': 131072, 'maximum_data_size': 65536, 'mcu': 'QingKe-V4C', 'chip': 'CH32V203'},
|
||||
'CH32V203G8': {'name': 'CH32V203G8 EVT', 'maximum_size': 65536, 'maximum_data_size': 20480, 'mcu': 'QingKe-V4B', 'chip': 'CH32V203'},
|
||||
'CH32V203C8': {'name': 'CH32V203C8', 'maximum_size': 65536, 'maximum_data_size': 20480, 'mcu': 'QingKe-V4B', 'chip': 'CH32V203'},
|
||||
'CH32V203C6': {'name': 'CH32V203C6', 'maximum_size': 32768, 'maximum_data_size': 20480, 'mcu': 'QingKe-V4B', 'chip': 'CH32V203'},
|
||||
}
|
||||
},
|
||||
'CH32V30x': {
|
||||
'name': 'CH32V30x_EVT',
|
||||
'info': '-lprintfloat, CH32V30x_C: connected product_line CH32V30x: normal product_line',
|
||||
'usb': ['tinyusb_usbhs', 'tinyusb_usbfs'],
|
||||
'hsi': [144, 120, 96, 72, 56, 48, 0],
|
||||
'hse': [144, 120, 96, 72, 56, 48, 0],
|
||||
'pnums': {
|
||||
'CH32V307VCT6': {'name': 'CH32V307VCT6 EVT', 'maximum_size': 262144, 'maximum_data_size': 65536, 'mcu': 'QingKe-V4F', 'chip': 'CH32V30x_C'},
|
||||
}
|
||||
},
|
||||
'CH32L10x': {
|
||||
'name': 'CH32L10x_EVT',
|
||||
'info': '-lprintf',
|
||||
'usb': [],
|
||||
'hsi': [96, 72, 56, 48, 0, 'HSI_LP'],
|
||||
'hse': [96, 72, 56, 48, 0],
|
||||
'pnums': {
|
||||
'CH32L103C8T6': {'name': 'CH32L103C8T6 EVT', 'maximum_size': 65536, 'maximum_data_size': 20480, 'mcu': 'QingKe-V4C', 'chip': 'CH32L10x'},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def build_global_menu():
|
||||
print("""# See: https://arduino.github.io/arduino-cli/latest/platform-specification/
|
||||
|
||||
menu.pnum=Board Select
|
||||
menu.clock=Clock Select
|
||||
menu.xserial=U(S)ART support
|
||||
menu.usb=USB support (if available)
|
||||
menu.xusb=USB speed (if available)
|
||||
menu.virtio=Virtual serial support
|
||||
|
||||
menu.opt=Optimize
|
||||
menu.dbg=Debug symbols and core logs
|
||||
menu.rtlib=C Runtime Library
|
||||
menu.upload_method=Upload method""")
|
||||
|
||||
|
||||
def build_header(series, values):
|
||||
print()
|
||||
print()
|
||||
print()
|
||||
print('#'*78)
|
||||
name = values["name"]
|
||||
print(f'##{name} Board {values["info"]}')
|
||||
print()
|
||||
print(f'{name}.name={series}')
|
||||
print(f'{name}.build.core=arduino')
|
||||
print(f'{name}.build.board={name}')
|
||||
print(f'{name}.upload.maximum_size=0')
|
||||
print(f'{name}.upload.maximum_data_size=0')
|
||||
print(f'{name}.build.variant_h=variant_{{build.board}}.h')
|
||||
print(f'{name}.debug.tool=gdb-WCH_LinkE')
|
||||
print()
|
||||
|
||||
|
||||
def build_pnum(series, values):
|
||||
print()
|
||||
for p, pv in values['pnums'].items():
|
||||
menu = f'{values["name"]}.menu.pnum.{p}'
|
||||
mcu = pv["mcu"]
|
||||
print(f'#{pv["name"]} Board')
|
||||
print(f'{menu}={pv["name"]}')
|
||||
print(f'{menu}.node={p.replace("CH32", "NODE_")}')
|
||||
print(f'{menu}.upload.maximum_size={pv["maximum_size"]}')
|
||||
print(f'{menu}.upload.maximum_data_size={pv["maximum_data_size"]}')
|
||||
print(f'{menu}.build.mcu={mcu}')
|
||||
print(f'{menu}.build.board={p}')
|
||||
print(f'{menu}.build.series={series}')
|
||||
print(f'{menu}.build.variant={series}/{p}')
|
||||
print(f'{menu}.build.chip={pv["chip"]}')
|
||||
print(f'{menu}.build.march={mcu_list[mcu]["march"]}')
|
||||
print(f'{menu}.build.mabi={mcu_list[mcu]["mabi"]}')
|
||||
print(f'{menu}.build.math_lib_gcc=-lm')
|
||||
print(f'{menu}.build.IQ_math_RV32=')
|
||||
print(f'{menu}.build.ch_extra_lib={mcu_list[mcu]["ch_extra_lib"]}')
|
||||
print()
|
||||
|
||||
|
||||
def build_usb(series, values):
|
||||
if len(values['usb']) == 0:
|
||||
return
|
||||
print()
|
||||
print("# USB support")
|
||||
name = values["name"]
|
||||
menu = f'{name}.menu.usb'
|
||||
print(f'{menu}.none=None')
|
||||
print(f'{menu}.none.build.usb_flags=')
|
||||
for usb in values['usb']:
|
||||
print(f'{menu}.{usb}={usb_list[usb]["name"]}')
|
||||
print(f'{menu}.{usb}.build.usb_flags={usb_list[usb]["usb_flags"]}')
|
||||
|
||||
|
||||
def build_upload(series, values):
|
||||
print()
|
||||
print("# Upload menu")
|
||||
name = values["name"]
|
||||
menu = f'{name}.menu.upload_method'
|
||||
print(f'{menu}.swdMethod=WCH-SWD')
|
||||
print(f'{menu}.swdMethod.upload.protocol=')
|
||||
print(f'{menu}.swdMethod.upload.options=')
|
||||
print(f'{menu}.swdMethod.upload.tool=WCH_linkE')
|
||||
print()
|
||||
|
||||
|
||||
def build_optimization(series, values):
|
||||
print()
|
||||
print("# Optimizations")
|
||||
name = values["name"]
|
||||
menu = f'{name}.menu.opt'
|
||||
|
||||
print(f'{menu}.osstd=Smallest (-Os default)')
|
||||
print(f'{menu}.osstd.build.flags.optimize=-Os')
|
||||
print(f'{menu}.oslto=Smallest (-Os) with LTO')
|
||||
print(f'{menu}.oslto.build.flags.optimize=-Os -flto')
|
||||
|
||||
print(f'{menu}.o1std=Fast (-O1)')
|
||||
print(f'{menu}.o1std.build.flags.optimize=-O1')
|
||||
print(f'{menu}.o1lto=Fast (-O1) with LTO')
|
||||
print(f'{menu}.o1lto.build.flags.optimize=-O1 -flto')
|
||||
|
||||
print(f'{menu}.o2std=Faster (-O2)')
|
||||
print(f'{menu}.o2std.build.flags.optimize=-O2')
|
||||
print(f'{menu}.o2lto=Faster (-O2) with LTO')
|
||||
print(f'{menu}.o2lto.build.flags.optimize=-O2 -flto')
|
||||
|
||||
print(f'{menu}.o3std=Fastest (-O3)')
|
||||
print(f'{menu}.o3std.build.flags.optimize=-O3')
|
||||
print(f'{menu}.o3lto=Fastest (-O3) with LTO')
|
||||
print(f'{menu}.o3lto.build.flags.optimize=-O3 -flto')
|
||||
|
||||
print(f'{menu}.ogstd=Debug (-Og)')
|
||||
print(f'{menu}.ogstd.build.flags.optimize=-Og')
|
||||
print(f'{menu}.o0std=No Optimization (-O0)')
|
||||
print(f'{menu}.o0std.build.flags.optimize=-O0')
|
||||
print()
|
||||
|
||||
|
||||
def build_clock(series, values):
|
||||
print()
|
||||
print("# Clock Select")
|
||||
name = values["name"]
|
||||
menu = f'{name}.menu.clock'
|
||||
for hsi in values['hsi']:
|
||||
if hsi == 0:
|
||||
print(f'{menu}.HSI=HSI Internal')
|
||||
print(f'{menu}.HSI.build.flags.clock=-DSYSCLK_FREQ_HSI=HSI_VALUE')
|
||||
elif hsi == 'HSI_LP':
|
||||
print(f'{menu}.HSI_LP=HSI_LP Internal')
|
||||
print(f'{menu}.HSI_LP.build.flags.clock=-DSYSCLK_FREQ_HSI_LP=HSI_LP_VALUE')
|
||||
else:
|
||||
print(f'{menu}.{hsi}MHz_HSI={hsi}MHz Internal')
|
||||
print(f'{menu}.{hsi}MHz_HSI.build.flags.clock=-DSYSCLK_FREQ_{hsi}MHz_HSI={hsi}000000')
|
||||
for hse in values['hse']:
|
||||
if hse == 0:
|
||||
print(f'{menu}.HSE=HSE External')
|
||||
print(f'{menu}.HSE.build.flags.clock=-DSYSCLK_FREQ_HSE=HSE_VALUE')
|
||||
else:
|
||||
print(f'{menu}.{hse}MHz_HSE={hse}MHz External')
|
||||
print(f'{menu}.{hse}MHz_HSE.build.flags.clock=-DSYSCLK_FREQ_{hse}MHz_HSE={hse}000000')
|
||||
print()
|
||||
|
||||
|
||||
def build_debug(series, values):
|
||||
print()
|
||||
print("# Debug information")
|
||||
name = values["name"]
|
||||
menu = f'{name}.menu.dbg'
|
||||
print(f'{menu}.none=None')
|
||||
print(f'{menu}.none.build.flags.debug=-DNDEBUG')
|
||||
print(f'{menu}.enable_sym=Symbols Enabled (-g)')
|
||||
print(f'{menu}.enable_sym.build.flags.debug=-g -DNDEBUG')
|
||||
print(f'{menu}.enable_log=Core logs Enabled')
|
||||
print(f'{menu}.enable_log.build.flags.debug=')
|
||||
print(f'{menu}.enable_all=Core Logs and Symbols Enabled (-g)')
|
||||
print(f'{menu}.enable_all.build.flags.debug=-g')
|
||||
print()
|
||||
|
||||
|
||||
def build_runtimelib(series, values):
|
||||
print()
|
||||
print("# C Runtime Library")
|
||||
name = values["name"]
|
||||
menu = f'{name}.menu.rtlib'
|
||||
print(f'{menu}.nano=Newlib Nano (default)')
|
||||
print(f'{menu}.nano.build.flags.ldflags=--specs=nano.specs --specs=nosys.specs')
|
||||
print(f'{menu}.nanofp=Newlib Nano + Float Printf')
|
||||
print(f'{menu}.nanofp.build.flags.ldflags=--specs=nano.specs --specs=nosys.specs -u _printf_float')
|
||||
print(f'{menu}.nanofs=Newlib Nano + Float Scanf')
|
||||
print(f'{menu}.nanofs.build.flags.ldflags=--specs=nano.specs --specs=nosys.specs -u _scanf_float')
|
||||
print(f'{menu}.nanofps=Newlib Nano + Float Printf/Scanf')
|
||||
print(f'{menu}.nanofps.build.flags.ldflags=--specs=nano.specs --specs=nosys.specs -u _printf_float -u _scanf_float')
|
||||
print(f'{menu}.full=Newlib Standard')
|
||||
print(f'{menu}.full.build.flags.ldflags=--specs=nosys.specs')
|
||||
print()
|
||||
|
||||
|
||||
def make_board(series, values):
|
||||
build_header(series, values)
|
||||
build_pnum(series, values)
|
||||
build_usb(series, values)
|
||||
build_upload(series, values)
|
||||
build_clock(series, values)
|
||||
build_optimization(series, values)
|
||||
build_debug(series, values)
|
||||
build_runtimelib(series, values)
|
||||
|
||||
# ------------------------------
|
||||
# main
|
||||
# ------------------------------
|
||||
build_global_menu()
|
||||
|
||||
for k, v in board_list.items():
|
||||
make_board(k, v)
|
||||
Loading…
Reference in a new issue