Pull to refresh
44
0.5

Пользователь

Send message

Firmware в Linux. Коротко и своими словами

Level of difficultyEasy
Reading time6 min
Views4.3K

Рано или поздно системный программист сталкивается с понятием firmware. В данной статье мы коротко рассматриваем, что это, зачем, и как с этим работать.

Disclaimer:
Материал не является сборником best practices и не претендует на фундаментальный труд. Это шпаргалка. Если угодно - application note в свободной форме. Основная задача материала - "сделать короткую статью, которая помогла бы лично мне быстро разобраться, если бы я впервые столкнулся с темой". Если вы знаете что-то лучше - дополнения и замечания по существу приветствуются. Мотивацией для написания послужила недавно встреченная статья, которая как раз объясняла эти аспекты не очень хорошо.

Читать далее
Total votes 17: ↑17 and ↓0+23
Comments2

Проблемный Starliner: что не так с космическим кораблем от Boeing

Reading time3 min
Views21K

За последние несколько дней в сети появилось много новостей о проблеме с космическим кораблем CST-100 Starliner. Он должен был стать одним из флагманских проектов корпорации Boeing в космической отрасли и в конечном счете историей успеха. Но что-то пошло не так. Сможет ли он вообще вернуться на землю? Обо всем этом — под катом.

Читать далее
Total votes 24: ↑23 and ↓1+28
Comments64

C++20 в bare-metal программировании, работа с регистрами микроконтроллеров Cortex-M

Level of difficultyMedium
Reading time43 min
Views10K

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

Статья предполагает, что читатель имеет базовые знания программирования bare-metal систем и языка С++, в том числе и современных стандартов. Это означает, что совсем базовые пояснения выходят за рамки этой статьи.

Читать далее
Total votes 63: ↑62 and ↓1+72
Comments27

Почему может не работать отладка на плате XIAO BLE

Level of difficultyMedium
Reading time9 min
Views1.3K
Как обычно, ничто не предвещало веселья. Шла рутинная работа. Надо было освоить работу с ОС Zephyr в контроллере NRF52 на примере забавной платы из семейства «Сяо» (а именно XIAO BLE). Вообще, с этой платой принято работать из среды Arduino, но задача была использовать именно Zephyr, а значит — среду VS Code плагином NRF Connect Plugin. Заказанная плата приехала, к точкам для доступа по SWD был припаян разъём программатора… Потом я немножко похулиганил… В итоге, содержимое флэшки в контроллере было стёрто.

Но что нам стоит восстановить загрузчик? С сайта производителя был скачан актуальный HEX-файл, он был залит в плату… Дальше был собран типовой демо проект Blinky… И вечер перестал быть томным, так как проект не запустился на отладку.

Почему именно он не запустился, как я это выявлял, и как с этим бороться, будет рассказано в этой статье.


Читать дальше →
Total votes 16: ↑15 and ↓1+18
Comments11

Аналоговые вычисления для искусственного интеллекта: как делать MAC-операцию при помощи закона Ома

Level of difficultyMedium
Reading time13 min
Views3.5K

Присутствие нейронных сетей в нашей жизни становится все более распространенным, от голосовых ассистентов до узкоспециальных САПР. Несмотря на то, что область применения нейросетей расширяется, их потенциал все еще сильно ограничен удручающей энергоэффективностью существующих хардверных решений. Специализированные AI-чипы выходят в производство, как горячие пирожки, а ожидаемый рост энергопотребления нагруженных AI датацентров уже скоро позволит им отобрать у атомных электростанций звание главного врага всех экоактивистов. Разумеется, над решением проблемы энергопотребления AI или, будем честны, над решением проблемы энергопотребления цифрового умножения работает огромное количество исследователей по всему миру, на всех возможных уровнях абстракции, от математиков-фундаментальщиков до разработчиков передовых литографов.

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

Интересно, причем тут закон Ома?
Total votes 24: ↑24 and ↓0+31
Comments17

Как я пытался создать электрохимические датчики на тканой основе

Level of difficultyMedium
Reading time7 min
Views3.3K

В 2016 году я решил проверить, смогу ли создать электрохимические датчики, которые бы были гибкими и изготавливались как ткань (или печатались на ней). Это исследование продолжалось вплоть до эпидемии COVID, но за все эти годы я так и не задокументировал свои достижения.

На момент начала проекта у меня был опыт работы в аналитической электрохимии: в колледже я проводил исследования с кафедрой биоинжиниринга Флоридского университета (выражаю благодарность моему наставнику, доктору Эрику Маклеймору). Моя основная цель заключалась в проектировании носимого датчика, который бы неинвазивным образом мог распознавать различные мелкие молекулы в жидкостях наподобие пота.

Главный вывод после всех моих экспериментов: создание чего угодно вне традиционного пути развития электроники — это очень сложная задача. В процессе исследований я смог изготовить работающие датчики, но ни у одного из них не хватало разрешения для распознавания мелких молекул (например, глюкозы или спирта) в концентрациях, присутствующих в жидкостях кожи. Тем не менее, я многому научился и думаю, что стоит подробно описать мой путь.

Перечислю различные исследованные мной подходы:

  • вытравливаемый на тканях лазерно-индуцированный графен (laser-inscribed graphene, LIG);
  • вплетаемые в ткань металлические нити;
  • вышивание металлическими нитями;
  • трафаретная печать по ткани чернилами на основе металла и графена.

В статье представлено более подробное описание каждого из этих исследований.
Читать дальше →
Total votes 33: ↑33 and ↓0+53
Comments4

Земля в печатных платах | Слои, компоненты, секции, питание и переходы | Тренинг Рика Хартли

Level of difficultyMedium
Reading time30 min
Views7.6K

В этой статье представлен большой тренинг Рика Хартли по разводке земли в печатных платах. Перевёл и озвучил данное видео Dmitry Muravyev, за что ему огромное спасибо. Я всего лишь сделала конспект этого замечательного тренинга, чтоб люди могли ознакомиться с ним быстрее, чем смотреть двухчасовое видео, либо вернуться к каким-то отдельным темам, если позабылось. Категорически рекомендую ознакомиться с источником.

Впервые люди начали использовать землю в качестве проводника около 300 лет назад для отведения молний от зданий. Молния сама естественным образом стремится разрядиться на землю. Так что установив железный стержень на крыше здания и проведя от него  большой толстый провод вниз по зданию к балке, вбитой в землю, люди отводили молнии от зданий. Это был первый опыт использования земли в качестве возвратного пути для протекания тока. Из чего скоро стало ясно, что землю можно использовать в качестве возвратного пути и для других целей.

Читать далее
Total votes 28: ↑28 and ↓0+35
Comments6

Реверс-инжиниринг прошивки Samsung WB850F

Level of difficultyMedium
Reading time11 min
Views5K

Samsung WB850F стала первой камерой, объединившей в себе DRIMeIII SoC и WiFi. В ней, как и в модели EX2F, используется прошивка, в которую инженеры Samsung любезно включили файл partialImage.o.map с полным дампом компоновщика и именами всех символов из ZIP-архива. Этот их «подарок» мы используем для реверс-инжиниринга основной прошивки SoC, чтобы обеспечить прохождение проверки при обнаружении точек доступа WiFi и возможность использовать для загрузки изображений samsung-nx-emailservice.

Эта публикация продолжает тему статьи, посвящённой камерам Samsung с поддержкой WiFi, и является частью серии, освещающей линейку Samsung NX.
Читать дальше →
Total votes 38: ↑38 and ↓0+54
Comments4

Расшифровка startup файла Arm Cortex-M

Level of difficultyHard
Reading time7 min
Views3.1K

В статье предпринята попытка разобраться в содержимое startup файла микроконтроллера STM32F4, построенного на базе ядра Arm Cortex M4. Для запуска ядра используется ассемблерный код, который и предстоит изучить. Для лучшего понимания материала необходимо иметь представление об архитектуре ядра Cortex M4. Сразу отмечу, что замечания и уточнения приветствуются, т. к. они позволят дополнить представленную информацию.

Читать далее
Total votes 9: ↑6 and ↓3+6
Comments19

Разглядывая JTAG: самый быстрый программный JTAG на Arduino

Level of difficultyMedium
Reading time26 min
Views9.1K

В предыдущих статьях цикла был приведен пример реализации ведомого модуля JTAG на Verilog. Я предположил, что количество инженеров, знающих Verilog, меньше, чем количество инженеров, которым требуется понимание принципов работы JTAG. Поэтому, помимо реализации на Verilog, модуль JTAG был также реализован на Си.

Так как реализация на Си преследовала исключительно образовательную цель, то скорость её работы была принесена в жертву некоторой унифицированности подходов с реализацией на Verilog. Поэтому я был несколько удивлён, когда в личном сообщении @Sergei2405 спросил, нет ли способа ускорить работу примера для микроконтроллера, чтобы применить этот код в промышленном изделии.

Субъективно, практическое применение программного JTAG мне по‑прежнему видится не вполне оправданным.
Но, во‑первых, это хороший повод рассмотреть предельные возможности микроконтроллеров.
А во‑вторых, есть формальная причина сказать, что в данной статье предлагается Решение Прикладной Задачи :)

Итак, сегодня мы поговорим про прерывания, поллинг и прочее. А протокол JTAG станет фоном для повествования.

