Задать вопрос

Почему еще не состыкованы технологии Python(Rust, Go, JavaScript) -> LLVM -> Asm -> STM32 ?

Есть проекты, которые реализуют компиляцию языков высокого уровня (Python, Rust, Go, JavaScript) в байткод LLVM ( по крайней мере в описании этих проектов).
LLVM байт код может компилироваться в ARM код.
Соответственно, для ARM микроконтроллеров (меня в первую очередь интересуют STM32) можно писать на удобном языке.

Сейчас уже есть микроконтроллеры STM32 c 2 МБ флеша/256 кБ RAM на борту. И всегда можно поставить внешнюю флешь и рам.

В чем проблема, почему эта цепочка до сих пор не реализована? Что с чем не стыкуется?

Update:
Вроде бы все стыкуется. Люди уже используют sushihangover.github.io/arm-cortex-m3-bare-metal-w... Clang для Cortex-M микроконтроллеров и размер бинарного кода близок к генерируемому GCC.
Осталось решить вопросы отладки кода на языках отличных от C/C++, доступа из к регистрам процессора.
Наверное, нужна будет прослойка абстракции железа, написанная на С/С++.
Еще, видимо, рано. Нужно немного подождать.
  • Вопрос задан
  • 5483 просмотра
Подписаться 5 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
soshnikov
@soshnikov
Мне кажется, это Неуловимый Джо.
Если вам необходима компактная платформа общего назначения для прикладного решения на питоне, к примеру, возьмите малину, кубик или любую подобную плату. Валом их.
Ембеддед это несколько другие задачи и соответственно инструменты. Это работа на уровне железа, таймингов, прерываний. Зачастую сложно понять, почему что-то не работает, хотя должно. Хотя код на си или асме, и вроде как все прозрачно и понятно и на одном экране умещается.
А вы представьте в какой ад превратится отладка, если туда впихнуть рантайм или виртуальную машину?
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Я подозреваю что загвоздка в стандартной библиотеке этих языков. То есть LLVM тут не особо поможет. Но вообще есть espruino, micro-python. go и rust же сильны за счет своего рантайма и стандартной библиотеки, без которых особо интереса они не представляют.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