CH32V307VCT6 development board

Uživatelský avatar
Caster
Příspěvky: 502
Registrován: 11 zář 2019, 09:02

Re: CH32V307VCT6 development board

Příspěvek od Caster » 26 led 2026, 20:57

To ještě nemusí znamenat, že je deska vadná.

U CH32V307 to nejčastěji bývá jedna z těchto věcí:
  1. Běží, ale blikáš na špatných pinech (LED nejsou na PB8/PB9 ani na 57/58, nebo nejsou vůbec připojené na MCU pin jako „user LED“).
  2. Program se nespustí (špatná varianta/variant file pro desku, jiný linker script/boot režim, reset vektor mimo, watchdog/clock init problém).
  3. Napájení/BOOT režim (board se naprogramuje, ale po resetu neběží z flash kvůli BOOT strapům, nebo je potřeba „NRST“/reset line, nebo běží v jiném režimu).
  4. Upload jde do flash, ale CPU je pořád „halt“ / resetované (méně časté, ale u některých debug nastavení se to stává – typicky když je core držené debuggerem).
  5. LED jsou řízené PHY/RJ45 a ne MCU (některé desky mají link/activity LEDky čistě z Ethernet magnetiky/PHY, MCU je nepřepíná).
Než to označíme za vadnou desku, udělejme test, který nepotřebuje správné piny LED a dá nám 100% odpověď „CPU běží / neběží“:

Test 1: „panic toggler“ – přepni co nejvíc pinů

Tenhle sketch zkusí v loopu rychle překlápět spoustu GPIO pinů (PA0..PA15, PB0..PB15, PC0..PC15, PD0..PD15 – co půjde). Když máš na desce aspoň jednu LED připojenou na jakýkoliv GPIO, obvykle začne blikat/měnit jas. A i když ne, můžeš si na libovolný pin píchnout multimetrem nebo logickou sondou.

Kód: Vybrat vše

#pragma execution_character_set("utf-8")
#include <Arduino.h>

// Pomocná funkce: zkus nastavit pin jako output a přepnout
static inline void try_toggle(int pin)
{
  pinMode(pin, OUTPUT);
  digitalWrite(pin, !digitalRead(pin));
}

void setup()
{
  // žádný Serial, žádná LED, jen čisté GPIO přepínání
}

void loop()
{
  // Projedeme hodně pinů. Některé můžou být neexistující -> core je většinou ignoruje.
  // Pokud by to padalo, řekni a zúžíme seznam podle počtu pinů na desce.
  for (int i = 0; i < 200; i++)
  {
    // PA
#ifdef PA0
    try_toggle(PA0); try_toggle(PA1); try_toggle(PA2); try_toggle(PA3);
    try_toggle(PA4); try_toggle(PA5); try_toggle(PA6); try_toggle(PA7);
    try_toggle(PA8); try_toggle(PA9); try_toggle(PA10); try_toggle(PA11);
    try_toggle(PA12); try_toggle(PA13); try_toggle(PA14); try_toggle(PA15);
#endif
    // PB
#ifdef PB0
    try_toggle(PB0); try_toggle(PB1); try_toggle(PB2); try_toggle(PB3);
    try_toggle(PB4); try_toggle(PB5); try_toggle(PB6); try_toggle(PB7);
    try_toggle(PB8); try_toggle(PB9); try_toggle(PB10); try_toggle(PB11);
    try_toggle(PB12); try_toggle(PB13); try_toggle(PB14); try_toggle(PB15);
#endif
    // PC
#ifdef PC0
    try_toggle(PC0); try_toggle(PC1); try_toggle(PC2); try_toggle(PC3);
    try_toggle(PC4); try_toggle(PC5); try_toggle(PC6); try_toggle(PC7);
    try_toggle(PC8); try_toggle(PC9); try_toggle(PC10); try_toggle(PC11);
    try_toggle(PC12); try_toggle(PC13); try_toggle(PC14); try_toggle(PC15);
#endif
    // PD (ne všechny CH32V307 mají PD piny vyvedené)
#ifdef PD0
    try_toggle(PD0); try_toggle(PD1); try_toggle(PD2); try_toggle(PD3);
    try_toggle(PD4); try_toggle(PD5); try_toggle(PD6); try_toggle(PD7);
    try_toggle(PD8); try_toggle(PD9); try_toggle(PD10); try_toggle(PD11);
    try_toggle(PD12); try_toggle(PD13); try_toggle(PD14); try_toggle(PD15);
#endif

    delay(10);
  }
}