jmp start
Total votes 40: ↑40 and ↓0+55
Comments23

Securika Moscow 2024: заметки интересующегося

Level of difficultyEasy
Reading time6 min
Views2K

Завершилась очередная выставка Securika Moscow. Из обилия представленного я выбрал то, что заинтересовало меня больше всего остального. В результате получился некий субъективный рейтинг, который я предлагаю вашему вниманию.

Читать далее
Total votes 6: ↑4 and ↓2+4
Comments5

HackBat: мощная DIY альтернатива Flipper Zero на базе открытого исходного кода

Reading time4 min
Views22K

Встречайте HackBat: DIY (сделай сам) устройство, основанное на открытом исходном коде и аппаратном обеспечении, разработанное Пабло Трухильо Хуаном как мощная альтернатива Flipper Zero. Оно пропагандирует свободу разработки и модификации, обеспечивая пользователям возможность сами создавать и настраивать свои устройства. В отличие от Flipper Zero, HackBat позволяет пользователям самим программировать MCU и взаимодействовать с Wi-Fi и RF-трансиверами, что обеспечивает большую гибкость и возможности для настройки.

Самое интересное в этом небольшом проекте — это то, насколько много общего у него с Flipper Zero. Hackbat также позиционируется в качестве "швейцарского армейского ножа" для проведения тестов на проникновение и использует некоторые из тех же функций, что и NFC. Однако, в отличие от Flipper Zero, Hackbat является открытым проектом и стоит дешевле, чем его родственник с ценником в $169. Фактически, после недавнего исчезновения Flipper One, люди, которые такие устройства, могут обнаружить, что Hackbat является подходящей заменой.

Пабло Трухильо опубликовал проект на Hackster, где подробно рассказал о проекте. Основной идеей Hackbat является создание устройств для тестирования на проникновение, доступных для всех.

Читать далее
Total votes 57: ↑43 and ↓14+51
Comments33

Все мои детальки: переход на отечественные микроконтроллеры

Level of difficultyMedium
Reading time7 min
Views28K

 Привет, читатель!

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

Программирование микроконтроллеров сейчас для меня больше как хобби и научный интерес, которому уделяю свободное от работы время. На сегодняшний день 8-ми битные контроллеры использую в небольших роботах, для опроса различных датчиков или вывода информации. Поэтому выбирал для первых экспериментов простой и понятный микроконтроллер, совместимый или подобный чипам AVR. Для тех, кому интересен этот эксперимент — прошу под кат.

Читать далее
Total votes 69: ↑63 and ↓6+80
Comments96

К вопросу о теоретическом пределе эффективности воздушных винтов и импеллеров

Level of difficultyMedium
Reading time10 min
Views7.1K

Здравствуйте, уважаемые читатели Хабра!

Данная статья может оказаться полезной для всех, кто интересуется физикой воздушного винта, реактивного движения, а также для всех, кто неравнодушен к теме авиамоделизма и авиаконструирования!

Я приглашаю Вас ознакомиться со своими выкладками касающимися анализа теоретического предела удельной тяги (кг/кВт) ВМУ в статической конфигурации и, немаловажно, доказательства, что таковой предел существует.

В силу профессиональной специфики часто приходится взаимодействовать с людьми, которые также, как и я, занимаются электрической авиацией. Пилотируемой и беспилотной. Часто приходится слышать обсуждения на тему, что существенного улучшения характеристик летательного аппарата (ЛА) можно достичь за счет поиска новой прогрессивной модели воздушного винта, по сравнению с имеющимися образцами на рынке. Сюда же относятся вопросы, касательно того, дает ли выигрыш в удельной тяге схема с размещением винта (вентилятора) внутри трубы (ducted fan).

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

Читать далее
Total votes 8: ↑7 and ↓1+8
Comments28

Настройка связки VScode, OpenOCD, WCH-LinkE, Cortex-M

Level of difficultyMedium
Reading time6 min
Views3.4K

Wch-link является программатором для ARM, RISC-V микроконтроллеров. По возможностям это аналог St-link, JLink и прочих. По сравнению с st-link он поддерживает контроллеры не только фирмы STM. А по сравнению с JLink стоит намного дешевле и не имеет проблем с лицензиями, которые могут встречаться у дешевых клонов JLink. Также плюсом идет поддержка набирающих популярность контроллеров от китайской компании WCH.

Есть несколько вариантов этого отладчика, я буду говорить о версии Wch-linkE rev 1.3.

Читать далее
Total votes 11: ↑11 and ↓0+13
Comments26

Универсальный контроллер моторов на ARM Cortex-M85. Трассировка

Reading time6 min
Views6.9K

