T
T
tugo2014-06-14 13:53:41
Python
tugo, 2014-06-14 13:53:41

Why haven't Python(Rust, Go, JavaScript) -> LLVM -> Asm -> STM32 technologies been docked yet?

There are projects that implement the compilation of high-level languages ​​(Python, Rust, Go, JavaScript) into LLVM bytecode (at least in the description of these projects).
LLVM byte code can compile to ARM code.
Accordingly, for ARM microcontrollers (I am primarily interested in STM32) you can write in a convenient language.
Now there are already STM32 microcontrollers with 2 MB flash / 256 kB RAM on board. And you can always put an external flash and frames.
What is the problem, why is this chain still not implemented? What doesn't fit with what?
Update:
Everything seems to fit together. People are already using sushihangover.github.io/arm-cortex-m3-bare-metal-w... Clang for Cortex-M microcontrollers and the binary code size is close to that generated by GCC.
It remains to solve the issues of debugging code in languages ​​other than C / C ++, access from to processor registers.
Probably, a layer of iron abstraction written in C / C ++ will be needed.
Still, apparently, early. We need to wait a bit.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
I
Ivan Soshnikov, 2014-06-14
@soshnikov

I think it's Elusive Joe.
If you need a compact general purpose platform for a python application solution, for example, take a raspberry, a cube, or any similar board. Shaft them.
Embedded is a few other tasks and, accordingly, tools. This is work at the level of hardware, timings, interrupts. It is often difficult to understand why something does not work, although it should. Although the code is in C or ASME, and it seems like everything is transparent and understandable and fits on one screen.
Can you imagine what kind of hell debugging will turn into if you shove a runtime or a virtual machine there?

S
Sergey, 2014-06-14
Protko @Fesor

I suspect that the snag is in the standard library of these languages. That is, LLVM will not help much here. But in general there is espruino , micro-python . go and rust are strong due to their runtime and standard library, without which they are of no particular interest.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question