Pull to refresh
178
120.8

Embedded SW/Firmware Engineer

Send message

В программировании МК трудна также миграция на другие проекты так как там везде взяты за основу разные 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



Поэтому программистом вы будете считать себя только сами и никому не сможете доказать, что вы программист, если программируете MCUшки.

CAN,UART,USB это не протоколы.
CAN,UART,USB это всё интерфейсы.

Для CAN нужен чип физики.
В микроконтроллерах, как правило, есть только CAN-MAC.

Физика же UART всегда присутствует в микроконтроллерах.

Вот и получается что UART загрузчик будет работать всегда и везде.

CAN загрузчик будет работать только в платах, где есть чип CAN физики.

Удивительно, что никто не призывает пользоваться DeviceTree для описания аппаратуры в микроконтроллерных прошивках, подобно тому, как это происходит при разработке для Embedded Linux.

Подписываюсь под каждым Вашим словом.

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 - прошлый век, лучше пользовать ninja-build

написать 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 файл?

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