- Топ-10 лучших программаторов и дебаггеров с Алиэкспресс
- УНИВЕРСАЛЬНЫЙ ПРОГРАММАТОР
- Схема универсального программатора
- Программатор weblink своими руками
- Черная магия голубой таблетки (делаем программатор Black Magic Probe из модуля на базе STM32F103)
- Зачем?
- Black Magic Probe (BMP)
- Преимущества и недостатки BMP по сравнению с китайскими клонами Segger Jlink и ST-LINK/V2:
- Черная магия за 4 шага
- Шаг 1 – Создание файлов бутлодера и самого blackmagic’a
- Шаг 2 — Загрузочный скрипт
- Шаг 3 — Прошивка бутлодера
- Шаг 4 — Черная магия (превращение STM32 в BMP)
- Как пользоваться (пример прошивки уже скомпилированного файла myfile.hex):
- Продолжение следует…
Топ-10 лучших программаторов и дебаггеров с Алиэкспресс
В жизни любого радиолюбителя наступает момент, когда собранный своими руками программатор хочется заменить на что-то купленное и с бОльшими возможностями. Или расширить номенклатуру совместимых кристаллов. На Алиэкспресс можно найти огромный ассортимент универсальных программаторов и готовые адаптеры для установки микросхем памяти и контроллеров. В подборке будут интересные модели для AVR (ATMega/ATTiny), для PIC, STM8/STM32, для EEPROM, для Zigbee контроллеров и адаптеры.
Все больше становится доступного программного обеспечения, с помощью которого можно настраивать по себя различные модули и устройства. А конкретно, CC-Debugger может использоваться для программирования и отладки систем на базе 8051, например, модулей CC2531, на базе которых производятся гаджеты для умного дома и «интернета вещей». Работает с программным обеспечением IAR и SmartRF Studio.
Хороший пример использования предыдущего отладчика CC-Debugger — это заливка адаптированной прошивки в компактный USB донгл для сети Zigbee. С помощью модифицированного Zigbee трансмиттера можно привязывать устройства в свою сеть, создавать собственные Zigbee-мосты, анализировать протоколы датчиков и так далее.
Один из лучших программаторов для AVR — это классический USBASP, компактный и универсальный программатор, для загрузки программного обеспечения через интерфейс ISP. В комплекте есть кабель для загрузки через ISP на 10 контактов. Подходит не только для семейства ATMEGA8, но и для новых ATMEGA128. Работает в Win7.
А это еще один вариант USB ISP программатора для AVR (семейства ATMega и ATTiny). В отличие от предыдущего имеет выбор питания кристалла (5V или 3.3V джампером), а также в два раза меньшую стоимость. Интерфейс для программирования ISP, но есть смысл воспользоваться отдельным адаптером с ISP10 на ISP6 для удобства работы с компактными отладочными платами Arduino.
Устройство представляет собой полноценный uart-мост и эмулятор последовательного порта. Предназначен для прошивки микросхем памяти (24 EEPROM и 25 SPI flash 8pin/16pin) и микроконтроллеров по spi (AVR, PIC, Singlechip STC). Подходит для восстановления флэш-памяти BIOS USB. Для работы с контроллерами Атмел используется программное обеспечение AVR CH341A или AVRDUDE
Для работы с устройствами от STMicroelectronics рекомендую использовать программатор ST LINK. По ссылке версия ST-Link V2, который подходит для чипов семейств STM8 и STM32. Удобен для загрузки встроенного программного обеспечения на контроллер прямо в составе схемы, а также для отладки работы и поиска ошибок. В комплекте есть 4-pin кабель. Цена смешная — полтора бакса.
А вот если нужен адаптер посерьезнее, то есть смысл посмотреть недорогой программатор SWD, который совместим со всеми функциями J-Link. В данной модели интерфейс упрощен до четырех линий: VCC, SWDIO, SWCLK, GND. Но, по сравнению с обычными, этот вариант быстрый и эффективный. Подключается через MicroUSB, корпуса, увы, не предусмотрено. Цена всего 2 бакса.
Один из лучших USB программаторов для PICmicro контроллеров и ключей KeeLOQ производства компании Microchip Technology. В лоте на выбор есть модели: PICKIT3, PICKIT2 или PICKIT 3,5. Лучше брать последние версии устройства. В комплекте идет плата расширения с ZIF-сокетом (PIC ICD2). Полный схемотехнический аналог фирменного программатора PICKIT 3 компании Microchip.
Новейшая версия универсального USB программатора EZP2019 с высокоскоростным интерфейсом SPI с большим набором адаптеров для EEPROM, клипсами и диском с программным обеспечением. Этот вариант несколько лучше дешевого программатора CH341A. Является усовершенствованной версией программаторов EZPO2010/EZP2013. В комплекте есть все необходимое для работы.
Есть еще один хороший вариант — универсальный программатор TL866II, но он не поместился в текст статьи, о нем будет позже.
Рекомендую ознакомиться с другими подборками по другим темам:
Источник
УНИВЕРСАЛЬНЫЙ ПРОГРАММАТОР
Сейчас без микроконтроллеров не обходится ни одна серьёзная конструкция. Где-то ставят ПИК, где-то АВР. И для работы с ними нужен программатор. А чтоб не делать несколько разных — соберите один для различных типов МК. Предлагаю вашему вниманию универсальный программатор EXTRA-PIC v3.2, с возможностью программирования как PIC, так и AVR контроллеров.
С помощью EXTRA-PIC+ можно программировать следующие чипы:
- 10F серии: PIC10F206 PIC10F204 PIC10F202 PIC10F200
- 12F серии: PIC12F683 PIC12F675 PIC12F635 PIC12F635 PIC12F629 PIC12F510 PIC12F509 PIC12F508
- 16F/С серии: PIC16F627 PIC16F627A PIC16F628 PIC16F628A PIC16F630 PIC16F636 PIC16F639 PIC16F648A PIC16F676 PIC16F684 PIC16F685 PIC16F687 PIC16F688 PIC16F689 PIC16F690 PIC16F73 PIC16F74 PIC16F76 PIC16F77 PIC16F716 PIC16F737 PIC16F747 PIC16F767 PIC16F777 PIC16F83 PIC16F84 PIC16F84A PIC16F87 PIC16F88 PIC16F818 PIC16F819 PIC16F870 PIC16F871 PIC16F872 PIC16F873 PIC16F873A PIC16F874 PIC16F874A PIC16F876 PIC16F876A PIC16F877 PIC16F877A PIC16C61 PIC16C62 PIC16C62A/B PIC16C63 PIC16C63A PIC16C64 PIC16C64A PIC16C65 PIC16C65A/B PIC16C66 PIC16C67 PIC16C620/A PIC16C621/A PIC16C622/A PIC16CE623 PIC16CE624 PIC16CE625 PIC16C71 PIC16C72 PIC16C72A PIC16C73 PIC16C73A/B PIC16C74 PIC16C74A/B PIC16C76 PIC16C77 PIC16C710 PIC16C711 PIC16C712 PIC16C716 PIC16C745 PIC16C765 PIC16C773 PIC16C774 PIC16C923 PIC16C924 PIC16C925 PIC16C926
- 18F серии: PIC18F1220 PIC18F2220 PIC18F2320 PIC18F2331 PIC18F2410 PIC18F242-2439 PIC18F2420 PIC18F2431 PIC18F2455 PIC18F248 PIC18F2480 PIC18F2510 PIC18F2515 PIC18F252-2539 PIC18F2520 PIC18F2525 PIC18F2550 PIC18F258 PIC18F2580 PIC18F2585 PIC18F2610 PIC18F2620 PIC18F2680 PIC18F4220 PIC18F4320 PIC18F4331 PIC18F4410 PIC18F442-4439 PIC18F4420 PIC18F4431 PIC18F4455 PIC18F448 PIC18F4480 PIC18F4510 PIC18F4515 PIC18F452-4539 PIC18F4520 PIC18F4525 PIC18F4550 PIC18F458 PIC18F4580 PIC18F4585 PIC18F4610 PIC18F4620 PIC18F4680
- EEPROM 24C серии: 24C512 24C256 24C128 24C64 24C32 24C16 24C08 24C04 24C02 24C01
- EEPROM 93хх серии
Данный перечень программируемых микросхем постоянно расширяется, их можно без труда программировать, только перед программированием, обязательно найдите datasheet на чип и проверьте расположение выводов.
Схема универсального программатора
Теперь немного о значении джамперов и выключателя. Выключатель, как это и должно быть по логике, управляет питанием. Контактные штырьки J3 отвечают за возможность повторного программирования некоторых микроконтроллеров (так как после подачи напряжения на запрограммированный чип, он сразу же начинает выполнять свою программу, и из-за чего не поддается перепрограммированию). J3 – положение: 1-2 – режим первого программирования, 2-3 – режим повторного программирования (если первый выдает ошибки). Контактные штырьки J4 переключение между MISO и MOSI. Десятипиновый разъем предназначен для подключения адаптеров.
Источник
Программатор weblink своими руками
Оговорюсь сразу, для тех кто в теме.
По объективным и субъективным причинам был выбран iDATAlink START-IB.
Но самое главное он намного дешевле конкурентов,например FORTIN. К томуже общаясь с FORTIN толком никто и несказал получиться ли на наше авто поставить или нет. Но есть одно НО с iDATAlink — официально у нас никакой поддержки нет, так что с проблеммами один на один. К тому же «представитель» в Киеве с такими «старыми» авто не работал,хотя не отрицал что получиться, но гарантии не давал. Для работы надо кабель-перепрошивальщик WEBLINK-UPDATER.
На сайте iDATAlink РАША инфа вся есть, но она как бы сказать теоретитести правильна, но она как бы перемешана, и не вся. ИМХО представительство РАША более орентируеться, что монтаж будут вести опытный спец, хотя там ничего абсолютного сложного нет.
А не буду тут расказывать про драйвера и плагин в браузер, регистрацию на сайте, правильно ли все електрические соединения провести и тд.
Повторюсь на сайте порядок действий описан по другому, инструкция гласит , что я с купленым обходчиком должен был подойти к авто и начать 1 этап обучения, после завершения 1 этапа, я должен был взять кабель WEBLINK-UPDATER, зайти на сайт и завершить 2 этап окончательный, и обходчик готов к работе. Но реалии оказались абсолютно другими.
Обходчикч изначально програмно пуст, и он не «понимает» конкретно выбраное авто, сначала надо ему туда залить ПО под конкретное авто, а потом идти его обучать. В инструкции все наоборот, зная б я это, мне бы не нужно было искать кабель прошивальщик, а банально обратиться к «серому» представителю, что бы он залил нужное ПО сразу в обходчик и продал мне, мне бы только осталось развести провода и простенькую процедуру обучения проделать. К слову «представитель» тоже этого не знал, как с такими «старыми» авто обращаться.
Пошли дальше. На сайте написано что Тюксоны(у меня спортаж, не важно) должны прошиваться ПО под названием SIB(KEY)-HK2(HK означает хюндэ киа), тип эл.подключения обходчика 22, скачаете PDF с сайта увидите. И тут обратно не сошлось, прошитое ПО под названием SIB(KEY)-HK2 не «понимает» авто. Почитав скудный форум некоторые авто заработали с ПО SIB(KEY)-HK. Решил перепрошить на SIB(KEY)-HK. Как оказалось SIB(KEY)-HK2 работает только с 4-цилиндровыми моторами тюксон2004-2010, а с V6 нужна только SIB(KEY)-HK.
Источник
Черная магия голубой таблетки (делаем программатор Black Magic Probe из модуля на базе STM32F103)
Зачем?
В эпоху Arduino UNO и Atmega328 я вполне обходился без программатора, прошивая микроконтроллер сначала загрузчиком Arduino через другую Arduino (Arduino as ISP), а потом через обычный последовательный порт, и лишь после появления поддержки Arduino для модулей на основе Nordic Semiconductor nrf51822 и nrf52832 для меня впервые стало актуальным наличие swd-программатора, ибо никаким другим способом прошивку в голый китайский модуль не зальешь.
Стандартом де-факто в данной области являются программаторы Jlink немецкой компании Segger Microcontroller System, известные не только своими прекрасными ТТХ, но и заоблачной ценой (около $500-600). Надо отдать должное компании Segger, для некоммерческого использования выпускается EDU версия, полностью идентичная Jlink Base, но даже она стоит в России в районе 3000 руб. Любимый Aliexpress полон китайских клонов, однако и они относительно недешевы, не говоря уж о прочем.
Есть еще ST-LINK/V2 от ST Microelectronics, правда, под вопросом их совместимость с микроконтроллерами производства не самой STMicro.
В итоге, мой взгляд неминуемо пал на JTAG/SWD программатор Black Magic Probe (BMP), собравший на Kickstarter более $47,000 при заявленной цели в $10,000.
Black Magic Probe (BMP)
- Open-source программатор; работающий по интерфейсу JTAG или SWD и обеспечивающий полноценную отладку
- Имеет встроенный GDB-сервер (не требуются «промежуточные» программы типа OpenOCD)
- Поддерживает микроконтроллеры с ядрами ARM Cortex-M and Cortex-A
- Работает в Windows, Linux and MacOS (в двух последних работает без драйверов)
Преимущества и недостатки BMP по сравнению с китайскими клонами Segger Jlink и ST-LINK/V2:
(+)
- чистая совесть (никаких контрафактных клонов)
- дешевизна (об этом чуть позже)
- имеет как JTAG, так и UART интерфейсы (особенно актуально для отладки в arduino-стиле через serial.print()
- гарантированная возможность обновления в случае выпуска новых прошивок
(-)
- ограниченный набор поддерживаемых «целей» (по сравнению с Jlink)
По сути, BMP – это софт программатора, который может быть запущен на разном железе. Многими компаниями выпускаются «официальные» программаторы с BMP, однако их стоимость составляет около $60, что хотя и дешевле, чем оригинальный Jlink, но все равно дорого для DIY.
Можно ли заиметь крутой Black Magic Probe, не платя при этом $60? Да.
Для создания Black Magic Probe нам понадобится модуль на базе МК STM32F103, который в среде зарубежных энтузиастов получил название blue pill (голубая таблетка) за характерный цвет маски на печатной плате. Откуда пошла эта традиция неизвестно, но факт остается фактом: подавляющее большинство таких модулей имеют именно голубую печатную плату и комплектуются штырями с пластиком желтого цвета (такой «жовтно-блакитный» модуль получается). Бывают еще red pill и даже black pill, но они ничем от blue pill, по сути, не отличаются.
Черная магия за 4 шага
Шаг 1 – Создание файлов бутлодера и самого blackmagic’a
(если появляются сообщения об ошибке, открываем любым редактором (я использую nano) файл make:
находим 13-ую строку, она выглядит вот так: « CFLAGS += -Wall -Wextra -Werror -Wno-char-subscripts\ » и удаляем « -Werror ”, те строка должна превратиться в: « CFLAGS += -Wall -Wextra -Wno-char-subscripts\ », выходим с сохранением (ctrl-x, y) и опять запускаем
make
Теперь заходим в каталог src:
и вводим команду:
в результате чего, в директории src у нас появятся 2 файла: blackmagic_dfu.bin и blackmagic.bin
Обратите внимание, что там создается еще куча всяких файлов, нас интересуют только эти два.
Шаг 2 — Загрузочный скрипт
копируем созданные ранее файлы в каталог со свежескаченным скриптом:
Шаг 3 — Прошивка бутлодера
С левой стороны модуля STM32 находятся два желтых джампера, обозначенные boot0 и boot1. Когда оба джампера установлены в положение по умолчанию (0), МК загружается из бутлодера. Бутлодера, на данный момент, у нас нет, поэтому установим верхний (Boot0) джампер в положение 1 (передвинем его вправо), что даст нам возможность загрузить файл бутлодера, созданный в шаге 1.
Соединяем STM32 и USB-TTL адаптер по следующей схеме:
Подключаем USB-TTL адаптер (вместе с STM32 модулем) к компьютеру, запускаем
dmesg и смотрим к какому порту подключился адаптер. В моем случае это был /dev//ttyUSB0
Находясь в директории stm32loader, запускаем команду:
естественно, вместо ttyUSB0 нужно поставить тот порт, на который у вас сел USB-TTL адаптер.
Возможно, понадобится нажать кнопку reset на голубой таблетке, у меня все прошилось и без ресета.
Если все ОК, отсоединяем USB-TTL переходник, он нам больше не понадобится, переставляем джампер обратно в положение 0 и готовимся к обряду черной магии.
Шаг 4 — Черная магия (превращение STM32 в BMP)
Подсоединяем наш stm32 модуль через обычный micro-usb кабель. Устанавливаем dfuutil:
Для проверки отсоединяем/присоединяем usb-кабель, запускаем dmesg , должно быть видно 2 устройства: Blackmagic GDB и Blackmagic COM.
Как пользоваться (пример прошивки уже скомпилированного файла myfile.hex):
Для Windows 7 и ниже система попросит установить драйверы, их можно взять
отсюда. В Windows 10 все работает as is.
В Диспетчере устройств смотрим номер порта, к которому подключился BMP, скорее всего это будет что-то типа COM11 и COM12:
Подключаем к микроконтроллеру по следующей схеме:
Микроконтроллер | BMP |
---|---|
GND | GND |
SWDIO | PB14 |
SWCLK | PA5 |
VCC | 3.3V |
Если нужен последовательный порт, то дополнительно подключаем:
Микроконтроллер | BMP |
---|---|
RXD | PA3 |
TXD | PA2 |
Далее из командной строки (подразумевается, что путь к gdb-отладчику у вас прописан в path):
arm-none-eabi-gdb.exe -ex «target extended-remote \\.\COM11» (префикс \\.\ нужен в случае, если номер порта >=10)
Собственно, все эти команды можно «зашить» в одну, получится что-то типа
arm-none-eabi-gdb.exe -ex «target extended-remote \\.\COM11» –ex “monitor swdp_scan” -ex «att 1”-ex “mon erase_mass” –ex “cd ” –ex “load myfile.hex” –ex “quit”
Продолжение следует…
В следующий раз мы научимся использовать BMP для программирования в среде Arduino Bluetooth-модуля на базе nrf51822 со встроенным процессорным ядром Cortex M0
Источник