<< Zpět

 

  Česky: , English:

CH32LibSDK

SDK knihovna pro low-end CH32 RISC-V mikrokontrolery

Před-alfa verze 0.01, rozpracováno - ve vývoji, mnoho zbývá udělat

(c) 2025 Miroslav Němeček

https://github.com/Panda381/CH32LibSDK

Download knihovny spolu s ukázkovými aplikacemi a všemi podklady

Obsah

 

Úvod

CH32LibSDK je SDK knihovna sloužící ke snazšímu vývoji aplikací s procesory CH32 RISC-V. Je zaměřena na low-end procesory, typicky CH32V003, CH32V002-CH32V007, CH32X033-CH32X035, CH32V103, CH32L103, CH32V203 a CH32V208. Vyšší typy procesorů (s funkcemi Ethernet) nejsou podporovány.

V současnosti je knihovna v počátečních stadiích vývoje. Mnoho funkcí chybí nebo nebylo testováno.

Jak kompilovat ve Windows pomocí příkazového řádku:

- Použijte FAR Manager k editaci zdrojových souborů a spouštění BAT skriptů.
- Stáhněte si MounRiver Studio v1.92
http://mounriver.com/download
- Nainstalujte MounRiver Studio.
- Vyjměte kompilátor "toolchain\RISC-V Embedded GCC12" do samostatné složky.
- Upravte soubor _c1.bat a zadejte cestu ke složce "bin" kompilátoru: set GCC_CH32_PATH=C:\GCC_CH32\bin
- Vyjměte nástroj "toolchain\OpenOCD\bin" nebo použijte openocd ze složky _tools\openocd.
- Někdy může být nutné použít WCH-LinkUtility ze složky ExTool\SQWTool - může být potřeba vymazat flash paměť pomocí vypnutí napájení, protože OpenOcd to nedokáže.
- Zkompilujte program pomocí c.bat.
- Zapiště zkompilovaný program do flash pomocí e.bat, s WCH-LinkE programátorem (k dispozici např.
https://pajenicko.cz/usb-programator-a-debug-adapter-wch-link ). U verze konzole s SD kartou postačí nahrát program na SD kartu a zavést do procesoru pomocí boot loaderu.
- Vymažte kompilaci pomocí d.bat.

 

BabyPad

BabyPad je herní mini-konzole se 7 tlačítky, s levným procesorem CH32V002A4M6 (cena 10 centů), s krystalem 25 MHz (volitelně), zvukovým výstupem a VGA mono B&W výstupem na monitor. Krystal a příslušné kondenzátory není nutné použít - pokud software detekuje, že krystal není k dispozici, použije se interní HSI oscilátor, naladěný na frekvenci blízko 25 MHz. Obraz je v tom případě mírně zašuměný, ale stále ještě použitelný - záleží na použitém monitoru, jak si se stabilizací obrazu poradí. Mírné rušení obrazu se může objevovat i při použití krystalu - je to z důvodu softwarového generování obrazu. BabyPad používá procesor v pouzdru SOP16 s roztečí pinů 1.27 mm, což umožňuje snadné pájení i začátečníkům. Spolu s jednoduchou konstrukcí (a možností neosadit krystal) je předurčen především začátečníkům jako stavebnice k prvnímu seznámení se s elektronikou.

BabyPad neobsahuje SD kartu. Programy je nutné do procesoru nahrát pomocí programátoru WCH-LinkE (k dispozici např. zde: https://pajenicko.cz/usb-programator-a-debug-adapter-wch-link).

Připravené ukázkové aplikace:


Ants - karetní hra. Úkolem je budovat svůj hrad a bourat hrad protivníka.

Atoms - explodující atomy.

Eggs - přeměňování kamenů vejce-kuře-slepice.

Fifteen - puzzle, cílem je uspořádat kameny zpět do správného pořadí.

Invaders - střílečka Space Invaders.

Life - celulární automat.

Maze - bludiště.

Sokoban - logické puzzle.

TArkan - Tiny-Arkanoid
((c) Daniel Champagne)

TBert - Tiny-Bert
((c) Daniel Champagne)

TBike - Tiny-Bike
((c) Daniel Champagne)

TBomber - Tiny-Bomber
((c) Daniel Champagne)

TDDug - Tiny-DDug
((c) Daniel Champagne)

TDoc
- Tiny-Doctor
((c) Daniel Champagne)

TDungeon - Tiny-Dungeon
((c) Lorandil)

Tetris

TInvader
- Tiny-Invaders
((c) Daniel Champagne)

TMissile - Tiny-Missile
((c) Daniel Champagne)

TMorpion - Tiny-Morpion
((c) Daniel Champagne)

TPipe - Tiny-Pipe
((c) Daniel Champagne)

TPlaque - Tiny-Plaque
((c) Daniel Champagne)

Train
- logická hra.

TSQuest - Tiny-SQuest
((c) Daniel Champagne)

TTrick - Tiny-Trick
((c) Daniel Champagne)

TTris - Tiny-Tris
((c) Daniel Champagne)

TVTennis
- televizní tenis.
 

 

PidiPad

PidiPad je herní mini-konzole s 8 tlačítky, s levným procesorem CH32V006E8R6 (cena 20 centů), s krystalem 25 MHz (volitelně), microSD kartou, zvukovým výstupem a VGA barevným výstupem na monitor. Krystal a příslušné kondenzátory není nutné použít - pokud software detekuje, že krystal není k dispozici, použije se interní HSI oscilátor, naladěný na frekvenci blízko 25 MHz. Obraz je v tom případě mírně zašuměný, ale stále ještě použitelný - záleží na použitém monitoru, jak si se stabilizací obrazu poradí. Mírné rušení obrazu se může objevovat i při použití krystalu - je to z důvodu softwarového generování obrazu.

Programy zkompilované pro PidiPad obsahují boot loader. Při zápisu programu do flash paměti pomocí programátoru se zapíše jak program, tak boot loader. Stisknutím tlačítka Y (nebo resetováním s vloženou SD kartou) se spustí boot loader, který umožní vybrat program, který se má spustit z SD karty. Boot loader zajistí načtení programu z SD karty do flash paměti. Jiný program lze načíst po stisku tlačítka Y nebo resetováním se zasunutou SD kartou. Pokud při resetu není zasunuta žádná SD karta, boot loader se nespustí, ale spustí se ihned program ve flash paměti. Program ve flash paměti lze také spustit z boot loaderu stisknutím tlačítka Y.

Soubory BIN a ELF jsou při kompilaci opatřeny kontrolním součtem, pomocí programu LoaderCrc. Kontrolní součet používá boot loader ke kontrole aplikace ve flash paměti. Pokud chcete aplikaci zapsat do flash paměti pomocí WCH-LinkUtility, musíte použít soubor BIN, nikoli HEX, protože generovaný soubor HEX neobsahuje kontrolní součet.

Připravené ukázkové aplikace:

Boot loader - slouží ke spouštění programů z SD karty.


Ants - karetní hra. Úkolem je budovat svůj hrad a bourat hrad protivníka.

Atoms - explodující atomy.

Chess - šachy.

Eggs - přeměňování kamenů vejce-kuře-slepice.

Fifteen - puzzle, cílem je uspořádat kameny zpět do správného pořadí.

Flappy - klasické logické puzzle z Sharp MZ800, 105 scén.

Invaders - střílečka Space Invaders.

Life - celulární automat.

Maze - bludiště.

Sokoban - logické puzzle.

TArkan - Tiny-Arkanoid
((c) Daniel Champagne)

TBert - Tiny-Bert
((c) Daniel Champagne)

TBike - Tiny-Bike
((c) Daniel Champagne)

TBomber - Tiny-Bomber
((c) Daniel Champagne)

TDDug - Tiny-DDug
((c) Daniel Champagne)

TDoc - Tiny-Doctor
((c) Daniel Champagne)

TDungeon - Tiny-Dungeon
((c) Lorandil)

Tetris

TInvader
- Tiny-Invaders
((c) Daniel Champagne)

TMissile - Tiny-Missile
((c) Daniel Champagne)

TMorpion - Tiny-Morpion
((c) Daniel Champagne)

TPipe - Tiny-Pipe
((c) Daniel Champagne)

TPlaque - Tiny-Plaque
((c) Daniel Champagne)

Train
- logická hra.

TSQuest - Tiny-SQuest
((c) Daniel Champagne)

TTrick - Tiny-Trick
((c) Daniel Champagne)

TTris - Tiny-Tris
((c) Daniel Champagne)

TVTennis - televizní tenis.
   

 

Download

Download knihovny spolu s ukázkovými aplikacemi a všemi podklady.

Ve složce _devices\babypad\diagram\ naleznete schéma konzole BabyPad. Ve složce !Babypad jsou připravené přeložené ukázkové programy. Složka Babypad obsahuje zdrojové kódy ukázkových aplikací pro BabyPad.

Ve složce _devices\pidipad\diagram\ naleznete schéma konzole PidiPad. Ve složce !Pidipad je připravený obraz SD karty. Složka Pidipad obsahuje zdrojové kódy ukázkových aplikací pro PidiPad.

 

Miroslav Němeček

<< Zpět