Jak vyhodnotit
  • Pokud se rozbliká cokoliv na desce → CPU běží, jen jsme neovládali správné LED piny.
  • Pokud pořád nic → je velká šance, že program neběží (nebo deska nemá žádnou LED na GPIO a nemáš čím měřit).
Vyfoť také horní a spodní stranu desky a dej sem fotky.

Richard
Příspěvky: 24
Registrován: 25 led 2026, 07:12
Bydliště: Volyně

Re: CH32V307VCT6 development board

Příspěvek od Richard » 27 led 2026, 07:03

Vyplivlo tohle:

Kód: Vybrat vše

loading library from /home/r/Arduino/libraries/ch32v307-lwip-main: invalid library: no header files foundloading library from /home/r/Arduino/libraries/ch32v307-main: invalid library: no header files found
FQBN: WCH:ch32v:CH32V30x_EVT
Using board 'CH32V30x_EVT' from platform in folder: /home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4
Using core 'arduino' from platform in folder: /home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4

Detecting libraries used...
/home/r/.arduino15/packages/WCH/tools/riscv-none-embed-gcc/8.2.0/bin/riscv-none-embed-g++ -march=rv32imafcxw -mabi=ilp32f -msmall-data-limit=8 -msave-restore -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -c -Os -DNDEBUG -Wunused -Wuninitialized -std=gnu++14 -fno-threadsafe-statics -fno-rtti -fno-exceptions -fno-use-cxa-atexit -I/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino/avr/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino/ch32/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino/ch32/lib/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/USER/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Core/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Debug/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Startup/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Peripheral/inc/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Peripheral/src/ -fpermissive -w -x c++ -E -CC -DCH32V30x -DARDUINO=10607 -DCH32V30x_C -DVARIANT_H="variant_CH32V307VCT6.h" -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/variants/CH32V30x/CH32V307VCT6 -o /dev/null -c /home/r/.cache/arduino/sketches/EB7A690AF3910270F69F342160812445/sketch/sketch_jan27a.ino.cpp
Generating function prototypes...
/home/r/.arduino15/packages/WCH/tools/riscv-none-embed-gcc/8.2.0/bin/riscv-none-embed-g++ -march=rv32imafcxw -mabi=ilp32f -msmall-data-limit=8 -msave-restore -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -c -Os -DNDEBUG -Wunused -Wuninitialized -std=gnu++14 -fno-threadsafe-statics -fno-rtti -fno-exceptions -fno-use-cxa-atexit -I/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino/avr/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino/ch32/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino/ch32/lib/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/USER/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Core/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Debug/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Startup/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Peripheral/inc/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Peripheral/src/ -fpermissive -w -x c++ -E -CC -DCH32V30x -DARDUINO=10607 -DCH32V30x_C -DVARIANT_H="variant_CH32V307VCT6.h" -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/variants/CH32V30x/CH32V307VCT6 -o /tmp/542276781/sketch_merged.cpp -c /home/r/.cache/arduino/sketches/EB7A690AF3910270F69F342160812445/sketch/sketch_jan27a.ino.cpp
/home/r/.arduino15/packages/builtin/tools/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /tmp/542276781/sketch_merged.cpp

