Рубрика «программирование микроконтроллеров» - 130

Разбираем протокол 2 wire JTAG

2-wire JTAG (он же двухпроводной JTAG, он же CompactJTAG, он же cJTAG) – это новомодный интерфейс, являющийся частью стандарта IEEE 1149.7-2009. Он обеспечивает ту же и даже большую функциональность, что и обычный JTAG (IEEE 1149.1), но использует всего два сигнала вместо четырех.

К сожалению, ни в русскоязычном, ни в англоязычном сегментах Интернета нет никакой информации об этом стандарте, кроме нескольких статей, написанных маркетологами. Тем не менее некоторое время назад мне по долгу службы пришлось с этим стандартом разобраться, и теперь у вас есть уникальный шанс ознакомится с результатами моих изысканий.
Читать полностью »

image
Intel в ходе CES 2014 объявила о выпуске платформы Intel Edison — готовой к использованию вычислительной среды общего назначения с поддержкой беспроводной передачи данных. Она создана для изобретателей, предпринимателей и разработчиков, создающих компактные или носимые устройства. Микрокомпьютер платформы Intel Edison был похож на SD карту, но к конечному выпуску сильно изменился. На данный момент для Edison board уже доступны инструменты для разработчика(development kits), и возможен запуск Linux (специальные проект Yocto для малых устройств), а так же RTOS.
Читать полностью »

Иллюстрированная проекция модели сетевого взаимодействия OSI на универсальную последовательную шину.

Три «замечательных» уровня стека USB

Меня не устроил вид стека USB, который можно встретить чаще всего на просторах сети:

Не сильно полезный стек USB

Разбираем и собираем обратно стек USB

Уровень шины, логический, функциональный… Это, конечно, замечательные абстракции, но они скорее для тех, кто собирается делать драйвер или прикладной софт для хоста. На стороне же микроконтроллера я ожидаю шаблонный конечный автомат, в узлы которого мы обычно встраиваем свой полезный код, и он сперва будет по всем законам жанра глючить. Или же глючить будет софт на хосте. Или драйвер. В любом случае кто-то будет глючить. В библиотеках МК тоже с наскока не разобраться. И вот я смотрю на трафик по шине USB анализатором, где происходящие события на незнакомом языке с тремя замечательными уровнями вообще не вяжутся. Интересно, это у меня от гриппозной лихорадки в голове такой диссонанс?

Если у читателя бывали сходные ощущения, предлагаю альтернативное, явившееся мне неожиданно ясно в перегретом мозгу видение стека USB, по мотивам любимой 7-уровневой модели OSI. Я ограничился пятью уровнями:

Разбираем и собираем обратно стек USB

Я не хочу сказать, что весь софт и библиотеки уже сделаны или должны проектироваться, исходя из этой модели. Из инженерных соображений код c уровнями будет сильно перемешан. Но я хочу помочь тем, кто начинает своё знакомство с шиной USB, кто хочет понять протоколы обмена устройств и терминологию предметной области, подобраться поближе к готовым примерам, библиотекам и лучше ориентироваться в них. Эта модель не для загрузки в МК, но в ваши блестящие умы, дорогие друзья. А ваши золотые руки потом всё сами сделают, я не сомневаюсь:)
Читать полностью »

В моей первой статье цикла я поведал о том, что есть места в России как будто специально созданные для фрилансера-электронщика. Вторая статья повествует о личном опыте в роли фрилансера в течение пяти лет. Взлёте и падении моего микробизнеса в этой области. Третью часть рассказа я специально выделил в отдельный пост — для тех, у кого нет времени и желания читать истории, кто ценит только конкретику.

image

Итак, несмотря на то, что сегодня мой бизнес явно зашёл в тупик, рискну таки дать несколько советов фрилансеру-электронщику. Кстати, многие из них будут полезны и в других сферах деятельности: (к сожалению, я не нашёл в интерфейсе Хабра структурированных списков, поэтому пришлось изобразить вложение как ___)
Читать полностью »

В прошлой статье, посвящённой выбору комфортной среды обитания такому редкому в наших краях зверю, как фрилансеру электронщику, я обещал освятить основные вопросы своей деятельности — рассказать о том как искать клиентов, где они живут и наконец как с ними общаться. Не весь мой опыт положительный, за весьма удачным стартом последовал спад, но анализ ошибок порой бывает важнее чем чтение истории успеха. Умные предпочитают учиться на чужих ошибках.

image
Последняя осень?

Признаться, я долго колебался как поступить — иллюстрировать свои рекомендации и советы примерами из личного опыта, либо ограничиться их перечислением с короткими комментариями. Так и не сделав выбор, решил сразу написать две статьи и выложить их одну за другой, с разницей в день. Эта рассказывает о моём опыте на примерах, которые я сопровождаю комментариями. Если у Вас мало времени и Вам более интересны краткие содержательные выводы и конкретные рекомендации просьба не тратить время на мой сегодняшний опус, а подождать до завтра.
Конечно можно было бы просто составить сухую выжимку из полезных рекомендаций, но думаю что легче они будут восприниматься если будут подкреплены рассказом о моём личном личном опыте. Реальные события воспринимаются проще чем на сухие строчки.
В этом посте я попробовал в качестве эксперимента выравнять фотографии по ширине текста. Надеюсь этот эксперимент не вызовет отторжения в хабрасообщества.
Читать полностью »

В связи с нововведениями на сайте, решил наконец-то вылезти из подполья и написать что-нибудь полезное. Ну а поскольку я программирую разные микроконтроллеры (МК) и являюсь фанатом Eclipse, то решил про это и написать. Начну со своей истории знакомства с программированием PIC, а закончу советами тем, кто по долгу службы или в силу увлечения программирует на МК семейства PIC, хотя, впрочем, эти же советы сгодятся и для других архитектур МК.

В среду железячников я попал в 2006 году на 4-м курсе учёбы в университете, когда пошёл на производственную практику в научно-технический центр, где, собственно, и работаю по сей день. В то время в нашей компании мейнстримом было использование Keil uVision2 для МК на базе C51 и ARM. Однако мне подсовывали простые задачи под PIC, вроде контроля и управления одним сигналом (кнопка вкл-выкл), и моей первой средой разработки были блокноты — бумажный и компьютерный, плюс книжки бумажные по PIC. Выглядела моя среда разработки примерно так:

Идеальная среда разработки для PIC — личный опыт

Для компиляции файлов мне выдали экзешник компилятора и bat-файл, который использовался мной совершенно бездумно — даже не знаю, что за компилятор там был. В общем, суровые были времена…
Читать полностью »

Тема данного поста образовалась почти случайно, в процессе легкой дискуссии по поводу подходов к разработке програмного обеспечения в частности и устройств на МК в общем. Желающие могут ознакомится с самой дискуссией habrahabr.ru/company/coolrf/blog/222801/. Хотя обе стороны явно остались при своем мнении, тем не менее определенный вызов был брошен. Я вызовов не боюсь, любой челлендж уже сам по себе хорош, поскольку отвечая на него, ты в чем то меняешься и, как правило, в лучшую сторону (вариант типа а слабо выпить 10 литров пива за раз, который очевидно меняет человека НЕ в лучшую сторону, в моем возрасте уже не прокатывает). Итак, мы начинаем.
Читать полностью »

В предыдущих постах мы спроектировали, сделали и всесторонне протестировали блок двухканального радиоуправляемого выключателя.

Радиоуправляемый выключатель своими руками. Часть 3 — Софт выключателя

Но до сих пор это была «бездушная железка», которая несмотря на всю свою потенциальную мощь, заложенную в МК, — ничего не умеет.
Читать полностью »

Внешний вид синтезатора
Несколько лет тому назад умер смертью храбрых мой старый синтезатор Yamaha PSR-GX76. Случилось это что я по ошибке подключил к нему блок питания 24 В вместо положенных 12 В. В таком режиме синтезатор героически проработал несколько минут, после чего случился «пук», сопровождаемый аудиовизуальными спецэффектами и специфическим запахом и синтезатор больше не включался. С тех пор он пылился в коробке и ждал своего часа, который для него, наконец, настал. В нескольких статьях я расскажу как проходило движение от идеи вдохнуть в него новую жизнь до реализации и демонстрации полученных результатов.
Читать полностью »

Этот пост — продолжение серии рассказов о том, как можно сделать своими руками выключатель полезной нагрузки.

Радиоуправляемый выключатель своими руками. Часть 2 — Тестирование и подготовка

В первой части была описана «железячная» составляющая: особенности ее проектирования и производства.

Сегодняшний пост описывает шаги по подготовке среды разработки Arduino и полное тестирование изготовленного модуля.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js