Embedded SW/Firmware Engineer
Information
- Rating
- 53-rd
- Location
- Москва, Москва и Московская обл., Россия
- Registered
- Activity
Specialization
Embedded Software Engineer, DevOps
Senior
Git
Bash
CI/CD
C
Embedded system
Programming microcontrollers
Software development
Algorithms and data structures
System Programming
Development of drivers
В программировании МК трудна также миграция на другие проекты так как там везде взяты за основу разные RTOS(ы).
Если вы senior в FreeRTOS с 10 годами опыта за плечами, то при переходе на TiRTOS вы мгновенно превратитесь в Junior(а).
Если вы senior в TiRTOS с 15 годами опыта за плечами, то при переходе на RTOS Zephyr вы мгновенно снова превратитесь в Junior(а).
Поэтому в программировании микроконтроллеров Senior может на следующий день стать Junior(ом) и это обычное явление.
В профессии программист MK развитие и экспертиза обнуляется каждые 2-3 года.
Напишите сами про это. Наступит чудо у вас появится хотя бы один пост.
Любая разработка начинается там, где есть возможность делать диагностику. Когда нет способов диагностики, то говорить о разработке не приходится.
Программировать MK без отладки это как писать ручкой с закрытыми глазами.
XML это в сущности язык описания деревьев.
У меня есть Win(довая) С-утилита, которая преобразует *.XML файлы в *.DOT (Graphviz).
Анализировать граф, удобнее чем XML.
Обращайтесь, если понадобится.
Программисты микроконтроллеров, как правило, никогда не числятся как штатные программисты.
В большинстве российских организациях у вас, как программиста MK в трудовой книжке будет написано обыкновенно “инженер”.
Компании PФ, которые делают электронику и нуждаются в System Software даже официально не состоят в реестре IT компаний.
Hidden text
https://digital.gov.ru/opendata/7710474375-registergosaccred/table/?q=&utm_referrer=https%3A%2F%2Fdigital.gov.ru%2Fopendata%2F7710474375-registergosaccred%2Ftable%2F%3Fq%3D%25D0%259F%25D0%25A0%25D0%259E%25D0%25A1%25D0%259E%25D0%25A4%25D0%25A2
Поэтому программистом вы будете считать себя только сами и никому не сможете доказать, что вы программист, если программируете MCUшки.
И где, собственно этот список аккредитованных IT компаний?
CAN,UART,USB это не протоколы.
CAN,UART,USB это всё интерфейсы.
Для CAN нужен чип физики.
В микроконтроллерах, как правило, есть только CAN-MAC.
Физика же UART всегда присутствует в микроконтроллерах.
Вот и получается что UART загрузчик будет работать всегда и везде.
CAN загрузчик будет работать только в платах, где есть чип CAN физики.
Удивительно, что никто не призывает пользоваться DeviceTree для описания аппаратуры в микроконтроллерных прошивках, подобно тому, как это происходит при разработке для Embedded Linux.
Подписываюсь под каждым Вашим словом.
Del
CAN это замечательно. Вот только переходники с USB-CAN(12910 RUR) стоят дороже чем переходники с USB-UART (335 RUR) раз в 10...20
Работали с одной OutSource компанией.
От них был загрузчик для STM32F413ZGJ6. 32kByte на весь загрузчик.
Писали они на С++ 17 в IAR. Все что им туда удалось утрамбовать это драйвер-SPI (на SPL), драйвер SPI-NOR FLASH для MX25L6433F и все.
Больше ничего не влезло.
Проше UART интерфейсов нет. Всего пару регистров читать писать.
Драйверы CAN и тем более USB могут просто не поместиться в 32kByte On-Chip NorFlash памяти загрузчика.
написать make all быстрее, чем написать ninja all. Поэтому make удобнее. )
make хороший, надежный. Вся спека GNU Make это всего-навсего 224 страницы.
Пуговицы тоже давно изобрели дак и сейчас им пользуются (не магнитами какими-нибудь).
Вот чем ninja лучше make? Прошивки и так собираются быстро. Jenkins за ночь вообще всё соберет.
CMake и make может генерировать.
Просто make позволяет удобнее управлять модульностью. Makefile(лы) лучше вручную писать. Так они хоть будут лучше читаться.
Когда нет CMake - значит нет и ошибок сборки на этапе CMake.
В России в основном мелкосерийное производство (3-30 штучек чего-либо электронского).
Поэтому платы собирают, в большинстве случаев, вручную.
Паяют SMD компоненты руками как штатные женщины монтажницы с гуманитарным образованием, студенты 2 курса на подработке, так и сами топологи плат (разработчики плат).
Поэтому программистам микроконтроллеров только и успевают приносить, то плату с не той частотой кварца, то с непропаем, то с кляксой делающей КЗ (короткое замыкание).
Очень часто в РФ документации на плату в организации либо нет вовсе (потеряна, утрачена) либо она далеко не полная (только Э3 в фотографии). Поэтому крайне желательно, чтобы шекография была информативна.
Шелкография также нужна для подсказки при монтаже как тут
Чтобы ошибочно не припаяли резюки и кондёры под углом 90%.
В Zephyr SDK очень много файлов с расширением *.cmake (2612 штук).
Какая утилита поедает файлы с расширением *.cmake?
Существует ли консольная утилита, которая преобразует финальное дерево устройств *.dts с выхода препроцессора в Graphviz dot файл?