Почему еще не состыкованы технологии 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++, доступа из к регистрам процессора.
Наверное, нужна будет прослойка абстракции железа, написанная на С/С++.
Еще, видимо, рано. Нужно немного подождать.
  • Вопрос задан
  • 5475 просмотров
Пригласить эксперта
Ответы на вопрос 2
soshnikov
@soshnikov
Мне кажется, это Неуловимый Джо.
Если вам необходима компактная платформа общего назначения для прикладного решения на питоне, к примеру, возьмите малину, кубик или любую подобную плату. Валом их.
Ембеддед это несколько другие задачи и соответственно инструменты. Это работа на уровне железа, таймингов, прерываний. Зачастую сложно понять, почему что-то не работает, хотя должно. Хотя код на си или асме, и вроде как все прозрачно и понятно и на одном экране умещается.
А вы представьте в какой ад превратится отладка, если туда впихнуть рантайм или виртуальную машину?
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Я подозреваю что загвоздка в стандартной библиотеке этих языков. То есть LLVM тут не особо поможет. Но вообще есть espruino, micro-python. go и rust же сильны за счет своего рантайма и стандартной библиотеки, без которых особо интереса они не представляют.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы