Search
Write a publication
Pull to refresh
3
@Denis7383read⁠-⁠only

User

Send message

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

Reading time5 min
Views1.7K

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

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

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

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

Читать далее

От PoC до MP. Как разрабатывают софт в рамках полного цикла создания умных устройств

Reading time8 min
Views1K

Разрабатывая девайсы, мы проходим полный цикл создания устройства: ES, EVT, DVT, PVT-этапы. Это международный инженерный фреймворк, его использует множество компаний. Но акцент во фреймворке на валидации и доработке хардверной части. О том, что в рамках каждого этапа требуется от софта, говорят мало и редко. Поэтому расскажу, как мы вписываем разработку программного обеспечения в основные этапы разработки «железа» и что требуют от software-команды на каждом этапе создания умных устройств Sber. Если вы хотите разрабатывать софт в хардверной компании или уже занимаетесь этим, но пока не работали в рамках фреймворка полного цикла — точно будет интересно.

Читать далее

Нужно ли собирать NAS?

Reading time28 min
Views174K

image


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

Читать дальше →

Лучшие статьи автомобильной тематики для разработчиков на Хабре [170+]

Reading time6 min
Views7.4K
image


  • По данным Международной ассоциация автопроизводителей (OICA) на 2015 год в мире эксплуатировалось 947 млн легковых и 335 млн коммерческих автомобилей (источник)
  • К 2050 году на дорогах мира будет в два раза больше автомобилей, чем сегодня, за ближайшие 30 лет добавится как минимум 1,2 миллиарда машин, подсчитали аналитики Всемирного банка.
  • Число легковых автомобилей, зарегистрированных на территории Российской Федерации, — чуть более 42 миллионов. (источник)

В рамках недавно анонсированной парадигмы работы с информацией «Ontol» мы просмотрели около 1500 статей по автомобильной (automotive) тематике на Хабре и вместе с сотрудниками НПП ИТЭЛМА выбрали самые интересные и полезные, на наш взгляд, материалы (присылайте свои тоже):

Читать дальше →

Баг-убийца. Фигак, фигак и Therac-25

Reading time5 min
Views57K
Программный код начал убивать людей при помощи машин еще в 1985 году.



Типичная разовая терапевтическая доза радиации составляет до 200 рад.
1000 рад — смертельная доза. Восставшая машина фигачила в беззащитных землян 20 000 рад.

Рассмотрим случай, когда поэтапное, но не согласованное внедрение улушений софта привело к системной ошибке. К худшей в истории программной ошибке.

В Therac-25 аппаратная защита была убрана и функции безопасности были возложены на программное обеспечение.

Как проводилось расследование, что должны намотать на ус проектировщики ИТ-систем, программисты, тестировщики, чтобы не допустить подобного.

Невидимые загрузки или о пользе свободно стоящих функций

Reading time5 min
Views1.4K

Довольно долго я тягался с по-настоящему глупой проблемой на C++: мне не нравятся функции-члены, но я вынужден их писать, чтобы программисту было хоть немного удобнее работать. Функции-члены обеспечивают две вещи: разграничение областей видимости и обнаружимость. Разграничение областей видимости — менее актуальная из этих задач, поскольку в моём коде на C++ я и так не использую модификаторы private/public. Обнаружимость — большая проблема: я могу написать x.F, а IDE предложит x.Func(). Отлично! «Но правильные программисты пользуются только vim и скромными IDE». Что ж, привет вам, воображаемые мифические обычные программеры. Здесь вам ничего не угрожает, но, пожалуйста, уходя — надевайте сразу два беджика:  «vim отстой» и «Я ненавижу emacs». Отлично помогает завязать разговор с «настоящими» программистами.

Читать далее

Возможно ли охлаждение… магнитным полем? О_о

Reading time7 min
Views13K

Картинка brgfx, Freepik

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

Самый яркий пример таких систем — элементы Пельтье, которые позволяют, только за счёт протекания электрического тока, создать разность температур. 

Однако, думали ли вы когда-нибудь о том, что подобный эффект может быть достижим и при помощи всего лишь магнитного поля? 

