Все потоки
Поиск
Написать публикацию
Обновить
178.1

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

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

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

ARM Cortex-M: Исполнение кода из RAM памяти

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров5K

В программировании ARM Cortex-M микроконтроллеров обычно код исполняется из on-chip NOR Flash памяти.

Однако иной раз надо разместить Си-функции в RAM памяти.

В этом тексте я написал как запустить функцию из оперативной памяти.

Читать далее

От паровых шестерёнок к суперчипам: как машина Бэббиджа превратилась в FPGA

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров8.9K

Задумывались ли вы, как идеи инженеров 19 века вдруг становятся реальностью в мире современных чипов? Как вычислительная машина из огромных латунных шестерёнок — превратилась в FPGA.

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

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

Читать далее

Часть 3: Создание пользовательского интерфейса на дисплее Guition с ESPHome и библиотекой LVGL

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров6.5K

Привет, Habr! Продолжаем серию статей о LVGL в ESPHome. В третьей части статьи речь пойдет о создании своего пользовательского виджета, который может быть подключен к проекту. И не только к данному проекту, а вообще даст небольшое представление как делать виджеты в ESPHome. Итак, Создавать будем виджет умной розетки с индикацией мощности, напряжения и силы тока. Поехали...

Читать далее

Датчик оптического потока -MTF02

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров4.8K

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

Читать далее

Защитим вдов и сирот от хищных ИИ-стартаперов

Время на прочтение3 мин
Количество просмотров2.7K

Ко мне на днях обратились сначала два стартапера, а потом и из большой компании по вопросу EDA с помощью AI. Я дал всем троим одну и ту же задачку и думаю сделать еще несколько таких задач, так как два тула эту задачку решили, один тул на ней лег, а еще четыре произвели некий код на языке описания аппаратуры SystemVerilog, который не проходил мой тест, то есть не являлся решением.

В чем социальная значимость таких задачек? Дело в том, что венчурные капиталисты тратят не свои деньги, а деньги, которые институциональные инвесторы, в частности пенсионные фонды - вкладывают в фонды венчурных капиталистов. Тем самым, хотя в США существуют законы, запрещающий неопытным инвесторам ("widows and orphans laws" - "законы о защите вдов и сирот") вкладывать в стартапы напрямую - вдовы и сироты все равно не защищены, так как живут на выплаты из пенсионного фонда, в который вкладывал их безвременно почивший отец семейства.

Также не открою Америку, что стартапер стартаперу рознь. Одни честно делают прототипы и решают задачки от потенциальных пользователей. А другие занимаются shmoozing - то есть ходят по тусовкам и пытаются что-то впарить VC говорением в стиле Остапа Бендера.

И вот чтобы защитить венчурных капиталистов (а через них - вдов и сирот) от стартаперов второго типа, мы с соратниками сделали задачку под названием SystemVerilog Microarchitecture Challenge for AI No.1:

Читать далее

Операционная система от А до Я: Таймер и HAL

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров6.8K

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

Читать далее

Оптический датчик PAT9125

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3K

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

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

Читать далее

Гайд на сборку OpenVela для STM32 из-под WSL от 16-летнего отрока

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров4.3K

В этой статье мы соберем ОСРВ OpenVela от Xiaomi под отладочную плату STM32F411CEU6, используя WSL, который официально вроде как не поддерживается.
Эта ОС базирована на Apache Nuttx и имеет много фич от Xiaomi, включая HyperConnect.

В комплекте также небольшая предыстория от автора.

Цум Интрестинг

Прошивка К1921ВГ015 без IDE и покупки JTAG программатора

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров4.6K

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

Читать далее

Брелок с LED матрицей 8x8 на CH32V003

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров20K

Решил наконец погрузиться в электронику как хобби. Изначальной целью была самодельная игровая консоль, но из-за сложностей я начал с более простого проекта — светодиодного брелка на микроконтроллере CH32V003F4P6. Почему именно он? Это дешевая (около 20 рублей за штуку) и доступная микросхема с 20 выводами — достаточно, чтобы управлять матрицей 8x8 без драйверов вроде MAX7219.

Читать далее

Автоматический светодиод

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров16K