Compiling sketch...
/home/r/.arduino15/packages/WCH/tools/riscv-none-embed-gcc/8.2.0/bin/riscv-none-embed-g++ -march=rv32imafcxw -mabi=ilp32f -msmall-data-limit=8 -msave-restore -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -c -Os -DNDEBUG -w -std=gnu++14 -fno-threadsafe-statics -fno-rtti -fno-exceptions -fno-use-cxa-atexit -MMD -I/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino/avr/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino/ch32/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino/ch32/lib/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/USER/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Core/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Debug/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Startup/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Peripheral/inc/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Peripheral/src/ -fpermissive -DCH32V30x -DARDUINO=10607 -DCH32V30x_C "-DVARIANT_H=\"variant_CH32V307VCT6.h\"" -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/variants/CH32V30x/CH32V307VCT6 -o /home/r/.cache/arduino/sketches/EB7A690AF3910270F69F342160812445/sketch/sketch_jan27a.ino.cpp.o -c /home/r/.cache/arduino/sketches/EB7A690AF3910270F69F342160812445/sketch/sketch_jan27a.ino.cpp
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino: In function 'void loop()':
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:26:68: error: 'PA11' was not declared in this scope
     try_toggle(PA8); try_toggle(PA9); try_toggle(PA10); try_toggle(PA11);
                                                                    ^~~~
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:26:68: note: suggested alternative: 'PA_11'
     try_toggle(PA8); try_toggle(PA9); try_toggle(PA10); try_toggle(PA11);
                                                                    ^~~~
                                                                    PA_11
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:27:16: error: 'PA12' was not declared in this scope
     try_toggle(PA12); try_toggle(PA13); try_toggle(PA14); try_toggle(PA15);
                ^~~~
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:27:16: note: suggested alternative: 'PA_12'
     try_toggle(PA12); try_toggle(PA13); try_toggle(PA14); try_toggle(PA15);
                ^~~~
                PA_12
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:27:34: error: 'PA13' was not declared in this scope
     try_toggle(PA12); try_toggle(PA13); try_toggle(PA14); try_toggle(PA15);
                                  ^~~~
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:27:34: note: suggested alternative: 'PA_13'
     try_toggle(PA12); try_toggle(PA13); try_toggle(PA14); try_toggle(PA15);
                                  ^~~~
                                  PA_13
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:27:52: error: 'PA14' was not declared in this scope
     try_toggle(PA12); try_toggle(PA13); try_toggle(PA14); try_toggle(PA15);
                                                    ^~~~
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:27:52: note: suggested alternative: 'PA_14'
     try_toggle(PA12); try_toggle(PA13); try_toggle(PA14); try_toggle(PA15);
                                                    ^~~~
                                                    PA_14
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:27:70: error: 'PA15' was not declared in this scope
     try_toggle(PA12); try_toggle(PA13); try_toggle(PA14); try_toggle(PA15);
                                                                      ^~~~
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:27:70: note: suggested alternative: 'PA_15'
     try_toggle(PA12); try_toggle(PA13); try_toggle(PA14); try_toggle(PA15);
                                                                      ^~~~
                                                                      PA_15
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:31:50: error: 'PB2' was not declared in this scope
     try_toggle(PB0); try_toggle(PB1); try_toggle(PB2); try_toggle(PB3);
                                                  ^~~
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:31:50: note: suggested alternative: 'PB_2'
     try_toggle(PB0); try_toggle(PB1); try_toggle(PB2); try_toggle(PB3);
                                                  ^~~
                                                  PB_2
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:31:67: error: 'PB3' was not declared in this scope
     try_toggle(PB0); try_toggle(PB1); try_toggle(PB2); try_toggle(PB3);
                                                                   ^~~
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:31:67: note: suggested alternative: 'PB_3'
     try_toggle(PB0); try_toggle(PB1); try_toggle(PB2); try_toggle(PB3);
                                                                   ^~~
                                                                   PB_3
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:32:16: error: 'PB4' was not declared in this scope
     try_toggle(PB4); try_toggle(PB5); try_toggle(PB6); try_toggle(PB7);
                ^~~
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:32:16: note: suggested alternative: 'PB_4'
     try_toggle(PB4); try_toggle(PB5); try_toggle(PB6); try_toggle(PB7);
                ^~~
                PB_4
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:32:50: error: 'PB6' was not declared in this scope
     try_toggle(PB4); try_toggle(PB5); try_toggle(PB6); try_toggle(PB7);
                                                  ^~~
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:32:50: note: suggested alternative: 'PB_6'
     try_toggle(PB4); try_toggle(PB5); try_toggle(PB6); try_toggle(PB7);
                                                  ^~~
                                                  PB_6
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:32:67: error: 'PB7' was not declared in this scope
     try_toggle(PB4); try_toggle(PB5); try_toggle(PB6); try_toggle(PB7);
                                                                   ^~~
