Hopefully in the long run, more native rust libraries will exist for more full functionality embedded.Ĭonsidering how much of the actual programming in embedded isn't so much programming in C but metaprogramming in C preprocessor I wonder if 1:1 replacing this with another language/conditional compile pair would really be smartest move. I wish LLVM still fully supported a C backend so you could compile Rust to C and build that. So it's cool to see someone toying with an xtensa llvm backend. It's surprisingly effective!Įxcept you still get data races from the C API's which Rust would likely help prevent. Wrapping the C API is trivial and handles all of the C defines as well as writing in C, since it compiles down to it. In theory it's less efficient than compile time Rust memory management but it works well in practice. Given that I decided to go a middle ground and use Nim with its new ARC (GC reference counting and move semantics). It'd be nice to see Rust more widely adopted, but it seems to require an entirely rewritten SDK as so much of the API are C macros and defines. Espressif has built an impressive amount of functionality on top of FreeRTOS. It's true and a bit surprising how much of the ESP32's API's are configurable or change based on config options.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |