Рубрика «uart» - 2

ИллюстрацияДобрый день, уважаемыее. В этом цикле статей я попытаюсь рассказать Вам о Java Virtual Machine и запуске Java программ на микроконтроллерах. Тема достаточно спорная: Зачем Java на микроконтроллерах, где и так мало ресурсов? Лучше нативного кода написаного на чистом С, ничего нет, даже на плюсах мало кто пишет! И т.д. Сразу скажу, сам задавал себе эти вопросы и не один раз. Мой ответ такой: Кто хочет попробовать, на что способно железо; понять, как работает JVM; увидеть интересный подход к построению мультиплатформенного проекта; внести свой вклад в Open Source; или просто побаловаться — все на борт, корабль по имени uJVM отправляется в плавание! Те кто уже настроился критиковать, смотрите как «Титаник» отправился в путь, надеюсь на Вашу лояльность!

Читать полностью »

Начнём с железа

image Работал я как-то на одном заводе, где лепили всякую электронику, не шибко сложную, и иногда подпадавшую под определение «Интернет вещей». По большей части, всякие датчики для охранных систем: датчики дыма, шума, проникновения, огня и всякое другое. Ассортимент изделий был широчайший, партии иногда были меньше 500 штук, и едва ли не под каждое изделие приходилось делать отдельный Test Fixture — по сути, просто жестяная коробка, в которую изделие на тестах ставилось, прижималось крышкой, и снизу контактные иглы прижимались к контактным точкам на печатной плате, как-то так:
Читать полностью »

kdpv.svg

Нередко при отладке ПО микроконтроллера возникает необходимость вывода отладочных сообщений, логов, захваченных данных и прочего на экран ПК. При этом хочется, чтобы и вывод был побыстрее, и чтобы строки отображались не где-нибудь, а прямо в IDE — не отходя от кода, так сказать. Собственно, об этом и статья — как я пытался printf() выводить и отображать внутри любимой, но не очень микроконтроллерной, среды Qt Creator.

Читать полностью »

RS-485 на отечественных микроконтроллерах от фирмы Миландр - 1

Несколько дней назад я имел неосторожность завуалированно пообещать запилить пост про Миландр… Ну что ж, попробуем.

Как вы, вероятно, уже знаете, существует российская компания Миландр, которая, среди прочего, выпускает микроконтроллеры на ядре ARM Cortex-M. Волею судеб я был вынужден с ними познакомиться достаточно плотно, и познал боль.

Небольшая часть этой боли, вызванная работой с RS-485, описана далее. Заранее прошу прощения, если слишком сильно разжевываю базовые понятия, но мне хотелось сделать эту статью доступной для понимания более широкой аудитории.
Так же заранее оговорюсь, что имел дело только с 1986ВЕ91 и 1986ВЕ1, о других уверенно говорить не могу.

TL; DR

Миландровскому UART’у не хватает прерывания «Transmit complete», костыль – «режим проверки по шлейфу», т.е. режим эха. Но с нюансами.

Читать полностью »

Мой Hello World! на FPGA или очередная версия UART

Наконец-то у меня дошли руки до изучения ПЛИС. А то как-то неправильно получается: драйвера на железо под Linux пишу, микроконтроллеры программирую, схемы читаю (и немного проектирую), надо расти дальше.

Так как мигать светодиодами мне показалось не интересно, то решил сделать простенькую вещь. А именно написать модули приемника и передатчика для UART, объединить их внутри FPGA (заодно понять как использовать IP Core), ну и протестировать это все на реальном железе.
Читать полностью »

Конференция DEFCON 22. Группа GTVHacker. Взламываем всё: 20 устройств за 45 минут. Часть 1

Майк Бейкер: следующее, 14-е устройство, к которому мы получили root-доступ – это смартфон Motorola RAZR LTE Baseband. Я не собираюсь говорить про Android, он уже «прорутован». Этот телефон особенный, так как использует Baseband – отдельный сигнальный процессор, изолированный от основного процессора. Это полностью отдельная часть аппаратного обеспечения смартфона.

Конференция DEFCON 22. Группа GTVHacker. Взламываем всё: 20 устройств за 45 минут. Часть 2 - 1

