LINUX.ORG.RU

rust вообще готов для embedded?

 , ,


1

6

http://blog.japaric.io/embedded-rust-in-2018/

Кто-нибудь может по-простому объяснить, стоит ли развлекаться с переписыванием мелкого проекта на rust или нет? Все проекты - регуляторы для моторчиков на stm32f103c8t6. В принципе, вся память выделяется заранее, поэтому обычные плюсы тоже сойдут.

Rust хотелось попробовать потому что без приключений жить скучно, и потому что там есть пакетный менеджер. Но в принципе под плюсы пакетопроблемы решаются через platform.io. В rust смутило, что похоже надо будет ставить nightly builds. КМК это остановит желающих слать патчи. Есть подозрения, что жизнь может стать продвинутой, но весьма неудобной :).

Кто-нибудь уже делал опенсорсную эмбедщину на расте? Пора на раст валить или не выделываться?

★★★★★

Нет. В январе сам пытался разузнать этот вопрос, а потом проводил собственные тесты.

Для компа он почти готов - отличный язык с кучей применений. На микроконтроллерах я так же вижу его прекрасной альтернативой или же помощником вечного Си. Но, к сожалению, стабильной поддержки мобильных кортексов ещё не завезли, поэтому уже только для компиляции приходиться извращаться, задействовать unstable фичи, что безусловно снижает надёжность ПО. Но всё работает.

Пробовал два варианта: чисто растовское приложение, которое мигает светодиодом, а так же растовский код как библиотека на си для высоких функций. Всё работает. Огорчает только то, что многими возможностями раста невозможно пользоваться без heap'a и его нужно пилить самому. И для стандартной библиотеки нужно пилить совместимость. Но всё остальное - шикарно.

В скором времени ото всех этих проблем должны избавиться, тогда мы получим неплохого помощника в разработке МК.

Просто он пока не вырос. BTW, эти проекты с unstable вставками ломаются после каждого апдейта и на них нет документации - это было основным траблом.

SL_RU ★★★ ()
Последнее исправление: SL_RU (всего исправлений: 1)
Ответ на: комментарий от SL_RU

Можешь дать какие-нибудь примеры для stm32, хотя бы простейшие, чтобы конкретно оценить, что использование раста за собой тянет, и какие конкретно unstable фичи?

Есть что-нибудь толкового почитать?

curufinwe ★★★★★ ()
Ответ на: комментарий от curufinwe

Дык по первой ссылке из поста же:

- все примеры про no_std
- async/await

Еще:

- возможно я плохо искал, но в stm32 embedded hal работа с serial только байтами и фиксированными чанками. readline уже надо городить. И без await это бы выглядело совсем тухло.
- странности с производительностью строк и форматирования (но нам пожалуй не критично)

КМК на сегодняшний день практичнее поставить platform.io.

Vit ★★★★★ ()