Такое возможно и сам эффект известен под названием «магнитокалорического эффекта».

Читать далее

Как быстро проверить все конденсаторы на плате. Простой ESR-пробник

Reading time3 min
Views95K

Как определить неисправный электролитический конденсатор?

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

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

Для измерения параметра ESR можно приобрести и готовый тестер, но я предлагаю вам собрать простой и надежный тестер ESR из доступных компонентов своими руками. Он отличается надежностью конструкции и возможностью измерений прямо на плате, без выпайки компонентов и риска повредить прибор.

На одном из форумов я нашел схему и решил повторить ее.

Читать далее

Как я научился обманывать холодильники — и сделал бизнес на 1,3 млн в месяц

Level of difficultyEasy
Reading time11 min
Views71K

У меня было два пивота. Сначала занимался рекламным бизнесом в Омске. Работало неплохо, но я понимал — это ненадолго. Слишком конкурентная сфера, слишком много изменений. Много хейта. В 2022 году после поправок ФЗ О рекламе окончательно закрыл направление.

Думал, что делать дальше. Решил заняться чем-то приземленным, где всегда есть спрос. Ремонт бытовой техники казался идеальным вариантом: большой рынок, техника ломается постоянно, а конкуренты часто работают нелегально. Там творится дичь, людей обманывают, а я буду работать честно и получу массу клиентов.

Освоил ремонт холодильников на курсах в Омском техникуме. Работал мастером, сам ездил по вызовам, знал все проблемы изнутри. Потом стал обучать других — сначала одного сотрудника, тот научил следующего.

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

Проблема пришла откуда не ждали...

Читать далее

Программирование ESP32 с ESP-IDF в среде platformio #3

Level of difficultyMedium
Reading time9 min
Views3.4K

Привет, Хабр!

Это четвертая статья из цикла по ESP-IDF. Как и обещал, сегодня мы рассмотрим мьютексы и семафоры на простых (и не очень) примерах.

Читать далее

Тактовая кнопка v2.0 для управления питанием Raspberry Pi

Level of difficultyMedium
Reading time2 min
Views3.7K

Эта статья - работа над ошибками первого варианта. Теперь работает стабильно, деталей меньше, переходные процессы проще и понятнее. На авторство схемы не претендую, ибо взял то, что предложил в комментариях уважаемый @tklim, отладил на макетке и немного адаптировал под свои нужды.

Power On-Off

О тепловом моделировании российских СХД в области массива накопителей

Level of difficultyMedium
Reading time11 min
Views1.1K

Меня зовут Максим Копосов, я руководитель компании «Промобит». 16 лет назад мы начали разрабатывать российские системы хранения данных и другую вычислительную технику. Сегодня делаем СХД на отечественных и зарубежных процессорах, создаем оригинальное ПО для них. Наши инженеры находятся в постоянном поиске, и поэтому появляются собственные исследования, одним из которых сегодня хочу поделиться с вами. Это отчёт о тепловом моделировании систем хранения данных в области массива накопителей. В нем были оценены температурные режимы ключевых компонентов системы, таких как накопители (HDD формата 3.5 дюйма и SSD формата 2.5 дюйма) и PCIe-свитчи, при различных условиях эксплуатации. Измерения проводились на нашей СХД серии 4100.

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

Читать далее

Ещё один PID-контроллер

Level of difficultyMedium
Reading time6 min
Views11K

Продолжаем работу с MPU9255 и используем его для экспериментов с ПИД‑регулятором.

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

Читать далее

Китайский экстремальный фузз-дисторшн для металла

Level of difficultyEasy
Reading time7 min
Views5.5K

Привет, Хабр! Сегодня мы изучим весьма занятную педаль перегруза, которая наверняка заинтересует любителей «тяжёлых» жанров гитарной музыки. Хотя и в контексте блюз-рока она, как это ни странно, вполне применима.

Удивительное устройство выпускается компаниями Twinote и Nux-Cherub под названиями, соответственно, Pπ Fuzz и HG6 Modern High Gain Distortion.

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

