Comment by supertroop
7 days ago
Bare metal refers to not using an rtos. I know that sounds weird but it is an industry convention. It does not refer to the language.
7 days ago
Bare metal refers to not using an rtos. I know that sounds weird but it is an industry convention. It does not refer to the language.
That's exactly what I said. Rust compiles to binary opcodes. Assembly is not an rtos, and does not require one. ASM isn't a standard "language". It's literally a fancy display of opcodes and registers that the CPU reads to execute operations. C does the exact same thing, ie compile to opcodes. You can convert binary back and forth from ASM to opcodes with a lookup table. At its core, ASM is just a convenient way to read and write cpu opcodes. I misspoke saying "to assembly" when I meant "to binary opcodes", but such a minor pedantic misspeak I didn't think anyone who understood embedded systems would not understand the meaning. Sorry about that.
Whether the code compiles to assembly is orthogonal to whether the program can function without runtime support.
Compiled Rust code that relies on syscalls will not function on a “bare metal” microcontroller.
Oh, thank you. I didn't know that. Sorry about my ignorance. Really thought that it defaulted to a direct machine code without library assistance.
1 reply →