<https://github.com/TinyTapeout/caravel-firmware-r...
# gf180mcu
t
Interesting. Is this sort of like microPython, except for Rust?
u
Doesn't really compare to MicroPython - it's a compiled language (via LLVM)
So producing native binaries, pretty much like what you get with C or C++
p
@Uri Shaked gave a try to the firmware-rs repo!
it flashed correctly, but it didn't blink `D3`: let me know if there is anything I can try to troubleshoot further.
u
Which branch did you use?
p
oh I might have used the default, I'll try again with the gf180 one
🤦 1
it worked!
u
Hooray! Was it difficult to set up the Rust toolchain, etc.?
p
not at all! it was just a
rustup
command away
u
and do you have any prior Rust experience? or is it your first time?
p
one gotcha was that I had to patch your PR int the caravel_board repo
so that I can flash the vmem file
(the default hex produced by your repo didn't seem to have the same format)
I have a bit of rust (language) knowledge thru https://github.com/google/xls because it's effectively a dialect, but no toolchain experience
u
Yeah, the .hex file is standard intelhex file
If you are interested in play around with this, there's a more mature example here, with many more of the board peripherals mapped into rust:
the only caveat is that its main.rs is specific to my GFMPW0 project
p
I'd be awesome to have a M.2 dev board with a rust compatible microcontroller on it. that way we could share the same verification infra for intrusive and non-intrusive tests!
u
for xls?
p
no, in general for MPW project, currently you have to use a very different testing methodology whether or not you're testing inside or outside the caravel
I'm excited by the prospect of sharing a common environment for both
👍 1
u
Yeah, I spent a few hours yesterday duplicating my python test suite into Rust