Как стать автором
Обновить
217.17

Программирование микроконтроллеров *

Учимся программировать микроконтроллеры

Сначала показывать
Порог рейтинга

Основатель проекта Павел Жовнер показал, как можно открыть электронный сейф с помощью Flipper Zero, используя уязвимость в протоколе управления контроллера.

На видео показан процесс перехвата данных по протоколу UART и эксплуатация уязвимости сейфов производства компании SentrySafe. Таким образом, можно открыть сейф, не зная ПИН-кода.

В июле 2020 года, спустя сутки после своего выхода на Kickstarter, проект Flipper Zero собрал более $1 млн. 29 августа на Kickstarter закончился сбор заявок на электронный мультитул. Гаджет собрал $4 882 784. У проекта нашлось 37 987 бекеров на краудфандинговой платформе.

В феврале правительство Канады запретило официально продавать Flipper Zero и аналогичные гаджеты, чтобы остановить всплеск угонов автомобилей в стране.

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

Теги:
+7
Комментарии0

На GitHub опубликован проект ZX2040 — это порт эмулятора ZX Spectrum от Andre Weissflog для микроконтроллера Raspberry Pico RP2040. Решение имеет простой пользовательский интерфейс для выбора игры и назначения клавиш, позволяющий использовать проект без клавиатуры. Также есть поддержка пьезодинамика, если нужен звук.

«Этот проект специально разработан для дисплеев на базе Raspberry Pico и ST77xx. Нашим эталонным устройством является плата дисплея Pimoroni Tufty RP2040, но на самом деле код может работать на любом Raspberry Pico, оснащённом дисплеем ST77x и пятью кнопками, подключёнными к пяти различным контактам. Кнопки работают как входы для четырёх игровых движений (налево, направо, вверх, вниз) и кнопки для выстрела», — пояснили разработчики ZX2040.

Теги:
+3
Комментарии0

Числа, которые должен знать каждый программист в 2024 году и далее:

  • L1 cache reference = 1 ns (1 нс)

  • Branch mispredict = 3 ns (3 нс)

  • L2 cache reference = 4 ns (4 нс)

  • Send 1K bytes over 1 Gbps network = 11 ns (11 нс)

  • Mutex lock/unlock = 17 ns (17 нс)

  • Main memory reference = 100 ns (100 нс)

  • Read 1 MB sequentially from memory = 1 us (1 мкс)

  • Compress 1K bytes with Zippy = 2 us (2 мкс)

  • Read 4K randomly from SSD = 16 us (16 мкс)

  • Read 1 MB sequentially from SSD = 19 us (19 мкс)

  • Read 1 MB sequentially from disk = 474 us (474 мкс)

  • Round trip within same datacenter = 500 us (500 мкс)

  • Disk seek = 2 ms (2 мс)

  • Send packet CA->Netherlands->CA = 150 ms (150 мс)

Графическая визуализация этих и других данных (чисел, констант) для программистов.

Напишите, пожалуйста, в комментариях ваши числа для проектов в 2024 году.

Теги:
Всего голосов 9: ↑5 и ↓4+1
Комментарии4

Российская компания EKF первой в стране разработала и внедрила собственную облачную платформу промышленного интернета вещей EKF Connect Industry.

По расчетам EKF, использование их сервиса помогает увеличить производительность технологического оборудования от 7% до 15%, снизить затраты на энергопотребление на 10-15% уже в первый год с последующим снижением этого показателя еще на 3-5%.

Платформа промышленного интернета вещей EKF Connect Industry работает в облаке «Яндекса». Сейчас новый сервис проходит опытную эксплуатацию на собственных производствах и более чем в десятке различных промышленных и инфраструктурных объектах компании. С апреля EKF запускает открытое бета‑тестирование и будет готова предложить свою разработку другим предприятиям.

Данные со станков, производственной линии и прочего промышленного оборудования передаются в платформу EKF посредством распространенных промышленных протоколов. Сервис EKF Connect обрабатывает полученную информацию и представляет пользователю визуальную аналитику. Причём схемы, графики и другие сценарии оценки можно создавать самостоятельно в зависимости от задач конкретного производства.