/tmp/.arduinoIDE-unsaved2026027-8565-13okp4.xbt9/sketch_jan27a/sketch_jan27a.ino:32:67: note: suggested alternative: 'PB_7'
     try_toggle(PB4); try_toggle(PB5); try_toggle(PB6); try_toggle(PB7);
                                                                   ^~~
                                                                   PB_7
exit status 1

Compilation error: 'PA11' was not declared in this scope

Uživatelský avatar
Caster
Příspěvky: 502
Registrován: 11 zář 2019, 09:02

Re: CH32V307VCT6 development board

Příspěvek od Caster » 27 led 2026, 09:13

Super – tohle je konečně konkrétní a říká nám to hodně:

Tvůj WCH core pro CH32V30x nepoužívá makra PA11, PB2…, ale používá názvy pinů s podtržítkem typu PA_11, PB_2 atd. (přesně jak kompilátor napovídá).

Takže ten “panic toggler” musíme přepsat na styl pinů, který tenhle core očekává.

Posílám opravený Test 1 tak, aby kompiloval na tvém core 1.0.4. Záměr je stejný: přepínat co nejvíc GPIO, aby se něco projevilo (náhodná LED).

Kód: Vybrat vše

#pragma execution_character_set("utf-8")
#include <Arduino.h>

static inline void try_toggle(int pin)
{
  pinMode(pin, OUTPUT);
  digitalWrite(pin, !digitalRead(pin));
}

void setup()
{
  // žádný Serial, žádné předpoklady o LED
}

void loop()
{
  // Pozn.: některé piny nemusí existovat/nebýt vyvedené, ale makra typicky existují.
  // Pokud by některý pin makro chyběl, dej vědět a vylistujeme jen existující.

  // PA_0..PA_15
#ifdef PA_0
  try_toggle(PA_0);  try_toggle(PA_1);  try_toggle(PA_2);  try_toggle(PA_3);
  try_toggle(PA_4);  try_toggle(PA_5);  try_toggle(PA_6);  try_toggle(PA_7);
  try_toggle(PA_8);  try_toggle(PA_9);  try_toggle(PA_10); try_toggle(PA_11);
  try_toggle(PA_12); try_toggle(PA_13); try_toggle(PA_14); try_toggle(PA_15);
#endif

  // PB_0..PB_15
#ifdef PB_0
  try_toggle(PB_0);  try_toggle(PB_1);  try_toggle(PB_2);  try_toggle(PB_3);
  try_toggle(PB_4);  try_toggle(PB_5);  try_toggle(PB_6);  try_toggle(PB_7);
  try_toggle(PB_8);  try_toggle(PB_9);  try_toggle(PB_10); try_toggle(PB_11);
  try_toggle(PB_12); try_toggle(PB_13); try_toggle(PB_14); try_toggle(PB_15);
#endif

  // PC_0..PC_15 (na CH32V307 často existují)
#ifdef PC_0
  try_toggle(PC_0);  try_toggle(PC_1);  try_toggle(PC_2);  try_toggle(PC_3);
  try_toggle(PC_4);  try_toggle(PC_5);  try_toggle(PC_6);  try_toggle(PC_7);
  try_toggle(PC_8);  try_toggle(PC_9);  try_toggle(PC_10); try_toggle(PC_11);
  try_toggle(PC_12); try_toggle(PC_13); try_toggle(PC_14); try_toggle(PC_15);
#endif

  // PD_0..PD_15 (nemusí být vždy)
#ifdef PD_0
  try_toggle(PD_0);  try_toggle(PD_1);  try_toggle(PD_2);  try_toggle(PD_3);
  try_toggle(PD_4);  try_toggle(PD_5);  try_toggle(PD_6);  try_toggle(PD_7);
  try_toggle(PD_8);  try_toggle(PD_9);  try_toggle(PD_10); try_toggle(PD_11);
  try_toggle(PD_12); try_toggle(PD_13); try_toggle(PD_14); try_toggle(PD_15);
#endif

  delay(10);
}

Richard
Příspěvky: 24
Registrován: 25 led 2026, 07:12
Bydliště: Volyně

Re: CH32V307VCT6 development board

Příspěvek od Richard » 27 led 2026, 10:03

Kompilace i nahrání v pořádku.