Хочу поделиться с вами своей мечтой, мечтой о светодиоде, который корректирует свою яркость в соответствии с окружающим освещением… без каких-либо вспомогательных компонентов.

Читателям моего блога известно, что я работаю над обновлённой версией «Precision Clock» (но не спешите радоваться, до релиза ещё не один месяц). Одна из доработок этих «точных часов» коснулась дисплея, который теперь отображает время с точностью до миллисекунды. Причём я переработал его в корне, чтобы убрать мерцание, возникающее при записи работы часов на скоростную камеру.

Читать далее

Оптимальный выбор файловой системы и создание драйвера для OSPI Flash с GitHub Copilot

Время на прочтение5 мин
Количество просмотров1.7K

Файловая система во встраиваемых решениях — критическое звено. От её выбора зависят надёжность, детерминированность и задержки всей системы.

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

На практике всплывают одни и те же проблемы: дефрагментация, высокое потребление RAM, плохая детерминированность (плавающие задержки), неустойчивость к сбоям записи/питания и низкая скорость. Нередко корнем оказываются драйверы из SDK производителей чипов: они не оптимизированы для многозадачной среды и часто недоработаны под OSPI.

Я протестировал четыре файловые системы на платформе MC80 с внешней OSPI NOR Flash и разработал специализированный драйвер вместо стандартного из FSP — с полноценной поддержкой OSPI и RTOS.

Читать далее

Библиотека для OLED1306 с русским языком на RPi

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров1.3K

Здравствуйте люди!

Я сделал библиотеку под названием "SillyOled" для работы с OLED-дисплеями SSD1306 через I2C и SPI. Библиотека может показывать текст, фигуры, бит-мапы, а также управлять дисплеем. Вот главные особенности:

Читать далее

Ближайшие события

Ставим шину AHB-Lite на ядро YRV

Уровень сложностиСложный
Время на прочтение5 мин
Количество просмотров1.4K

При разработке SoC много говорят про RISC-V, а вот информации про шину AHB-Lite сравнительно мало. Все, что есть на русском языке, касается старого проекта MIPSFpga. Почему бы не взять открытые наработки из MIPSFpga Plus и не использовать совместно с ядром RISС-V?

Читать далее

Лифт-убийца, некомпетентность и причём здесь Ардуинщики

Время на прочтение3 мин
Количество просмотров54K

Случайно наткнулся на видео про лифт убийцу на Arduino. В этом видео автор показывает, как некая компания выполнила заказ по разработке и установке лифта для инвалидов. То , что там было сделано, это пример преступной некомпетентности разработчиков.

Читать далее

Embedded Linux для начинающих — Часть 2

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров12K

В первой статье мы разобрались с базовыми терминами: что такое Embedded Linux, чем он отличается от обычного дистрибутива, из чего состоит, как происходит его загрузка и с помощью каких инструментов всё это можно собрать.

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

Пришло время перейти от теории к практике!

Читать далее

Оживляем дисплей из кабины лифта

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров4K

Приветствую всех! Уверен, каждый, кто катался на новом лифте, видел подобные штуки. Всё чаще такие экраны ставят взамен привычных светодиодных или сегментных ЖК-индикаторов.

И вот однажды мне стало интересно: а как вообще они работают и можно ли запустить их самому? Как оказалось, то, что я представлял себе небольшим опытом буквально на пару часов, на деле оказалось целым приключением...

Двадцать пятый этаж

Луч — мультитул разработчика электроники, версия 2

Время на прочтение8 мин
Количество просмотров15K

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

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

Читать далее

VCP STlink-v3minie быстро и просто

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.7K

Про настройку отладку ваших stm микроконтроллеров с помощью программатора-отладчика STLINK-V3MINIE через встроенную функцию VCP.

В статье описана настройка инструментов на ОС Windows и ОС Linux, также приведен пример кода для вывода данных себе в терминал на ПК.

Читать в продолжение

Пуск Беспроводной CLI на Микроконтроллере

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров4.9K

Иной раз возникает такая ситуация, что надо получить доступ к устройству висящему под потолком.

В этом тексте я расскажу как запустить беспроводную консоль на микроконтроллере.

Читать далее

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