3 ms·
Not seen much point in rust for embedded for small MCU's that I target. All memory are statically "allocated" as global variables/buffers and never free'd, so
by mh7 5y ago
Not seen much point in rust for embedded for small MCU's that I target.
All memory are statically "allocated" as global variables/buffers and never free'd, so there's no ownership or dangling references to worry about ever.
This allows me to know at link time how much memory my program uses.m and of course simplify programming.
Only single cores, the only synchronization issue is between interrupts and main program, a case rust doesn't handle afaik(?) and in 99% of the cases a ring buffer or simple flag variable is enough.
Never use much abstractions, so C is fine in terms of ergonomics.
Never use third party libraries aside from CMSIS register headers.
Probably the only thing that would help me is some static reflection and compile time programming, but I have python scripts as a code generation step to generate tables, definitions, annotations, etc, and that works fine.
- couchand 5y ago> the only synchronization issue is between interrupts and main program, a case rust doesn't handle afaik(?) and in 99% of the cases a ring buffer or simple flag variable is enough. I'm not sure what you're expecting it to handle that it isn't. That static flag or ring buffer needs synchronization and rusyc will absolutely not let you forget that (in safe code). One technique you get in Rust that's very compelling for embedded is using traits, especially when implemented on zero-sized types, to cleanly express configuration. Personally I abhor all those one-off table generating scripts.