Nedělá lautr nic.

Kód: Vybrat vše

loading library from /home/r/Arduino/libraries/ch32v307-lwip-main: invalid library: no header files foundloading library from /home/r/Arduino/libraries/ch32v307-main: invalid library: no header files found
FQBN: WCH:ch32v:CH32V30x_EVT
Using board 'CH32V30x_EVT' from platform in folder: /home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4
Using core 'arduino' from platform in folder: /home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4

Detecting libraries used...
/home/r/.arduino15/packages/WCH/tools/riscv-none-embed-gcc/8.2.0/bin/riscv-none-embed-g++ -march=rv32imafcxw -mabi=ilp32f -msmall-data-limit=8 -msave-restore -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -c -Os -DNDEBUG -Wunused -Wuninitialized -std=gnu++14 -fno-threadsafe-statics -fno-rtti -fno-exceptions -fno-use-cxa-atexit -I/home/r/Arduino/Toggle -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino/avr/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino/ch32/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino/ch32/lib/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/USER/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Core/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Debug/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Startup/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Peripheral/inc/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Peripheral/src/ -fpermissive -w -x c++ -E -CC -DCH32V30x -DARDUINO=10607 -DCH32V30x_C -DVARIANT_H="variant_CH32V307VCT6.h" -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/variants/CH32V30x/CH32V307VCT6 -o /dev/null -c /home/r/.cache/arduino/sketches/0E957AE4D86F28580FF73C8BA6F42B41/sketch/Toggle.ino.cpp
Generating function prototypes...
/home/r/.arduino15/packages/WCH/tools/riscv-none-embed-gcc/8.2.0/bin/riscv-none-embed-g++ -march=rv32imafcxw -mabi=ilp32f -msmall-data-limit=8 -msave-restore -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -c -Os -DNDEBUG -Wunused -Wuninitialized -std=gnu++14 -fno-threadsafe-statics -fno-rtti -fno-exceptions -fno-use-cxa-atexit -I/home/r/Arduino/Toggle -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino/avr/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino/ch32/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino/ch32/lib/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/USER/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Core/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Debug/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Startup/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Peripheral/inc/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Peripheral/src/ -fpermissive -w -x c++ -E -CC -DCH32V30x -DARDUINO=10607 -DCH32V30x_C -DVARIANT_H="variant_CH32V307VCT6.h" -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/variants/CH32V30x/CH32V307VCT6 -o /tmp/3616793850/sketch_merged.cpp -c /home/r/.cache/arduino/sketches/0E957AE4D86F28580FF73C8BA6F42B41/sketch/Toggle.ino.cpp
/home/r/.arduino15/packages/builtin/tools/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /tmp/3616793850/sketch_merged.cpp