К текущим математическим алгоритмам в EKF Connect Industry разработчики планирует в ближайшем будущем добавить инструменты искусственного интеллекта.

По его словам команды разработчиков проекта, решение EKF Connect Industry является аналогом системы Schneider Electric ECOStruxure.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Некоммерческая организация lowRISC объявила о доступности первого готового к коммерческому производству чипа на архитектуре RISC-V, построенного на базе открытой платформы OpenTitan.

Проект был основан компанией Google, но после передачи организации lowRISC к его разработке присоединились такие компании, как Western Digital, Seagate, Nuvoton Technology, Winbond, Rivos, zeroRISC и G+D Mobile Security. Связанный с проектом исходный код и спецификации аппаратных компонентов опубликованы под лицензией Apache 2.0.

OpenTitan развивается в соответствии с концепцией «безопасность через прозрачность», подразумевающей доступность кода и схем, а также полностью открытый процесс разработки, не привязанный к конкретным поставщикам и производителям чипов.

В основу решений, применяемых в OpenTitan, заложены технологии, уже используемые в криптографических USB‑токенах Google Titan и TPM‑чипах для обеспечения верифицированной загрузки, устанавливаемых на серверах в инфраструктуре Google, а также на устройствах Chromebook и Pixel.

OpenTitan включает различные логические блоки, востребованные в RoT‑чипах, такие как открытый микропроцессор на базе архитектуры RISC‑V (RV32IMCB Ibex), криптографические сопроцессоры, аппаратный генератор случайных чисел, менеджер ключей с поддержкой DICE, механизм защищённого хранения данных в постоянной и оперативной памяти, технологии защиты, блоки ввода/вывода, средства безопасной загрузки.

Источник: OpenNET.

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Состоялся релиз интегрированной среды разработки Arduino IDE 2.3, предоставляющей интерфейс для написания кода, компиляции, загрузки прошивок на оборудование и взаимодействия с платами в процессе отладки.

Разработка прошивок производится на урезанной версии C++ с фреймворком Wiring.

Код интерфейса Arduino IDE написан на языке TypeScript, а бэкенд реализован на языке Go. Исходные тексты распространяются под лицензией AGPLv3. Подготовлены готовые пакеты для Linux, Windows и macOS.

Ветка Arduino IDE 2.x создана на основе редактора кода Eclipse Theia и использует платформу Electron для построения интерфейса пользователя (ветка Arduino IDE 1.x была самодостаточным продуктом, написанным на Java).

Связанная с компиляцией, отладкой и загрузкой прошивок логика вынесена в отдельный фоновый процесс arduino‑cli. Среди возможностей IDE: поддержка протокола LSP (Language Server Protocol), адаптивное автодополнение ввода названий функций и переменных, инструменты для навигации по коду, поддержка тем оформления, интеграция с Git, поддержка хранения проектов в облаке Arduino Cloud, мониторинг последовательного порта (Serial Monitor).

Источник: OpenNET.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Какой процент текста программы должны занимать комментарии? Комментировать каждую строку? или через одну? Каждая фирма, разрабатывающая программы испытывает прессинг со стороны программистов/кодеров, которые считают что:

  • в коде переменные и функции имеют значимые названия и поэтому ничего не надо комментировать

  • специалисту и так должно быть все понятно что тут написано

  • Я ко всем функциям и объектам дал пояснения. Этого вполне достаточно.

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

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

Между ноль комментариев и комментарий к каждой строке лежат все промежуточные состояния.
На картинке ниже тексты от двух библиотек. Слева около 20 процентов комментов, а справа менее 5.
Обе библиотеки работают без проблем. Ну раз нет проблем, так зачем комменты?

Слева ADAFruit справа idiBus
Слева ADAFruit справа idiBus