Читать далее

Проектирование контроллера двигателей с GitHub Copilot

Reading time8 min
Views7.3K

В умном доме всегда найдётся место, где можно применить моторизованные системы. Это регулируемые столы, автоматические двери, окна, электронные замки, лестничные подъёмники, калитки, ворота, жалюзи, маркизы, антенные позиционеры, ротаторы солнечных панелей и т. д.

Читать далее

Программируем квадрокоптер на STM32

Level of difficultyEasy
Reading time8 min
Views16K

Данный проект представляет собой систему стабилизации квадрокоптера на базе микроконтроллера STM32F411, реализованную на языке C. Включает обработку данных с датчиков (акселерометр, гироскоп), PID-регуляторы для управления моторами и алгоритмы фильтрации. Подходит для образовательных целей и DIY-проектов.

Читать далее

ToF-датчик VL53L0 и STM32F103C8T6

Reading time5 min
Views5K

Подключение датчика VL53L0X к микроконтроллеру STM32F103 и вывод расстояния в реальном времени. Рассмотрены особенности инициализации датчика, настройка I²C-интерфейса и обработка данных. Приведен пример кода на языке C для работы с периферией STM32.

Читать далее

Обзор САПР SimPCB Lite для расчета линий передачи и переходных отверстий на печатной плате

Level of difficultyEasy
Reading time7 min
Views1.3K

В.С. Кухарук, В.А. Ухин

В статье рассмотрены основные возможности и маршрут анализа линий передачи и переходных отверстий в САПР SimPCB Lite. Данная программа предназначена для обеспечения целостности сигналов и снижения потерь в высокоскоростных цифровых и в высокочастотных аналоговых устройствах, реализованных на печатных платах.

SimPCB Lite - система численного анализа линий передачи, виртуальная исследовательская лаборатория. В ее основе лежит математический 2D-решатель, в котором реализован метод граничных элементов. С помощью данного решателя вычисляются четыре первичных параметра: емкость (С), проводимость диэлектрика (G), индуктивность (L) и сопротивление (R). C и G рассчитываются через энергию электрического поля, L и R - магнитного. Все остальные параметры (волновое сопротивление, задержка, потери и т. д.) определяются на их основе.

Аналогичной зарубежной САПР с похожим методом расчета является Si9000 (Polar). При этом SimPCB Lite в чем-то ее опережает. Например, при вычислении параметров переходного отверстия в САПР от компании “ЭРЕМЕКС” используется его реальная модель, а в Si9000 в основе - коаксиальный кабель. Понятно, что во втором случае погрешность вычисления будет значительной [1]. Кроме этого, SimPCB Lite частично покрывает возможности ANSYS (модуль 2D Extractor) и HyperLinks (Siemens) [2]. 

Рекомендуемая последовательность действий для расчета и анализа параметров линий передач (ЛП) и переходных отверстий (ПО) в САПР SimPCB Lite состоит из определенного набора шагов:

Читать далее

Тамагочи на RISC-V и не только: смотрим студенческие проекты по программированию микроконтроллеров

Level of difficultyMedium
Reading time6 min
Views6.2K

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

Читать далее

Магазин инструментов: когда механика сильнее магии

Level of difficultyEasy
Reading time3 min
Views5.1K

Опытного конструктора сложно чем‑то удивить, но давайте попробуем вспомнить то захватывающее чувство, когда открываешь крышку механизма, не имея вообще никакого понятия о том, что внутри. Душа замирает, в глазах — предвкушение, в голове — мысли типа «надеюсь, это не очередная китайская импровизация на тему „как сделать сложно, когда можно просто“». Сегодня мы поговорим о магазине инструментов для металлорежущего станка.

Смотрим, что внутри!

Information

Rating
Does not participate
Registered
Activity

Specialization

Embedded Software Engineer
Intern
Programming microcontrollers
Circuitry
Electronics Development
STM32
Development of printed circuit board
Altium Designer
Embedded system
Cortex-M3
PCB design