Compiling sketch...
/home/r/.arduino15/packages/WCH/tools/riscv-none-embed-gcc/8.2.0/bin/riscv-none-embed-g++ -march=rv32imafcxw -mabi=ilp32f -msmall-data-limit=8 -msave-restore -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -c -Os -DNDEBUG -w -std=gnu++14 -fno-threadsafe-statics -fno-rtti -fno-exceptions -fno-use-cxa-atexit -MMD -I/home/r/Arduino/Toggle -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino/avr/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino/ch32/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino/ch32/lib/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/USER/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Core/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Debug/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Startup/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Peripheral/inc/ -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Peripheral/src/ -fpermissive -DCH32V30x -DARDUINO=10607 -DCH32V30x_C "-DVARIANT_H=\"variant_CH32V307VCT6.h\"" -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/cores/arduino -I/home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/variants/CH32V30x/CH32V307VCT6 -o /home/r/.cache/arduino/sketches/0E957AE4D86F28580FF73C8BA6F42B41/sketch/Toggle.ino.cpp.o -c /home/r/.cache/arduino/sketches/0E957AE4D86F28580FF73C8BA6F42B41/sketch/Toggle.ino.cpp
Compiling libraries...
Compiling core...
Using previously compiled file: /home/r/.cache/arduino/sketches/0E957AE4D86F28580FF73C8BA6F42B41/core/variant_CH32V307VCT6.cpp.o
Using previously compiled file: /home/r/.cache/arduino/sketches/0E957AE4D86F28580FF73C8BA6F42B41/core/PeripheralPins.c.o
Using precompiled core: /home/r/.cache/arduino/cores/778558e58b3221687e9d1d248abe21d8/core.a
Linking everything together...
/home/r/.arduino15/packages/WCH/tools/riscv-none-embed-gcc/8.2.0/bin/riscv-none-embed-g++ -march=rv32imafcxw -mabi=ilp32f -msmall-data-limit=8 -msave-restore -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -T /home/r/.arduino15/packages/WCH/hardware/ch32v/1.0.4/system/CH32V30x/SRC/Ld/Link.ld -nostartfiles -Xlinker --gc-sections -Wl,-Map,/home/r/.cache/arduino/sketches/0E957AE4D86F28580FF73C8BA6F42B41/Toggle.ino.map --specs=nano.specs --specs=nosys.specs -o /home/r/.cache/arduino/sketches/0E957AE4D86F28580FF73C8BA6F42B41/Toggle.ino.elf -L/home/r/.cache/arduino/sketches/0E957AE4D86F28580FF73C8BA6F42B41 -Wl,--start-group /home/r/.cache/arduino/sketches/0E957AE4D86F28580FF73C8BA6F42B41/sketch/Toggle.ino.cpp.o /home/r/.cache/arduino/sketches/0E957AE4D86F28580FF73C8BA6F42B41/core/PeripheralPins.c.o /home/r/.cache/arduino/sketches/0E957AE4D86F28580FF73C8BA6F42B41/core/variant_CH32V307VCT6.cpp.o -lprintfloat -Wl,--whole-archive /home/r/.cache/arduino/cores/778558e58b3221687e9d1d248abe21d8/core.a -Wl,--no-whole-archive -lc -Wl,--end-group
/home/r/.arduino15/packages/WCH/tools/riscv-none-embed-gcc/8.2.0/bin/riscv-none-embed-objcopy -O binary /home/r/.cache/arduino/sketches/0E957AE4D86F28580FF73C8BA6F42B41/Toggle.ino.elf /home/r/.cache/arduino/sketches/0E957AE4D86F28580FF73C8BA6F42B41/Toggle.ino.bin
/home/r/.arduino15/packages/WCH/tools/riscv-none-embed-gcc/8.2.0/bin/riscv-none-embed-objcopy -O ihex /home/r/.cache/arduino/sketches/0E957AE4D86F28580FF73C8BA6F42B41/Toggle.ino.elf /home/r/.cache/arduino/sketches/0E957AE4D86F28580FF73C8BA6F42B41/Toggle.ino.hex
/home/r/.arduino15/packages/WCH/tools/riscv-none-embed-gcc/8.2.0/bin/riscv-none-embed-size -A /home/r/.cache/arduino/sketches/0E957AE4D86F28580FF73C8BA6F42B41/Toggle.ino.elf
Sketch uses 6368 bytes (2%) of program storage space. Maximum is 262144 bytes.
Global variables use 456 bytes (0%) of dynamic memory, leaving 65080 bytes for local variables. Maximum is 65536 bytes.
"/home/r/.arduino15/packages/WCH/tools/openocd/1.0.0/bin/openocd" -f "/home/r/.arduino15/packages/WCH/tools/openocd/1.0.0/bin/wch-riscv.cfg" -c init -c halt -c "program {/home/r/.cache/arduino/sketches/0E957AE4D86F28580FF73C8BA6F42B41/Toggle.ino.elf} verify; wlink_reset_resume; exit;"
Open On-Chip Debugger 0.11.0+dev-02415-gfad123a16-dirty (2023-10-11-14:01)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'sdi'
Warn : Transport "sdi" was already selected
Ready for Remote Connections
Info : WCH-LinkE  mode:RV version 2.12 
Info : wlink_init ok
Info : clock speed 6000 kHz
Info : [wch_riscv.cpu.0] datacount=2 progbufsize=8
Info : [wch_riscv.cpu.0] Examined RISC-V core; found 1 harts
Info : [wch_riscv.cpu.0]  XLEN=32, misa=0x40901125
[wch_riscv.cpu.0] Target successfully examined.
Info : starting gdb server for wch_riscv.cpu.0 on 3333
Info : Listening on port 3333 for gdb connections
** Programming Started **
Info : device id = 0x72a22e08
Info : flash size = 288kbytes
Info : ROM 256 kbytes RAM 64 kbytes
** Programming Finished **
** Verify Started **
** Verified OK **

