Перейти к содержанию
    

Программист Cortex-M (STM32) на постоянку, Москва

Привет

 

Нужен программист, умеющий в STM32 под RTOS и с GNU Toolchain, на постоянную работу в небольшую компанию.

 

Мы занимаемся разработкой железа, низкоуровневого софта и сетевых протоколов для современных радиочастотных сетей — то, что называют интернетом вещей: LoRa/LoRaWAN и 6LoWPAN.

 

Сайт: http://www.unwds.com (да, давно не обновлялся)

Бложик: https://geektimes.ru/users/olartamonov/topics/

 

Что надо точно:

  • достойный внимания опыт с Cortex-M, особенно с STM32. Кроме STM32, мы используем TI CC1310 и CC2650, но с ними сталкиваться пока особо не потребуется;
  • языки программирования — C/C++, в исключительных случаях ассемблер;
  • опыт работы с GNU ARM Embedded Toolchain (gcc) и Eclipse IDE — по некоторым причинам мы пользуемся именно ими;
  • опыт работы с RTOS — мы используем RIOT и Contiki;
  • опыт отладки законченных электронных устройств;
  • умение описать русским языком, как работает написанное на вышеупомянутых языках, для ваших коллег.

 

Что было бы неплохо:

  • опыт работы с современными беспроводными сетями — ZigBee, Bluetooth, LoRa или 6LoWPAN, в т.ч. понимание базовых принципов работы радиочастотных систем вообще;
  • опыт проектирования электронных устройств;
  • знание основной элементной базы;
  • опыт работы с ОС Linux, и в частности с git;
  • опыт разработки ПО высокого уровня (под Linux/Windows);
  • холодная голова, горячее сердце, чистые руки и горящие глаза.

 

Чего как у нас:

  • 60-80 в белую на руки;
  • офис на метро Волгоградский проспект — 12 минут пешком или бесплатная маршрутка;
  • график гибкий на столько, на сколько это не мешает работе;
  • паять-лудить-клепать не надо, для этого есть специально обученные люди (я уже насмотрелся на вакансии людей-оркестров).

 

И о плохом:

  • фрилансеров не надо
  • разовых работ не надо
  • если вы живёте в области, можно появляться в офисе не каждый день — но 3 раза в неделю всё-таки надо

 

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

 

Писать на [email protected]

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Привет

 

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

 

А давайте здесь вам багов накидаем, а вы там на собеседовании претендентов по ним погоняете.

Во потеха будет. :biggrin:

 

Например такой баг:

Сделан начальный загрузчик, он по CAN-а пишет в свою Flash новую программу и отдает ей управление.

Но если запретить прерывания командой __disable_irq() в момент передачи, то управление не передается программе, а если оставить разрешенными, то стабильно передается и программа стабильно работает.

Речь о STM32F7xx

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Типичный хаброюсер, во всей красе:

Однако в том, как именно работает эта связь, перечисленные выше технологии достаточно существенно различаются — фактически, они распадаются на две группы: широкополосные UWB (Ultra Wide Band, к ним из перечисленного относится только LoRa) и узкополосные UNB (Ultra Narrow Band, в нашем случае это Sigfox и «Стриж», а также пока разрабатывающийся Weightless). Из этого проистекает ряд отличий, за которые — не всегда честно — и цепляются желающие прорекламировать ту или иную технологи.

 

UWB: один канал занимает полосу в эфире с шириной 125 или 250 кГц

UNB: один канал занимает полосу в эфире с шириной 100 Гц

 

Ординарное, вроде wide band, narrow band, это не для них. У них все "круто", "экстра", "ультра" и т.п. И давно UWB стали называть канал, с полосой 125-250кГц? gigi.gif Ну хоть бы в какую-нить википедию сначала заглянул.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А зарплата не маловата раза в 2? Для рассказывания смешных историй.

Если сравнивать с Петросяном, то думаю ЗП вообще - ни о чём ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Завтра - пятница !