Новейшее семейство микроконтроллеров RA8M1 просится быть использованным в умном электроприводе. Вычислительная мощь ядра ARM Cortex-M85 (480 МГц) позволяет легко управлять на нашей плате одновременно двумя PMSM/BLDC или тремя DC коллекторными моторами с использованием алгоритмов машинного обучения и еще оставляет ресурс для комплексной удаленной диагностики в реальном времени. Добавим сюда IoT на ESP32-С6, дисплей, интерфейсы энкодеров, полевые шины и в результате получаем универсальный контроллер моторов.

Читать далее
Total votes 28: ↑27 and ↓1+33
Comments21

Практика измерения коэффициента шума при помощи анализатора спектра. Заметки и наблюдения

Level of difficultyMedium
Reading time26 min
Views1.9K

Одним из показателей качества аналогового тракта приемника является коэффициент шума (КШ). Чем он меньше, тем меньше дополнительных шумов вносит аналоговый тракт в сигнал, поступающий на его вход.

Выбор устройств с низким КШ может позволить увеличить дальность или скорость передачи данных в канале связи без увеличения энергопотребления и размеров антенн.

В [1] рассматриваются 3-и метода измерения коэффициента шума:

1.     Метод Y-фактора. Этот метод предполагает использование генератора шума.

2.     Метод генератора сигнала с удвоением мощности.

3.     Метод прямого измерения шума (метод холодного источника)

1-й метод заключается в использовании генератора шума, достаточно распространен и хорошо описан в инструкциях на приборы. В статье подробнее рассматривается пример измерения коэффициента шума при помощи анализатора спектра, используя 2 и 3 способ. Также приводятся возможные ошибки при измерении коэффициента шума подобными методами и сравнение полученных результатов на практике. В свое время использовать эти методы для оценки КШ меня побудило отсутствие в доступе генератора шума на нужный диапазон частот. Также эти способы позволяют измерять устройства с большим коэффициентом шума, такие как преобразователи частоты, усилители мощности.

Читать далее
Total votes 12: ↑12 and ↓0+15
Comments0

Библиотечка электровакуумщика-кустаря

Level of difficultyEasy
Reading time8 min
Views7.3K

Интересуясь историей и практикой электровакуумных приборов (ЭВП) и идя по пути к их самостоятельному изготовлению в домашней лаборатории-мастерской, с течением времени накопил массу полезной литературы. От изданий академических до описаний любительских экспериментов коллег и фото раритетных ЭВП, литературе по азам в смежных областях — кустарные работы широкопрофильны и многогранны. Некоторые старые технические книги просто приятно иметь, как летописи отважных и романтичных пионеров-первопроходцев. Здесь, приведу профильные книги к которым при работе приходится обращаться чаще всего и выглядящие наиболее перспективно. Издания по возможности будут снабжаться комментариями в смысле полезности для основного направления деятельности.
Читать дальше →
Total votes 74: ↑74 and ↓0+88
Comments61

Lane margining: как оценить качество PCIe-соединения без дополнительной аппаратуры

Level of difficultyMedium
Reading time17 min
Views5K

При запуске новых плат и устройств с PCIe-соединениями недостаточно просто вставить карту в слот. Нужно так настроить эквалайзеры, редрайверы, пресеты и ретаймеры, чтобы на каждой полосе «поднялся линк», то есть установилось соединение. Это значит, что приемопередатчики на обоих концах распознали друг друга, договорились о кодировке и скорости передачи.

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

Читать далее
Total votes 50: ↑50 and ↓0+60
Comments22

Проект «Мультиключ». Как мы побеждали контактные ключи Metacom и Cyfral

Level of difficultyMedium
Reading time8 min
Views7.8K

Как и обещал в предыдущей статье, пишу о нашем опыте работы с контактными ключами Metacom и Cyfral.

Эти ключи построены на микросхемах 1233KT1 и 1233KT2, которые не сильно друг от друга отличаются и имеют очень схожий принцип работы.

При подаче питания ключ просто выдает свой id. При этом никакие команды ключ не принимает и не посылает, а проверка правильности считывания ключа производится путем повторного считывания. Первым, для определения начала передачи, всегда идет стартовое слово. В отличие от ключей Dallas, они работают не по напряжению, а по току. Это менее распространенные и более дорогие ключи. Таким образом, логические уровни определяются сопротивлением ключа (около 400 Ом и 800 Ом). А значение бита определяется длительностью удержания низкого и высокого значения потребления тока.

Разберем эти ключи по отдельности...

Читать далее
Total votes 24: ↑23 and ↓1+26
Comments15
1
23 ...

Information

Rating
1,807-th
Location
Москва и Московская обл., Россия
Registered
Activity