On 06/21/2013 08:20 AM, Thomas Daede wrote:
Hello,

I'm relatively new to Rust, and this is the first time I've posted on
this list. For my senior honors thesis, I would like to improve Rust
so that it can be used on microcontrollers and other small embedded
systems. This is a sector dominated by C and has seen little change
for quite a while, due to most other languages not meeting the unique
requirements. Besides being constrained in RAM and CPU power, the
program binary also generally runs directly out of NOR Flash based
ROM, so that the binary code itself takes no RAM space. This precludes
most JIT based systems - interpreter based languages take less RAM,
but are also very slow.

Rust is in many ways a very good fit for microcontrollers. Its memory
safety is very useful for many different applications, and helps
greatly for task isolation on systems without memory protection. In
addition, memory allocation is explicit so the programmer can choose
where best to allocate the RAM - important for things like avoiding
the GC in sensitive code regions. And of course, there are all the
other benefits that Rust has compared to C in general.

However, Rust isn't ready for microcontrollers yet. Here's what I plan
to implement, in order:

Sounds good. When you start work on it I can point you in the right direction on most of these topics. Feel free to ask questions on the mailing list or on IRC.

- Static linking for runtime and Core crate

https://github.com/mozilla/rust/issues/552
https://github.com/mozilla/rust/issues/3361

- Compiling runtime and Core without thread support

This is a major refactoring project which isn't made any easier by the current situation in which we have 2 entire runtimes.

https://github.com/mozilla/rust/issues/7282

- Adding compatibility with the newlib C library

Last time this came up we preferred musl.

https://github.com/mozilla/rust/issues/7283

- Adding configurable stack allocation

I'm not sure this means in this context. Can you elaborate?



_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to