Отличный повод наполнить эту ветку историями о "необычных глюках в STM32" ©

Однозначно - польза будет :)

Кстати, нужно ли понимать фразу ТС "Тестовое задание: на собеседовании рассказать мне смешную историю про необычный глюк в STM32, с которым вы столкнулись." ©

как стоп-фактор для :

1. Людей которые в глюках не видят ничего смешного по определению.

2. Людей которые списывают "глюки STM32" © на глюки среды разработки, библиотеки и т.п. ибо не копают глубоко, но пишут вполне пристойный код.

3. Людей которые не делят глюки на "обычные-необычные"

4. Людей у которых все работает :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Типичный хаброюсер, во всей красе:

Типичный электроникс юзер в ветке про предложения о работе. Во всей красе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2. Людей которые списывают "глюки STM32" © на глюки среды разработки, библиотеки и т.п. ибо не копают глубоко, но пишут вполне пристойный код.

Люди, "не копающие глубоко" и полагающиеся на библиотеки не могут написать "пристойный код". Определённо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Люди, "не копающие глубоко" и полагающиеся на библиотеки не могут написать "пристойный код". Определённо.

И еще те, что в машинных кодах не пишут, компилятор же тоже ошибается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А зарплата не маловата раза в 2? Для рассказывания смешных историй.

 

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

 

Кстати, нужно ли понимать фразу ТС "Тестовое задание: на собеседовании рассказать мне смешную историю про необычный глюк в STM32, с которым вы столкнулись." ©

как стоп-фактор для :

1. Людей которые в глюках не видят ничего смешного по определению.

2. Людей которые списывают "глюки STM32" © на глюки среды разработки, библиотеки и т.п. ибо не копают глубоко, но пишут вполне пристойный код.

3. Людей которые не делят глюки на "обычные-необычные"

4. Людей у которых все работает :)

 

Нужно.

 

1. Не умеют с юмором относиться к своей работе — это плохой признак.

2. А кто за них будет копать глубоко?

3. То есть не умеют оценивать сложность проблемы.

4. Что, правда? Ну, если они готовы поспорить на свою зарплату, что у них всё всегда будет работать...

 

А давайте здесь вам багов накидаем, а вы там на собеседовании претендентов по ним погоняете.

Во потеха будет. :biggrin:

 

Мне смешная история со счастливым концом желательна.

 

Сделан начальный загрузчик, он по CAN-а пишет в свою Flash новую программу и отдает ей управление.

Но если запретить прерывания командой __disable_irq() в момент передачи, то управление не передается программе, а если оставить разрешенными, то стабильно передается и программа стабильно работает.

Речь о STM32F7xx

 

L151CC. Спим. Выходим из WFI по прерыванию от RTC. Входим в обработчик прерывания. Валимся в hard fault на первой команде в обработчике независимо от того, какая она.

 

Счастливый конец? DSB перед WFI и четыре штуки NOP после.

 

И еще те, что в машинных кодах не пишут, компилятор же тоже ошибается.

 

Кстати, действительно бывает что и ошибается. Вы в таких случаях что делаете, приходите к начальнику и говорите «ну я всё написал, а оно не работает, давай лучше клиенту просто деньги и неустойку вернём»?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

LoRa к интернету вещей никакого отношения не имеет.

 

Вам, безусловно, виднее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

L151CC. Спим. Выходим из WFI по прерыванию от RTC. Входим в обработчик прерывания. Валимся в hard fault на первой команде в обработчике независимо от того, какая она.

 

Счастливый конец? DSB перед WFI и четыре штуки NOP после.

 

Ладно, а такой баг:

 

Почему не работает эта атомная блокировка:

 unsigned long val;

label1:
    val= __LDREX(&RTC_BKP0R) | 1;
    if ( __STREX(val, &RTC_BKP0R) != 0 ) goto label1;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...