Связь между Android и Baseband осуществляется через сетевое USB-подключение. Baseband прослушивает внутренний сетевой порт USB, имеет лимитированный доступ к оболочке через порт 3023 и запускает диагностический скрипт через порт 3002 как root.

Если посмотреть на сценарий, то видно, что с помощью языка AWK запускается команда busybox:

busybox awk '{print+substr(" ' "$ {outFilePath}" ' ",0,1)}’

То есть происходит передача имени файла через скрипт AWK. Это означает, что с помощью имени файла мы можем сделать инъекцию в оболочку. Для рутирования оболочки мы используем имя файла, содержащее:

 x",0,1);system("…");("

Это позволяет вводить в систему любую команду и запускать её с root-правами.Читать полностью »

Амир Этемади: приветствую всех и добро пожаловать на презентацию GTVHacker «Взламываем всё: 20 устройств за 45 минут». Мы является создателями оригинальной продукции Google TV с 2010 года, а также таких продуктов, как Chromecast, Roku и Nest, а ещё мы выпускаем эксплойты для всех устройств Google TV.

Конференция DEFCON 22. Группа GTVHacker. Взламываем всё: 20 устройств за 45 минут. Часть 1 - 1

Итак, кто мы такие? Я являюсь учёным-исследователем Accuvant Labs, созданной группой GTVHacker, Си Джей является руководителем группы и исследователем систем безопасности, а также иногда выступает в роли разработчика технологий. Ханс Нильсен работает старшим консультантом по безопасности компании Matasano, а Майк Бейкер разрабатывает прошивки и является соучредителем компании OpenWRT.

Всего в нашей группе 8 членов, среди которых Gynophage, прямо сейчас он занимается вещью под названием DefCon CTF, Джей Фримен, создатель Cydia, студент Коа Хоанг и Том Двенгер, величайший специалист в APK и во всём, что связано с Java.

Итак, почему мы решили взломать устройства, почему не программное обеспечение, которое нам также не нравится? Вы знаете, когда устройство устаревает, достигает своего конца жизни, его просто выбрасывают на свалку. По сути, старые устройства убивают, и в этом нет никакой пользы, как это произошло в случае с Logitech Revue.

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

Изучение, конечно, восхитительный процесс, но суть это презентации можно выразить словами:

«У тебя есть рут!»

Конференция DEFCON 22. Группа GTVHacker. Взламываем всё: 20 устройств за 45 минут. Часть 1 - 2Читать полностью »

У ESP32 есть три UART-а. Каждый из которых размещает FIFO буфер приемника и FIFO буфер передатчика в общей памяти размером 1024 байта (ESP32 technical reference manual 3.5):

Особенности FIFO буфера UART в ESP32 - 1

Однако при попытке увеличить размер FIFO буфера передатчика UART2 с 128 до 256 байт получил неожиданный эффект — передаваемые данные портили FIFO буфер приемника UART0, чего согласно документации быть не должно.

Читать полностью »

Делай хорошо, плохо само получится

Поводом к посту послужила недавняя (когда я начинал писать этот пост, она действительно была недавней, но что-то пост долго пролежал в папке Неоконченное) публикация на Хабре относительно аспектов реализации программного UART на МК фирмы AVR. Сами по себе поднятые вопросы небезынтересны, но даны на них столь странные ответы, что посчитал своим долгом внести необходимые разъяснения. Тема обозначена, те, кто захочет прочитать о «королях, капусте и башмаках», то есть требованиях стандартов, чтении (правильном) технической документации и рекордах в программировании на ассемблере для AVR, могут нажать на кнопочку ниже.
Читать полностью »

image

Вам было когда нибудь интересно, как «звучит» электрический сигнал, проходящий по дорожкам печатных плат между микросхем, транзисторов, диодов, резисторов и конденсаторов? Один из вариантов такого сигнала в современной электронике — цифровая шина, а один из популярных интерфейсов для обмена данных по шине — UART. Он часто используется в микроконтроллерах для связи с компьютером или какой либо переферией. Чтобы получить звук на шине, вовсе не обязательно подключать динамик с усилителем к реальной шине с UARTом, ведь ее можно симулировать в программе. Вам интересно, какие звуки в итоге получились, или нужна программа, чтобы самому поэкспериментировать? Тогда прошу под кат.
Читать полностью »


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