#vacancy #office #stm32 #RTOS #ARM #C
Middle Software Engineer
EMBEDDED-ПРОГРАММИСТ
Место работы: Москва, м. Калужская
ЗП: 120-180 т.р. (на руки)
О компании: ООО «Лаборатория электроприводов «Адаптто»,
https://syqiq.tech/ Компания "Адаптто" является разработчиком первой в России интегрированной системы узлов и элементов электропривода (e-bike, коптеров, станков, лодочных моторов, мопедов, мотоциклов, гольф-каров, снегоходов и пр.). В состав системы входят: - контроллер; - система управления батареей (BMS); - аккумуляторная батарея; - преобразователь DC-DC; - дисплей; - пульт; - зарядное устройство, - программное обеспечение.
Обязанности:
• Написание программного кода для устройств, тестирование на языке C
• Разработка цифровых устройств на базе микроконтроллеров архитектуры STM32 (через hal и без hal), взаимодействие ядер процессора, кэш
• Коммуникации: синхронизация данных, корректировка ошибок связи, маршрутизация данных
• Документирование выполненных задач
Требования:
• Навыки работы с FreeRTOS: блокировки, очереди, коммуникации;
• Опыт работы с МК STM32 не менее 2-х лет;
• Практические навыки цифровой обработки сигналов (расчет iir, fir фильтров, FFT);
• Обязателен опыт отладки коммуникаций и протоколов обмена
На уровень ЗП будут влиять такие навыки:
• Работа с цифровыми интерфейсами SPI, I2C, Ethernet;
• Опыт разводки и наладки плат
• Навыки работы с RTOS, HAL, так и с bare metal.
• Знание и опыт работы с bluetooth трансиверами, профилями buetooth.
• При необходимости, сможете управиться с осциллографом и найти причину проблем с коммуникациями, помехами, питанием.
• Умение оптимизировать и логически структурировать код, гибко пользоваться возможностями контроллера прерываний для достижения быстрой реакции, где это необходимо, и запускать отложенный обсчет тех денных, которые можно обсчитать потом.
• Умение определять и исправлять такие ошибки как:
► ошибки синхронизации кеша данных
►ошибки атомарности доступа к данным
► ошибки, приводящие к потерям или искажениям данных при передачи-приеме данных
• Способность освоить новую периферию, продумать и реализовать собственный протокол обмена – к примеру, туннелировать IP трафик через шину CAN или наоборот.
• Опыт решения задач (например, как сделать очередь, блокировку ресурса без использования rtos, как работать с контроллером прерываний, отложенными обработками irq для достижения быстрого гарантированного времени реакции где это необходимо.
• Наличие теоретического бекграунда, который позволяет решать задачи системного уровня (например, правильно настроить кеширование в MPU или сделать кеширование с файловой системы).