Информация
- В рейтинге
- 304-й
- Откуда
- Москва, Москва и Московская обл., Россия
- Зарегистрирован
- Активность
Специализация
Инженер встраиваемых систем, DevOps-инженер
Старший
Git
Bash
CI/CD
C
Встраиваемая система
Программирование микроконтроллеров
Разработка программного обеспечения
Алгоритмы и структуры данных
Системное программирование
Разработка драйверов
А какие надо использовать и где их купить?
100 лет назад на гиперболоидах строили исполины ЛЭП и всемирные радиостанции.
Теперь - подставку для карандашей.
Утилита IMSProg поддерживает работу с SD картами?
Типа таких
Подключение SD карты по SPI (Капсула памяти)
https://habr.com/ru/articles/974076/
Типичная ситуация в программировании микроконтроллеров. Отвалившаяся вилка застряла в гнезде. В электронике это называется "извлечь клеща".
В программировании микроконтроллеров "клещи" происходят на разных платах достаточно часто
И тут вам никакие знания алгоритмов и абстрактных структур данных не помогут, чтобы починить изделие и продолжить работу. Можно задавать в качестве вопроса для собеседования при приеме на работу на должность "программист микроконтроллеров". Как извлечь клеща (отломанную вилку)?
Я пробовал устроиться программистом МК в западные компании и заметил, что вопросы там задают заметно сложнее нежели у нас в РФ. Вот буквально некоторые из них:
1–Опиши как работает JTAG под капотом (установка точки останова).
2–В микроконтроллерной системе аналого-цифровой преобразователь измеряет напряжение на канале. Это напряжение надо конвертировать в дискретный уровень, в зависимости от значения. Сигнал зашумлен. Надо реализовать программный гистерезис. Напишите функцию, которая выполнит эту работу. Используйте в вычислениях только целочисленные типы.
int hysteresis(int input_percent);
3–Как отладить большой кусок кода, если нет возможности пройти JTAG/SWD отладчиком?
4--Вам прислали прошивки в *.bin файле. Как загрузить и запустить эту прошивку по произвольному отступу в on-chip Nor Flash памяти?
5--Каким образом кнопочные Siemens/Motorola/Nokia телефоны могли в run-time до устанавливать игры без пере прошивки микроконтроллера внутри?
6--Что для тебя значит рефакторинг? Что ты подразумеваешь под словом рефакторинг?
7–Как измерить покрытие микроконтроллерного кода после отработки модульных тестов?
Вы не забывайте что, что инженеров порой нанимают как раз для того, чтобы работа не была сделана.
Во всём виновата Renault: АвтоВАЗ раскрыл, как и почему французы ограничивали развитие Lada
https://www.ixbt.com/news/2025/05/19/vo-vsjom-vinovata-renault-avtovaz-raskryl-kak-i-pochemu-francuzy-ogranichivali-razvitie-lada.html
"Lada позиционировалась как бюджетный бренд в структуре Renault, а её модели намеренно лишались современных электронных систем и оборудования, чтобы избежать конкуренции с автомобилями Renault на российском рынке. "
Например в подразделении НПП ИТЭЛМА это выглядело вот так
Нельзя Просто Так Пойти и Купить Овцу (или Потёмкинская Деревня в Коде)
https://habr.com/ru/articles/837396/
Российские компании не хотят нанимать опытных программистов-микроконтроллеров. Опытные знают себе цену и у них сформировался свой почерк, свои инженерные привычки в коде и отладке. Опытный уже много походил по граблям и поэтому у опытного программиста неизбежно уже есть представления того как надо.
Российские компании, напротив, больше предпочитают нанимать вчерашних желторотых студентиков, юнцов, мальков. Происходит это по трём базовым фундаментальным причинам:
1—Экономия на зарплате. Вчерашнего студента легко унизить, опустить на собеседовании и склонить работать за зарплату вплоть до 22к-42к RUR в мес. А сэкономленное деньги рассовать по карманам начальства. Поверьте, в российских инженерных НПЦ деньги есть всегда, и внушительные. Это буквально видно по составу иномарок на парковке у промзоны. Там сверкают и переливаются на Солнце мерины, BMW X5, Ауди Q5, Audi TT и прочее hi performance cars.
2—Научить юнца под себя, то есть научить малыша своим плохим практикам. Зачастую вчерашние ВУЗ-овцы ещё не знают о таком понятии, как технологии промышленной разработки софтвера, поэтому в их голову как в помойку можно легко вложить любое даже самое абсурдное, самое извращённое убеждение, например, что передавать код проекта в *.zip архиве по почте, и сборка из-под GUI-IDE-IAR мышкой, функции боги по 700+ строк - это просто норма жизни, и тому подобное. Они всё схавают. За обе щёки.
3-- Чтобы дорогостоящие инженеры окупались их надо грамотным образом нагружать. Иначе высокопроизводительные разработчики будут просто простаивать между задачами, а компания терять средства. Поэтому c толковыми надо заниматься, так называемым, научно производственным менеджментом (НПМ). Четко формулировать постановки задач. Строить диаграммы Гана. Графы связи задач. Проводить ежедневные утренние планерки, еженедельно проводить синхронизацию по задачам. Для этого нужны грамотные руководители, которые смыслят в предметной области и за плечами сами имеют качественный опыт разработки. При этом напомню в России руководство везде формируется исключительно по принципу кумовства и блата среди родственников администрации. А в университете родственников не учат диаграммам Гана и топологической сортировке графа задач. Понимаете?...Ну сами подумайте, откуда взять столько талантливых родственников и соседей по даче? Поэтому руководству проще нанять дешманских инженеров студентиков, мальков, юнцов и просто пустить всё на самотёк. Тогда от руководителя вообще ничего не требуется. Только раз в 2-6 месяцев приезжать на работу и справляться о прогрессе. А сэкономленный зарплатный фонд можно опять рассовать по карманам.
4--Молодых легко обмануть. Заставить их работать за постоянно уходящую в бесконечно-голубую даль морковку. Навешать им лапши на уши про компанейскую культуру, про опционы. Золотые горы потом. Зрелые сотрудники на эти сказы дешевые давно не ведутся.
CAN - это очень простой интерфейс. Осваивается за 1 максимум 2 дня.
CAN-шина (Теория)
https://habr.com/ru/articles/939978/
Вот USB куда сложнее. На порядок.
Я недавно писал прошивку для переходника USB-CAN (Клон PCAN-Pro-X).
При загрузке шины после 80% без оптимизации пакеты терялись (7-10 %) c оптимизацией -Ofast ни один пакет не терялся
ISO 26262-6 разбор документа (или как писать безопасный софт)
https://habr.com/ru/articles/757216/
В Москве ловить нечего. Безумно дорогой город и компании с посредственной экспертизой. Если ехать за опытом, то уж лучше Питер.
Питерская школа программирования МК на голову выше московской школы.
Собеседования на роль программист микроконтроллеров это вообще тема для анекдотов. Первый вопрос, который обычно задают программистам микроконтроллеров грубым голосом и ультимативным тоном звучит так:
Второй вопрос как-то ближе к теме. Звучит так:
Еще есть такие варианты
Если ответы нет/нет/нет, то и работу не получишь...
Программистами микроконтроллеров, как правило, стали те, кого не взяли в Linux разработчики.
Те, кто "ниосилил" разработку в Linux ядре.
Фактически Linux разработчики даже не считают программистов-микроконтроллеров программистами как таковыми.
Называют их User(ы) GUI(нёвых)-IDE(шек)!
Или пациенты с диагнозом "STM Cube головного мозга".
Бессмысленно это спрашивать программиста, так как bit stuffing всегда работает аппаратно. Что в CAN 5-1, что в USB 6-1.
При устройстве на программиста МК меня еще вот эту ахинею спрашивали (в конторе которая что-либо серьезнее IARа не осилила)
Задача про рукопожатия
https://habr.com/ru/articles/728946/
Задача про мышей и отраву
https://habr.com/ru/articles/727944/
Задача про игральные кубики и треугольники
https://habr.com/ru/articles/763372/
Задача про две ёмкости для жидкости
https://habr.com/ru/articles/662561/
Само собой решить надо было в уме.
Как Работать с UART на Микроконтроллерах (UART + FIFO = LOG)
https://habr.com/ru/articles/981028/
Почему бы Вам не взять и написать про это монографию.
Это что прям сопровождение сигнала делали? Вот так?
SDR приемник GPS на микроконтроллере
https://habr.com/ru/articles/789382/
Если говорить откровенно, то среди программистов МК, как правило, оказываются самые слабые программисты на рынке. Те кто по-настоящему разбирается в компьютерных науках идут в BackEnd, разработку баз банных, GameDev, Mobile, OS kernel разработчики. Поэтому в российских коллективах по программированию МК обычно царит средневековые представления о программировании: мракобесие, обскурантизм и крохоборство. Они лаптями щи хлебают и даже не догадываются об этом. В электронных организациях царит безответственность и безграмотность. Решения принимаются без серьезной научной экспертизы.
Среди российских программистов МК торжествует ненависть к математике. Ну это и понятно, учитывая контингент, заполняющий эту профессию в РФ. Все чураются как огня применять в прошивках математические методы при решении прикладных задач. Предпочитают всё тупо прохардкодить. В качестве доказательства можете просто почитать комменты под текстом "Зачем Программисту Микроконтроллеров Диофантовы Уравнения". Просто посмотрите на это бесево обскурантизма против использования математики.
Ситуация осложняется еще и тем, что все толковые разработчики уехали из России лет как 30 назад в 199х, все полу умные программисты уехали из России 20 лет назад 200x. Последние пряморукие программисты МК собрали вещи осенью 2022. Это называется утечка мозгов. Поэтому Вам придётся работать, так скажем, с не самыми адекватными программистами и менеджерами. Уж не взыщите... Что осталось, то и осталось... Они будут проявлять признаки упрямства, мракобесия и обскурантизма. Если им указать об косяке, то они будут прикидываться дурачками (валенками). Просьба относиться к этому со снисхождением... Как врач в поликлинике.
В результате мы видим, что обычно работа программиста МК - это даже не сколько разработка, а тупое портирование на местное железо какой-то случайный, сомнительный и низкопробный open-source проект взятый наспех из интернета. Так как сделать его самим у организации, как правило, нет ни экспертизы ни желания ни нормальных специалистов. Ибо любая экспертиза давно утрачена и угроблена. От былой советской инженерной школы не осталось и следа. ВУЗы РФ выпускают теперь только очень слабых инженеров.
В общем один-ноль в пользу Байдона.
Если в конторе основной инструмент это IAR , Keil или Есlipse +GCC плагины, то надо бежать от такой конторы сразу. Это школота на 101%.
Пояснение тут
Почему Сборка с Помощью Есlipse GCC Плагинов — это Тупиковый Путь
https://habr.com/ru/articles/794206/
Надо работать в коллективах, которые умеют программировать системы сборки и налаживать DevOps.
Почему важно собирать код из скриптов
https://habr.com/ru/articles/723054/