If you asked me five years ago, I would have said "never." I was just asked this ten minutes ago, and my feelings are now "depending on your constraints, it can make a lot of sense, but I don't think it's going to be something for everyone."
If you asked me five years ago, I would have said "never." I was just asked this ten minutes ago, and my feelings are now "depending on your constraints, it can make a lot of sense, but I don't think it's going to be something for everyone."
What does Rust have to do with that? Are you trying to implement Rust's high-level programming language concepts in silicon so the generated assembly would run faster compared to amd64 or M1 or whatever-used-in-servers?
Can I ask which IDE do you use for writing code and for debugging? I read your book (which I think is a great starting point), and now I wanted to start playing with Rust, but for embedded (ARM, bare-metal). I have ~20 years of experience writing mostly C for embedded.
What I want is something that allows me to inspect memory, view disassembly, stack trace, setting breakpoints, watching expressions. Much like Eclipse + ARM GCC (GDB) + OpenOCD does, or KEIL uVision, or IAR EW, to name a few IDEs. IDEs I found now supporting Rust are more oriented towards desktop/server development and very limited on the debugging side. I cannot rely on println! since it would require semihosting and I don't want to walk that path yet.
I need something more low-level to really understand and learn what's going on and how it's achieved. Thanks.
Semihosting is annoying, but it is really easy to get going in Rust on bare-metal arm. https://docs.rs/cortex-m-semihosting/0.3.7/cortex_m_semihost... We basically have a build-time config to switch between semihosting and ITM, though we're probably at the point very soon where semihosting will basically never be useful again.
Happy to answer more questions if you've got 'em. Our stuff is still closed source but will eventually be open. You may also want to check out https://knurling.ferrous-systems.com/ too; we are using some bits of it but not going whole-hog. Similarly with the rest of the Rust open source ecosystem.
OK. I was thinking to assemble a "Press F5 to debug" solution to speed up my learning process. I'm used to command line tools and hacking stuff together too, so I should be fine if that is the current state of the art for debugging (but it would be difficult to convince my coworkers in the future). I wonder if a combination of Eclipse for Rust and OpenOCD plugin is doable. Or perhaps cortex-debug[1] for VS:Code. I have some research to do, to explore the different solutions.
And I'm stuck on Windows too, since many of the tools I use require Windows.
Thanks again.
> Initial support for Rust code (most functionality is working; disassembly views and variables view may still have issues)
So, that's pretty cool.
https://www.youtube.com/watch?v=Meqhiogdp1o&list=PLP_X41VhYn...