Uživatelský avatar
Caster
Příspěvky: 502
Registrován: 11 zář 2019, 09:02

Re: CH32V307VCT6 development board

Příspěvek od Caster » 27 led 2026, 10:10

Vyfoť desku z přední i zadní strany a dej sem fotky 8-) .

P.S. Zkus desku také nechat pod napájecím napětí a připoj Ethernet kabel z routeru, zda se nerozsvítí nějaká LEDka, případně nebude blikat. Svítí na desce alespoň LED "Power", tj. deska je pod napětím ?

Richard
Příspěvky: 24
Registrován: 25 led 2026, 07:12
Bydliště: Volyně

Re: CH32V307VCT6 development board

Příspěvek od Richard » 27 led 2026, 10:25

Ano, deska je pod napětím. Po připojení ethernet se neděje vůbec nic.
Přílohy
CH32V307VCT6-EVT_1.jpg
CH32V307VCT6-EVT_2.jpg

Richard
Příspěvky: 24
Registrován: 25 led 2026, 07:12
Bydliště: Volyně

Re: CH32V307VCT6 development board

Příspěvek od Richard » 27 led 2026, 11:23

CH32V003-F4P6-EVT_2.jpg
CH32V003-F4P6-EVT_1.jpg
Nebylo by lepší core otestovat na této malé desce, abychom byli konkrétnější?
Týkalo by se to těch pinů a sériové komunikace.

Hlavně se předem omlouvám, ale velký přínos by pro mě byl, abys napsal:
Příklad:

Tvoje:

Tvůj WCH core pro CH32V30x nepoužívá makra PA11, PB2…, ale používá názvy pinů s podtržítkem typu PA_11, PB_2 atd. (přesně jak kompilátor napovídá).

Otázky: co je to makro, co a kde toto přesně kompilátor napovídá?

Mimochodem by mi vůbec nevadilo používat číslování pinů jak je na pouzdře MCU.
No tedy hlavně co nejjednodušeji, abych to pochopil. Pak už můžu laborovat sám. Dík.

Uživatelský avatar
Caster
Příspěvky: 502
Registrován: 11 zář 2019, 09:02

Re: CH32V307VCT6 development board

Příspěvek od Caster » 27 led 2026, 13:41

Ozvu se večer, teď musím pracovat ;) .

Richard
Příspěvky: 24
Registrován: 25 led 2026, 07:12
Bydliště: Volyně

Re: CH32V307VCT6 development board

Příspěvek od Richard » 27 led 2026, 13:59

OK, děkuji.

Uživatelský avatar
Caster
Příspěvky: 502
Registrován: 11 zář 2019, 09:02

Re: CH32V307VCT6 development board

Příspěvek od Caster » 27 led 2026, 20:53

Na tvé desce máš 3 LED:
LED1, LED2 (jsou připojeny na Ethernet, nelze je ovládat pomocí pinů desky)
PWR (napájení desky)

Předpokládám, že desku napájíš přes USB konektor. Píšeš mi stále, že na desce žádná LED nesvítí... Po připojení USB kabelu (napájení) musí ale PWR (LED) svítit.

Zkusil bych ovládat jednu externí LED, kterou k desce připojíš. Pokud nějakou LED nemáš doma, kup ji spolu s rezistorem 330 Ohm, který s externí LED zapojíš do série. Připoj LED delší nožičkou (anoda +) na pin D0 (PA_0), kratší nožičkou na rezistor a druhý konec rezistoru na pin G (zem).

Nahraj testovací program (blikání LED) a spusť ho:

Kód: Vybrat vše

#pragma execution_character_set("utf-8")
#include <Arduino.h>

#define LED_PIN PA_0   // = D0

void setup() {
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_PIN, HIGH); // LED ON
  delay(1000);
  digitalWrite(LED_PIN, LOW);  // LED OFF
  delay(1000);
}
LED by měla blikat v intervalu 1 s. Dej vědět.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host