Ви не увійшли.
хттпс://github.com/aappleby/picorvd
Надибав таке. Виглядає непогано, і rp2040 в хазяйстві є ![]()
Але не працює ![]()
blink наче заливає, але рівень на пінах не міняється.
При спробі debug - відтворюється хттпс://github.com/aappleby/picorvd/issues/8
Що хотів сказати автор issue.. Не та версія компілятора? gdb? А яка потрібна? ..
Жаль що до кінця ту штуку не доробили ![]()
Ну коли замість програматора за 300 грн UART за 50 - в принципі непогано..
Няп тут про bootloader, який переводиться в режим dfu підтяжкою одної ноги. Для 8-ногого контроллера 3 ноги віддати для програмування це по багатому
Ну 2 з них - UART, як і в ардуіні. Атмегу ж теж можна хоч по ISP, хоч одним проводом по debugWIRE прошивати, але не всі хотять додаткові провода, хотять бутлоадер і аплоад з IDE. В деяких випадках так зручніше.
Колись хотів детально розібратись, які там є доступні варіанти прошивки окрім SWIO, але руки не дійшли. З WCH-LinkE запрацювало, цього було достатньо. Але надибав такий опис: WCH CH32V003 Factory Bootloader - The Missing Manual.
Follow this document to flash the USART IAP boot-loader using WCH-LinkE hardware
Няп тут про bootloader, який переводиться в режим dfu підтяжкою одної ноги. Для 8-ногого контроллера 3 ноги віддати для програмування це по багатому
можна, звичайно, вивернутись, вкрутити резисторів.. але wch-linke все одно потрібен.
Ну.. такоє.. якщо в мене є програматор, який по 3 проводах може залити bootloader.. і працювати як debugger.. навіщо заливати програму через uart і 4 проводи?
Мені здається, сенс приведених лінків у тому, що Ardulink-pio - не єдине можливе рішення працювати з CH32V003 при відсутності WCH-LinkE.
А з Ardulink-pio прошивщик хіба не пише у віртуальний UART, який по USB пише в USB-UART адаптер, який в свою чергу пише в атмегу, яка уже по 3х проводах взаємодіє з цільовим МК? Тут від ардуіно просто зручність, що USB-UART та контролер на одній платі.
Це якщо взяти МК, який реалізує USB девайс, то можна позбутись UART'а із ланцюжка. Але тоді прошивщик має вміти взаємодіяти з vendor-specific USB девайсом.
Ну.. такоє.. якщо в мене є програматор, який по 3 проводах може залити bootloader.. і працювати як debugger.. навіщо заливати програму через uart і 4 проводи?
_https://github.com/74th/ch32v003-uart-programmer
_https://github.com/Dieu-de-l-elec/AngstromIO-devboard
Хттпс://github.com/NgoHungCuong/1-Wire-CH32V003 ?
Щось сложне. Няп це ліба під ch32f103
ch32v003 весч.....вже більше 10 проектів зробив ...на 8ногій ...теж купив wch-link, а потім докупляв з буквою Е
прогер можна зробити на CH32V003F4P6 та ch340 - проект на гітхабі NHC_WCH_SDI
Софт на ардуіно,прогер WCH-LINKUTILITY 2.90
Тепер би ще придумати до чого приспособити той wch-link
Ну як мінімум як USB-UART адаптер має працювати
А можна заморочитись і спробувати перешити його додатково під інший протокол, зробити 1-Wire / debugWIRE адаптер, чи I²C, чи повільний напівдуплексний SPI. Дивлячить на якому МК і як він там зроблений. А AVR ISP, мабуть, без хірургічного втручання не вийде, бо 4 лінії потрібно.
Тепер би ще придумати до чого приспособити той wch-link ![]()
У 8 ногих дрібноконтролерів свій шарм
Так, теж прошивається.
Наскільки розумію, кристал у всіх CH32V003 абсолютно однаковий, просто в різних корпусах.
У 8 ногих дрібноконтролерів свій шарм
Так, теж прошивається.
board = genericCH32V003J4M6wch-linkE сам по собі на CH32V305 зроблений)
Інший контроллер, і ціна інша ![]()
CH32V003F4P6
Бавився з ними трохи, а також з восьминогими CH32V003J4M6. Правда, не через ардуіно фреймворк, а з ch32v003fun.
Якби їм ще зовнішній Vref зробили, взагалі ціни би їм не було. І засмутила відсутність SPI у J4M6.
він же SWD, і, схоже, не можна його просто взяти і використати як GPIO.
Так, не можна. Мало того, якщо спробувати використати, можна залочити чіп у непрацездатний стан. І якщо F4P6 розлочити доволі просто, то щоб розлочити J4M6 без NRST піна довелось потанцювати з бубном.
Я купив wch-link, а треба wch-linkE
wch-linkE сам по собі на CH32V305 зроблений)
Купив собі колись кілька плат з CH32V003F4P6 на розпродажі, і програматор, і нарешті дійшли ручки іх помацати ![]()
І вияснилось, що програматор не той
Я купив wch-link, а треба wch-linkE ![]()
Але не все так фатально. В інтернетах є проект емулятора minichlink на arduino ![]()
Береться хттпс://github.com/Community-PIO-CH32V/Ardulink-pio, зашивається звичайним способом в Arduino (я взяв Uno). Для інших варіантів треба вказати правильну плату, з правильною частотою резонатора.
Тепер arduino стає Ardulink Programmer. І platformio може з ним працювати (mounriver-studio, на жаль, ні).
Якщо в platformio.ini вписати
[env:ch32v003f4p6_evt_r0]
platform = ch32v
board = ch32v003f4p6_evt_r0
framework = arduino
upload_protocol = minichlink
upload_port = /dev/ttyACM0
upload_flags = "-c ${UPLOAD_PORT}"то все прошивається, правда повільно.
З"єднання таке:
Arduino - CH32
GND - GND
8 - 1K резистор - SWD
9 - V
Класичний blink
#include <Arduino.h>
#define LED_PIN PD0
void setup() {
pinMode(LED_PIN, OUTPUT); }
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(250);
digitalWrite(LED_PIN, LOW);
delay(250);
}працює, але не без особливостей. Internal LED тут припаяний до PD1, він же SWD, і, схоже, не можна його просто взяти і використати як GPIO.