Найти в Дзене

CH32V*. Первое свидание. Часть 1

Очередной раз задумавшись о закупке для поделок дешевых миниатюрных МК пошел шерстить предложения. ESP32 мощная штучка. Мало GPIO, нет аппаратного USB (не рассматриваем более навороченные S2, S3 и т.п.), для прошивки нужен внешний USB-UART "свисток", хотя можно шить через OTA, что весомый аргумент, как и в принципе наличие беспроводных интерфейсов. Аналоги STM32F103C8T6 достаточно дешевы, есть поддержка в PlatformIO. Можно удобно прошивать через USB. Нет беспроводных интерфейсов. Но такая вычислительная мощность и количество пинов все еще бывает избыточно. Нужно что-то попроще. Что-то маленькое. Можно восьминогое. Что-то уровня Attiny13. Так я наткнулся на CH32V003J4M6 в корпусе SOP8. За 17 р/шт. (и это почти поштучная цена)! Давайте сравним одинаковой формы теплое с мягким) Выглядит здорово. Нужно брать! Заказал оценочный комплект из пары плат с CH32V003F4P6 и CH32V203C8T6 (с бонусом по 5 микросхем!), а также программатора WCH-LinkE (WCH-LinkE-R0-1v3). Дополнительно дозаказал CH32V00
Оглавление

Очередной раз задумавшись о закупке для поделок дешевых миниатюрных МК пошел шерстить предложения.

ESP32 мощная штучка. Мало GPIO, нет аппаратного USB (не рассматриваем более навороченные S2, S3 и т.п.), для прошивки нужен внешний USB-UART "свисток", хотя можно шить через OTA, что весомый аргумент, как и в принципе наличие беспроводных интерфейсов.

Аналоги STM32F103C8T6 достаточно дешевы, есть поддержка в PlatformIO. Можно удобно прошивать через USB. Нет беспроводных интерфейсов. Но такая вычислительная мощность и количество пинов все еще бывает избыточно.

Нужно что-то попроще. Что-то маленькое. Можно восьминогое. Что-то уровня Attiny13.

Так я наткнулся на CH32V003J4M6 в корпусе SOP8. За 17 р/шт. (и это почти поштучная цена)!

Замена Attiny13?

Давайте сравним одинаковой формы теплое с мягким)

* для CH32V003J4M6 под EEPROM имеется ввиду user-defined memory
* для CH32V003J4M6 под EEPROM имеется ввиду user-defined memory

Выглядит здорово. Нужно брать!

Оценочная плата WCH QingKe RISC-V

Изображение со страницы продавца
Изображение со страницы продавца

Заказал оценочный комплект из пары плат с CH32V003F4P6 и CH32V203C8T6 (с бонусом по 5 микросхем!), а также программатора WCH-LinkE (WCH-LinkE-R0-1v3).

Дополнительно дозаказал CH32V003J4M6 (те самые 8-pin) и еще один программатор, гуляющий по AliExpress. Хотел сравнить и проверить на практике чем они отличаются. После получения выяснил, что это первый WCH-Link (WCH-Link-R1-1v1).

И WCH-Link единственная модель, которая поддерживает RISC-V mode, но не для CH32V003 ;(

-5

Но должна работать с CH32V203C8T6:

-6

На странице продавца даже была заметка как переводить режим вручную:

-7

Пробовал. Пробовал менять и через саму утилиту WCH-LinkUtility.

Но с CH32V003 чуда не произошло. При коннекте и проверке наличия программатора в логе появляется:

Connected RISC-V mode WCH-Link Cnt:1

При проверке режима:

WCH-Link is at RISC-V mode!

При попытке что-либо сделать выскакивает ошибка:

WCH-Link doesn't support the choosen MCU, please use WCH-LinkE!

В общем при заказе для CH32V003 выбирайте и проверяйте, что это программатор WCH-LinkE.

Но неприятный сюрприз меня ждал и с CH32V203:

Из IDE непонятное:

Failed to configure mcu. Please refer to "WCH-LinkUserManual.pdf" for more help.

А из WCH-LinkUtility:

Failed,the chip type is not matched or status of chip is wrong!

Обновление прошивки программатора ситуацию не изменило.

При этом с WCH-LinkE все прошивается и прекрасно работает.

В какой-то момент заметил, что, иногда, чип отзывался. Подключил к плате питание через type-c и прошивка залилась с предупреждением:

Only WCH-LinkE support SDI Printf function!

Т.е. CH32V203 прошивать WCH-Link все-таки можно, но отлаживать через SDI Printf уже не выйдет.

Обновление рекомендации.
Нафиг эти
WCH-Link, берите только WCH-LinkE, если задумали работать с этими чипами!
Цена не сильно различается, а по функционалу и стабильности
WCH-LinkE выигрывает.

Пока на этом все. И так немного забежали вперед.

В следующей части напишем тестовую прошивку и проверим ее на CH32V003F4P6 и CH32V003J4M6.