Wch Link програматори - яка між ними різниця?

Коли я вперше звернув увагу на мікроконтролери CH32V на AliExpress, то одразу взяв кілька різних плат: пару штук із CH32V003 та одну потужнішу з CH32V307. Проте одразу виникло логічне питання: як їх прошивати? Мій звичний ST-Link для цієї архітектури точно не підійшов би. Тому я просто знайшов у того ж продавця перший-ліпший програматор із маркуванням WCH і докинув його в замовлення. Це виявився WCH-Link v1, побудований на базі чипа CH549G.

Які плюси в нього: - Відносно низька ціна: на розпродажах їх можна знайти від 2 доларів.

  • Універсальність: він підтримує як мікроконтролери WCH на базі RISC-V, так і ARM-сумісні чипи в режимі DAP (хоча останнє я на практиці ще не перевіряв).

  • Наявність вбудованого USB-UART: це надзвичайно зручно для відлагодження, і такої фічі мені часто бракувало в стандартному ST-Link.

Однак не обійшлося й без мінусів, які стали для мене неприємним сюрпризом. Головний недолік — він не прошиває лінійку CH32V00x. Виявилося, що ці дешевші мікроконтролери використовують інший протокол — однопровідний інтерфейс (1-wire). Тож мій WCH-Link v1 чудово справляється з більш складними чипами на кшталт CH32V2xx та CH32V3xxx (де є стандартний 2-wire SDI), але для “молодших” моделей він виявився марним.

До речі, з налаштуванням самого програматора також виник нюанс. Мій екземпляр ніяк не хотів перемикатися з режиму ARM (DAP) у RISC-V програмним шляхом - офіційна утиліта WCH-LinkUtility просто видавала помилку. Як з’ясувалося, режим можна змінити апаратно, і ця процедура працює як звичайний перемикач. Для цього потрібно:

  • Встановити перемичку між пінами GND та TX на вимкненому програматорі.

  • Підключити його до USB. При цьому синій світлодіод згасне (або навпаки засвітиться, змінюючи попередній стан на протилежний).

  • Зачекати кілька секунд, відключити програматор від живлення та прибрати перемичку.

Індикація режимів тут дуже проста: якщо синій світлодіод світиться — програматор перебуває в режимі ARM (DAP), якщо не світиться — працює в режимі RISC-V (RV).

Wch-LinkE

Коли я зрозумів, що придбав не зовсім той програматор, який потрібен, то одразу замовив WCH-LinkE. Він побудований вже на мікроконтролері CH32V305 і в продажу значно дорожчий за звичайний WCH-Link.

WCH-LinkE може без проблем прошивати не тільки лінійку CH32V00x, а й низку інших мікроконтролерів:

  • Серія CH32X - чипи з підтримкою інтерфейсу програмованого вводу/виводу (PIO) та контролером USB Power Delivery (PD).

  • Серії CH57x, 58x, 59x - мікроконтролери з бездротовими інтерфейсами (BLE тощо).

WeActStudio Wch-LinkE

Це клон від доволі відомого виробника модулів. Взагалі WCH не приховує дизайн програматора, а його бінарна прошивка є у вільному доступі, тому зробити клон дуже легко. І він матиме весь функціонал оригінального пристрою.

  




Що мені в ньому сподобалося:

  • Кнопки перемикання режимів ARM/RISC-V виведені назовні. В оригінальному програматорі вони заховані всередині корпусу, який не так вже й просто розібрати.

  • Type-C замість USB-A. У мене на столі завжди є вільний Type-C кабель поруч із клавіатурою, тому це набагато зручніше, ніж тягнутися до системного блока, схованого десь під столом.

Що не сподобалось:

  • Чомусь через кілька днів використання на програматорі злетіла прошивка, і він почав постійно блимати синім світлодіодом. З оригінальним пристроєм я такого ніколи не спостерігав. Проте це легко лікується: утиліта WCH-LinkUtility просто заливає нову прошивку, і програматор знову працює.

Коментарі

Популярні дописи з цього блогу

Огляд DC-DC Step-down Buck перетворювачів

Портуємо U8x8 на STM32 CMSIS

Як додати підтримку CH32V до Platform.IO