Embedded Rust setup explained

preview_player
Показать описание
In this episode we get our development environment prepared for building bare-metal Rust projects. Follow along with your preferred editor & hardware as we begin our journey into the landscape of embedded Rust...

Chapters:
0:00 Intro
1:03 Tooling
3:00 Hardware
4:10 Cross compiling
6:07 Bare Metal Rust
8:13 Dependency Management
12:55 Don't panic!()
14:46 Build & Flash
17:30 Debugging with RTT
19:42 Debugging with gdb
22:29 Conclusion
22:54 The Rusty Bandit

References:

FAQ:
Terminal setup:
- alias ls='colorls'

Playlist:
(All via Epidemic Sound)
Chasing Snakes - Martin Landstrom
Revving - Martin Landstrom
Before Chill - Yomoti
Still on My Mind - Sarah, the Illstrumentalist
Rich and Thick - spring gang
Sorvete de Limao - Martin Landstrom
Will of Minds - Magnus Ringblom
Disc Me Bro - Basixx
Simple Pleasantries - Arthur Benson
Deep Space Samurai - Forever Sunset
Рекомендации по теме
Комментарии
Автор

VIDEO ERRATA
Forgive me audience, for I have erred...

ERRORS
- 13:52 : The compiler is not actually inserting the panic during the array-access-by-index bounds checking... It's actually the `Index` trait implementation on arrays and slices that will perform the bounds-check logic and invoke the panic macro if necessary. Thanks to @werecatOmega for pointing this out!

CHANGES
- 2:51 : The Crates plugin has been deprecated, replaced with Dependi

OF NOTE
- 5:19 : This series will primarily focus on the 'microcontroller' subset of bare-metal hardware, but for those working with application-class SoCs, @pppgggr notes that the 64-bit Arm v8-A architecture is listed on the Rust platform support page under the `aarch64` target arch.

OMISSIONS
- 5:00 : The nRF52833 has a floating-point unit (FPU), and this is why we opted for the "hard-float" bare-metal target variant of the Arm v7E-M core architecture (thumbv7em-none-eabihf)
- Yes, I am aware of the probe-rs VS Code plugin, and it does look great! I was somewhat conflicted when making the video whether to present the probe-rs + VS code plugin or the "half-way" solution of pairing `cargo embed` with GDB... I figured the `cargo embed`/GDB route might be more helpful for those using a different editor, and/or already used to debugging in GDB. The probe-rs VS Code plugin looks amazing, though by their own admission it's currently in a preproduction/alpha stage: I did try it out, but found the disassembly for my code was jumbled, with some instructions showing up out-of-order, which could leave a newcomer a bit confused... Regardless, I know the probe-rs team is working hard on it, and it definitely has the potential to be the best solution for embedded debugging (plus its Rust all the way down!), so there will be a dedicated video on getting it set up in the future.

therustybits
Автор

This series will be where I finally learn rust

simsim
Автор

This is the most concise and to-the-point embedded rust video I've ever watched. Bravo!

TheMisterSpok
Автор

I have no use for this, I have never written for an embedded machine, but boy do I love your style of content. You go into just the right amount of detail to keep me engaged, and I love learning about this sort of thing.

MrScorpianwarrior
Автор

This series will be responsible for a next gen of Rust embedded developers . I Love this 🤖

ryanbrownie
Автор

This is incredible! I have been searching for this exact series for the last 2 years! No other embedded rust videos are anywhere near as accessible as this, and I'm very excited to see where this goes. Actually showing the "dumb" steps like how to look up the architecture for a basic microcontroller is super essential for not losing people like me who have only touched external-chip development through something like the Arduino IDE or PlatformIO in some primitive C-like language. I finally have a reason to dust off my bootleg Uno device without having to find out of date oversimplified tutorials, downloading sketchy firmware or going using giant vscode extensions.

mikkelens
Автор

please dont stop this series i want to learn rust for embedded rather than c++ because rust is future in next 10 yrs

isfandyar
Автор

Best video about embedded rust I've seen, please continue this awesome series!

jorgegomezreus
Автор

Love your work, informative, interesting and professionally edited, hope the channel blows up!

MegaDuncz
Автор

The quality of this video is just insane. The editing is crisp. The writing makes it so clear. The pacing is quick, but not overwhelming. The scope of the topic allows going into the perfect amount of detail of each item for a beginner. The music... it's perfect. It's so clean and classy. It matches the tone of the vocals and topic so well. The most obvious sub I've ever made.

munzrs
Автор

I consider this to be the missing Rust Embedded Tutorial. Great job!

Dygear
Автор

This channel is gonna be one of my favourites, keep hardworking on 🔥

osalem
Автор

8:50 Oh brother! Seriously though, really great and methodical walkthrough. Good for newbies too, I think a lot of us in embedded space assume everyone has intimate knowledge of linkers, memory maps, ISAs, vector tables, etc. thet you pick up along the way doing embedded dev. Its great to hear these things explained in context with Rust.

SibylDark
Автор

Amazing, This is beyond any tutorial / learning thing that I have ever came across, 20 mins felt like 2, I think am going to be a rust dev because of this series. Keep it up 🔥

sudman
Автор

You Absolutely Positively HAVE to continue this series!🔥

iyadelwy
Автор

You just gave me the motivation to start learning rust. Trying it embedded will surely be a nice challenge!

tanmay______
Автор

I have been eyeballing Rust for embedded systems for far too long. This is just what I need. Love that the information is so dense. Good format. Keep it up 😃👍

BjarneSvanberg
Автор

As a system security researcher trying to dive into embedded systems, this video has been like music to my ears!

markay
Автор

Production quality is off the charts! Gonna enjoy my Sunday by following along, thanks for your work!

beyonson
Автор

I never thought I'd enjoy almost 30 minutes of programming-Kevin-Spacey teaching me embedded Rust. Great content, sir!

idoben-yair