Разработчик, который сдал готовый отлаженный код, не хочет тратить время на комменты. А я как заказчик текста, хотел бы иметь комментариями минимум 30 процентов текста. Чтобы я мог если надо быстро передать текст другому разработчику. Или на аутсорсинг. Или обновить код через 10 лет. Когда бывший разработчик давно будет хакером на Бали.

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

Теги:
Всего голосов 6: ↑3 и ↓30
Комментарии7

Чем отличается нормальная торговля электронными компонентами от торговли как бы "лидера Российского рынка"?

Как работает нормальный магазин мы все знаем.

А теперь давайте купим универсальный микроконтроллер у Ангрстрем.

https://www.angstrem.ru/catalog/mikrokontrollery/

Отличный чип! Мы уже кладем его в корзину. Но цены нет. Вы так вообще делаете? Я про то, чтобы положить незнакомый товар в корзину, не зная на него цену?
Я обычно нет.

Добавляем в корзину, переходим в нее и "оформляем заказ".
Но это оказывается даже и не заказ. Появляется окно с запросом персональных данных, кнопка что я согласен, что они их сожрут и обработают, но цены все нет.
А есть вот что: «Корзина» носит информационный характер для отбора и сравнения подходящих Вам изделий. После оформления запроса менеджер свяжется с Вами, сообщит цену и сроки поставки каждого изделия, а также порядок подачи заявки."
То есть этот как бы интернет магазин на самом деле то не более чем собиратель персональных данных.
Каковы мотивы для создания магазина товаров без цен?
Обычно мотив есть. Если ты даешь взятки тому, кто у тебя товары закупает, то никак нельзя цены на сайте показывать. Поймают сразу, если окажется, что ты купил дороже, чем на сайте. Второй вариант - это когда товара у продавца нет. И он начнет его искать только когда ты про него спросишь.
В нашем случае оказался вариант 2. Оказывается, что никакого контроллера нет.

"Статус: Находится в разработке."

Лично я не хожу в магазины без цен. Там всегда обманывают.

Теги:
Всего голосов 32: ↑30 и ↓2+28
Комментарии8

Linux Foundation представила первый выпуск открытой платформы для программно управляемых Flash-накопителей SEF (Software Enabled Flash), построенной на основе кода, переданного компанией KIOXIA (ранее Toshiba Memory Corporation), в которой в 1980 году была изобретена Flash-память. Исходные коды проекта написаны на языке C и распространяются под лицензией BSD.

Инструментарий включает в себя набор патчей для ядра Linux, блочный драйвер для устройств SEF, утилиты для управления из командной строки, паравиртуализированные SEF‑драйверы для QEMU, библиотека с API для разработки приложений, патчи для nvme‑cli и FIO, добавляющие поддержку SEF. SDK также включает эталонную реализацию программного уровня FTL (Flash Translation Layer), обеспечивающего трансляцию команд блочных устройств в обращения к фактическому чипу Flash‑памяти, сборку мусора и распределение данных по ячейкам памяти. FTL реализует поддержку гибкого размещения данных (FDP — Flexible Data Placement), зонирования (ZNS — Zoned Namespace) и спецификации NVMe.

SEF позволяет напрямую управлять физическим размещением данных, менять алгоритмы распределения нагрузки, управлять приоритетами и QoS, избавляет от дополнительного слоя трансляции блоков, задействует всю доступную память, помогает разделить накопитель на изолированные виртуальные устройства, имеющие разный приоритет в обработке.

В обычных Flash для внешних систем накопитель представляет собой чёрный ящик с зарезервируемой частью памяти.

Источник: OpenNET.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Вот это реально балдеж. Российский МК на базе архитектуры RISC-V, который производят на Микроне. Вот бы о нём подробнее узнать, или самому пощупать. Если смогут действительно сделать цены на уровне импортных аналогов и evaluation board можно будет купить частнику в пределах 500 рублей - то будет очень круто! Глянул их SDK - очень похоже на RPi Pico, а к RPi Pico я отношусь крайне положительно.

Теги:
Всего голосов 6: ↑5 и ↓1+4
Комментарии4

Вклад авторов