Оболочка для прошивки серийных устройств

По итогам двух лет работы с предыдущей версией программы сделал я новую версию ПО, переписанную, практически, с нуля (внутренние механизмы заметно изменились).



Читать дальше

RTT с помощью OpenOCD (без J-Link и без софта от Segger)

Фирменный софт от Segger, разработчика программаторов J-Link, имеет одну очень удобную функцию, а именно терминал реального времени — Real Time Terminal (RTT) (есть информация на русском и пример использования). Вещь удобная, позволяет получить терминал до МК прямо во время отладки по SWD. По скорости и функционалу превосходит Semihosting и вывод информации через пин SWO. И хотя идея не оригинальна (например, до недавнего времени что-то подобное было в в составе набора утилит stlink utils от Texane), реализация оказалась удачной и удобной для использования. Поддерживаются все МК ARM Cortex-M. Жирный минус — привязка к недешёвым программаторам J-Link и к их фирменному софту. И если первая проблема уже давно решается покупкой клона или превращением ST-Link в J-Link OB, то вторая до недавнего времени не имела решений — или используй фирменный софт и бойся, что он залочит клон, или забудь об RTT. Но решение появилось: проект открытого отладчика для чипов OpenOCD (Open On-Chip Debugger) уже несколько лет поддерживает программаторы J-Link (без проблем работает прошивка и отладка), а в марте в репозитории проекта OpenOCD появился патч от Marc Schink, добавляющий поддержку RTT. Более того — вещь получилась универсальная, работает даже с другими SWD программаторами (я тестировал с ST-Link). И хотя патч ещё не включён основную ветку OpenOCD, ничто не мешает нам его попробовать.

Тестирование будем проводить на Linux (но можно повторить и на других ОС), программаторы J-Link-OB-072 и ST-Link-v1.

Читать дальше

CMSIS-DAP на STM32F4Discovery

Тут уже лет 5 назад упоминали о таком, но мало ли. CMSIS-DAP какой-то канонный опенсорсный интерфейс отладки от ARM для кортексов на базе протокола USB HID. Т.е. не привязанный к конкретному производителю контроллеров и не требующий драйвера.
Более мощная версия этой штуки (со всякими балалайками, типа популярной нынче прошивки через MSD, или USB-UART) развивается mbedом и называется DAPLink.





Читать дальше

Кухонный таймер



Вступление

(можно не читать).
Достаточно часто на кухне надо следить за длительностью какой-нибудь операции или процесса. Например, чайничек поставили наливаться или макарошки вариться, или мясо в духовку ваша ненаглядная поставила. И вроде бы все хорошо, но стоит зазеваться(или засидеться в интернете), как чайник перельется, макароны переварятся или что еще хуже – мясо в духовке подгорит!
Для решения данного вопроса был приобретен механический таймер в виде яйца. И, в общем, он был неплох — места не занимает, звенит громко. Но спустя полгода таймер начал куда-то спешить. Да прилично так. Заводишь его на час, а он уже минут через 40 звенит. В общем не порядок! Немного подумав и посмотрев на готовые варианты, все-таки решил сделать свой кухонный таймер.

Требования

Требования были к нему достаточно простые:
  • Электронное управление
  • ЖК-индикация
  • Звуковая сигнализация
  • Компактность
  • Низкое энергопотребление
  • Измерение температуры (ну, как же без нее :-))



Читать дальше

AVRISPmkII на STM32F4Discovery

Изучал USB-библиотеку на STM32F4 и как побочный результат этой деятельности получился клон AVR ISP mkII.
В архиве hex прошивки и исходник.

Распиновка ISP (AVR):
PD7 — RESET
PB3 — SCK
PB4 — MISO
PB5 — MOSI

Распиновка PDI (XMega):
PB13 — CLK
PB15 — DATA

PE5 — 4 МГц меандр на всякий случай

Красная лампочка просто моргает, зелёная — при активности.
stm32f4discovery as avrispmkII

Вдруг просто надо будет что-то авровское прошить, а под рукой программатора нет. А так можно быстро сколхозить из весьма распространённой отладки. Номер версии ПО: 0x18.

Цифровые мультиметры "нищебродов в_прыжке"

Дайджест сетевой инфы о популярных handheld DMMs (Digital MultiMeters)


Читать дальше

Чудо враждебной техники

Приехала мне вот тут новая игрушка, смотрите какая красота! Для сравнения размеров в кадре зубочистка.
Как думаете, что это? =)
BGM121, вид снизу


Читать дальше

stm32f0 читает ноги без инициализации пинов

Блог персональный. Но случай не вполне заурядный, пишу себе на память и случай и как я жестко тупил.

Однажды инициализация пинов в основном файле меня начала раздражать и была вынесена доп файл. Запускать — не запускал, пока не допишу чтение всего. Железяка новая, все 20 пинов — заняты.
После написания черновика и прошивки, железяка странно реагировала на кнопки и тумблеры. Как бы с задержкой в 2-3 секунды.

Думал, функции фильтрации дребезга. Подтяжки-оттяжки в функции инициализации тоже не помогали. Не было на выводах притяжки к питанию, хоть тресни. МК сдул/надул, сгорел, мало ли.

Ответ оказался прост: функция иницализации пинов после переноса не была вызвана.
Тактирование портов было включено процедурами инициализации соседней периферии, но входы ввода-вывода не были инициализированы и при этом прекрасно, но медленно читались.
Т.е. нажимаю кнопку — замыкаю «подтянутый к+» вывод на землю. Через мгновение программа «видит» ноль. Отпускаю кнопку, через пару секунд (фильтр дребезга через скользящее среднее) становится «1». Будто бы подтяжка есть.

Видимо, паразитная емкость мосфетов + пусть и мномегаомное, но имеющееся в наличии сопротивление сыграли в RC фильтр и все же подтяжку.

Ну и после прошивки чип закирпичивается. Connetcion under reset почему-то требует кнопку reset, через ST-Link оно что-то не работает. Это второй урок.
  • 0
  • 09 февраля 2017, 14:02
  • igorp

Modbus модуль дискретных входов выходов


Модуль для дискретных входов выходов в корпус Gainta D6MG-практически законченный проект схема, плата, исходники, прошивка, все работает.

Читать дальше
  • +4
  • 02 февраля 2017, 17:43
  • GYUR22
  • 1

В продолжении хвастовства.

Отмазки


В прошлом посте я рассказывал о том, как я благодарен EasyElectronics за пинок в нужную сторону. Прошу считать этот пост продолжением предыдущего, а так же и рассказом о том, что же такого делается у нас. Ну, к сути.


Читать дальше