Самодельная и доступная альтернатива продаваемому программатору от STMicroelectronics. Является выдержкой и компиляцией нескольких статей и схем найденных в интернете. Реализация в минимально возможном форм-факторе.
У любого разработчика встраиваемого софта должен быть программатор для устройств которые он использует. В моём случае микроконтроллеры фирмы STMicroelectronics, а так же Milandr (российские процессоры на ядре ARM).
Покупка данного девайса весьма затратна, особенно если сравнивать с себестоимостью компонентов — печатной платы и радиодеталей.
Решено было сделать программатор самостоятельно. За основу легли схемы отладочных плат для различных МК, в итоге получился полнофункциональный отладочный модуль и не только для stm32, но и для stm8 и даже миландровских чипов (проверено пока только на К1986ВЕ92, но думаю и другие тоже будут шиться и отлаживаться).
Основные функции:
Интерфейсы программирования:
Сам программатор можно рассмотреть на фото выше. Провода растянутые по плате это лишь последующие доработки связанные с отсутствием необходимого светодиода (слева) и с необходимостью программировать платы без подачи на них питания (справа).
Ядром является контроллер stm32f103, который и используется во всех отладочных платах. На его входах и выходах устройства, я имею ввиду разъем для подключения программируемого микроконтроллера, установлены диоды для защиты от статики, диоды выбраны достаточно маленькие, но легко доступные и без особых сложностей впаиваемыми, даже людьми с ослабленным зрением, сам я впрочем и не жалуюсь со своими единичками на обоих глазах.
В качестве разъема для подключения к компьютеру используется microUSB, выбор пал только лишь из-за его современности по сравнению с его мини братом. У меня же самого на плате стоит именно мини, когда собирал заложенного микро не было в наличии.
После сборки и проверки на короткое замыкание подключаем устройство к компьютеру и видим что ничего не происходит, разве что программатор определяется как неизвестное устройство, причина в отсутствии прошивки.
Для обеспечения работы необходимо зашить по в микроконтроллер, для этого нам понадобиться usb-uart переходник, бутлоадер и утилита для прошивки.
Если с утилитой и переходником проблем на возникает, то с загрузчиком все несколько иначе — так как сама прошивка в контроллерах на отладочных платах заблокирована от считывания и вытащить у меня не получилось. Благо живем в современном мире, где есть интернет.
Решение было найдено на одном из многочисленных форумов — бинарник прошивки. Правда была проблема, после прошивки контроллера программатор определялся, но работать не хотел, зато спокойно прошивался через st-link utility, было решено подчистить файл прошивки, удалив все лишнее, оставив только сам загрузчик.
Как можно догадаться все удалось и теперь загрузчик можно взять здесь.
Для заливки используем разъем P1, выводы 3 и 4 которого замыкаем вместе, переводя микроконтроллер в режим загрузки по usart1. Подключаем uart переходники подаем питание на плату программатора, можно через usb разъем.
В утилите выбираем используемый последовательный порт и следуем остальным инструкциям. Этот процесс в картинках описывать нет смысла — все довольно тривиально.
После окончания прошивки отключаем все вспомогательные устройства и подключаем программатор к компьютеру, он должен нормально определиться. Теперь осталось обновить прошивку программатора с помощью st-link utility.
Можно пользоваться и наслаждаться работой собранного собственными руками программатора.
Данный программатор хорошо себя зарекомендовал, на протяжении года пользования. Отлично работал при -40о С в климатической камере, помогая отлаживать одно из разрабатываемых устройств, а так же дважды посетил вместе со мной Камчатку, где отлично себя чувствовал в суровых климатических условиях.
Для желающих собрать аналогичный программатор:
GERBER — st-link.zip
Описание — st-link-document.zip
Please enable JavaScript to view the comments powered by Disqus.Артикул: —
Добавить в избранное
Термоусадочная трубка (термоусадка, термокембрик, ТУТ)
Соединительные провода
Силиконовые провода (красные)
Коробка пластиковая с замком (для Starter Kit)
Батарейные блоки AA (с крышкой и без)
Резисторы (10 шт)
Крокодильчики (пара)
Гнездо на плату PLS-40
Пьезо пищалка
Breadboard Large
Тумблер 125В 6А
Макетки (макетка для прототипирования, односторонняя)
Программатор AVR на базе процессора ATMEGA8L. Стабильно поддерживаемые ОС: WIN98, WINME, WIN2K, WINXP, WIN7 Официальный софт: Progisp ( скачать) Драйвера: http://www.fischl.de/usbasp/
Характеристики: — Чип: ATMEGA8 — Частота: 12 МГц — Разъем: ISP 10 Pin — Рабочее напряжение: 3.3 — 5 В — Авто защита USB порта, при напряжении свыше 500 мА (авто-блокировка питания)
AT89S51 AT89S52 AT89S53 AT89S8253 AT89S2051 AT89S8252 AT89S4051 AT90can128 AT90can32 AT90can64 AT90pwm2 AT90pwm3 AT90s1200 AT90s2313 AT90s2323 AT90s2343 AT90s4414 AT90S8515 AT90S8535 AT90usb1286 AT90usb1287 Atmega103 Atmega128 Atmega1280 Atmega1281 Atmega16 Atmega161 Atmega162 Atmega163 Atmega164 Atmega165 Atmega168 Atmega169 Atmega2560 Atmega2561 Atmega32 Atmega323 Atmega324 Atmega325 Atmega3250 Atmega3259 Atmega329 Atmega3290 Atmega406 Atmega48 Atmega64 Atmega640 Atmega644 Atmega645 Atmega6450 Atmega649 Atmega6490 Atmega8 Atmega8515 Atmega8535 Atmega88
Attiny11 Attiny12 Attiny13 Attiny15 Attiny22 Attiny2313 Attiny24 Attiny25 Attiny26 Attiny261 Attiny28 Attiny44 Attiny45 Attiny46 Attiny461 Attiny84 Attiny85 Attiny861
Добавить в избранное
Паяльник 60W регулируемый 200-450С
Добавить в избранное
−16%
Скидка
Добавить в избранное
Sonoff Slampher — WiFi патрон E27 для лампочки
1 175 c
−190 c
985 c
Добавить в избранное
Добавить в избранное
Логический анализатор 8 каналов 24MHz
Добавить в избранное
Добавить в избранное
AD8232 модуль снятия ЭКГ
Добавить в избранное
Добавить в избранное
HDMI to MicroHDMI
Добавить в избранное
Добавить в избранное
Коврики для резки формата (A3, A4)
Добавить в избранное
Добавить в избранное
16-ти канальный контроллер для управления серво по I2C
Артикул: A1
Добавить в избранное
Добавить в избранное
Светящиеся маски под музыку и голос
Добавить в избранное
Добавить в избранное
Плата для разработки STM32F401CCU6 411CEU6
Добавить в избранное
Добавить в избранное
Геомагнитный датчик (компас) CJMCU-150 BMM150
Добавить в избранное
Добавить в избранное
Сенсор тока
Добавить в избранное
Избранное0Избранное
0Корзина0 c
Программатор кубов STM32Если вам это нравится, поделитесь им
–
STM32 Cube Programmer ( STM32CUBEPROG ) представляет собой универсальный программный инструмент для нескольких ОС для программирования STM32 и
90 внешних1 STM32 и
90 .
Ниже приведено краткое руководство по использованию кубического программатора STM32 (
ПРИМЕЧАНИЕ:
Дополнительная информация ниже
–
Введение
STM32CubeProgrammer обеспечивает простую в использовании и эффективную среду для чтения, записи и проверки памяти устройства через интерфейс отладки ( JTAG и SWD ) и загрузчик интерфейс ( UART и USB ).
STM32CubeProgrammer предлагает широкий спектр функций для программирования внутренней памяти микроконтроллера STM32 (например, Flash, RAM и OTP), а также внешней памяти .
STM32CubeProgrammer также позволяет программировать опции и загружать , программировать проверку содержимого и микроконтроллер
STM32CubeProgrammer поставляется в версиях GUI (графический пользовательский интерфейс) и CLI (интерфейс командной строки).
Основные характеристики
Перейти на TOP
–
Обновление микропрограммы ST-LINK-v2
Запустите первое появившееся окно 0 CP .
Если появляется строка:
Ошибка ST-LINK (DEV_OLD_FIRMWARE_WARNING)
вы должны сначала обновить FW ST-LINK-v2
Для UpGrade FW ST-LINK-v2, щелкните значок: FIRMWARE UPGRADE
затем нажмите: OPEN IN UPDATE MODE
и нажмите: UPGRADE
см. ниже.
На этом этапе выполните следующие действия:
Если CP показывает общую ошибку во время подключения к вашему ST-LINK-v2 или evaboard, сделайте следующее:
Теперь запустите CP, и на этом этапе все должно быть в порядке, см. ниже.
Перейти на TOP
–
Запрограммировать внутреннюю флэш-память STM32
Щелкните значок OPEN FILE , см. ниже.
В появившемся окне выберите файл, который будет использоваться для записи флэш-памяти (внутренняя флэш-память mcu).
Помните , формат файла должен быть:
Motorola S19 , Intel HEX , ELF и двоичные форматы .
Теперь нажмите на значке УДАЛЕНИЕ И ПРОГРАММИРОВАНИЕ (1),
Установите флажки:
ПРОВЕРКА ПРОГРАММИРОВАНИЯ
и
ВЫПОЛНИТЬ ПОСЛЕ ПРОГРАММИРОВАНИЯ
Теперь нажмите кнопку
9 START01PROGRAMMING 9.5
В конце процедуры вы должны увидеть примерно следующее.
Наверх
–
Программирование внешней памяти
Процедура аналогична программированию внутренней флэш-памяти, но в этом случае необходимо выбрать внешнюю память, см. ниже.
Наверх
Это руководство о том, как вручную прошить прошивку с помощью утилиты STM32CubeProgrammer. Эта утилита заменяет утилиту ST-Link и может потребоваться для некоторых компьютеров с Windows 10.
Вам понадобится эта утилита для замены загрузчика на микросхеме STM32. После замены вы можете выполнять все дальнейшие операции по обслуживанию микропрограммы с помощью инструмента nanoFramework Firmware Flash (nanoff.exe).
В мишени нужно прошить два образа, один для nanoBooter и другой для nanoCLR.
Загрузите ZIP-файл с прошивкой для платы с нашего веб-сайта здесь, нажав на соответствующий значок. Это приведет вас к нашему репозиторию Cloudsmith, в котором хранятся пакеты с готовыми образами для нескольких целевых плат. После загрузки разархивируйте содержимое пакета.
Подключите целевую плату к компьютеру с помощью USB-кабеля. Обратите внимание, что на большинстве макетных плат ST есть два разъема micro USB. Чтобы следовать этому руководству, вам нужно использовать тот, который обеспечивает соединение JTAG через отладчик ST-Link. Если вы сомневаетесь, проверьте печатную плату на наличие правильного или схему платы.
Запустите программатор кубов STM32, который вы только что установили, и подключите его к плате ST.
Выберите «USB» в параметрах интерфейса.
Перейдите к представлению «Стирание и программирование».
Выполните «полное стирание чипа», чтобы очистить флэш-память.
Загрузите файл nanoBooter.hex
из пакета, нажав кнопку «Обзор». Убедитесь, что вы установили флажки «Выполнить после программирования» и «Пропустить стирание флэш-памяти перед программированием» и нажали кнопку «Начать программу…». После завершения загрузки MCU сбрасывается и запускается образ nanoBooter. Вы можете проверить успешность операции, наблюдая за медленным миганием светодиода. Поздравляем, теперь у вас есть плата с загрузчиком nanoFramework!
Затем загрузите файл nanoCLR.hex
из извлеченной папки пакета, нажав кнопку «Обзор». Убедитесь, что вы установили флажки «Выполнить после программирования» и «Пропустить стирание флэш-памяти перед программированием» и нажали кнопку «Начать программу…». После завершения загрузки MCU сбрасывается, и запускается образ nanoCLR. На этот раз, и если все пойдет так, как ожидалось, светодиод не будет мигать. Вы можете проверить, правильно ли работает плата .NET 9.0009 nanoFramework , заглянув в окно Device Explorer в VS. Возможно, вам придется нажать кнопку «Повторно сканировать наноустройства» (значок увеличительного стекла).
Переведите устройство в режим загрузчика.