rust runs on EVERYTHING (no operating system, just Rust)

preview_player
Показать описание
The world of embedded programming is AMAZING. The Raspberry Pi is one of the best platforms to break into embedded development. In this video, we'll program our Raspberry Pi WITHOUT the Linux Kernel. We'll use the Rust build chain to create a custom kernel image that we can use to blink our LED on and off.

You can take this tutorial, create the code for yourself and use it to develop something more advanced! You can use the UART bus, the SPI bus, or maybe even start to write your own operating system.

Video Links:

🏫 COURSES 🏫

🔥 SOCIALS 🔥

0:00 Intro
0:36 Board Setup
0:41 Lets Code!
1:30 ARMv7 Target
2:13 no_std
3:37 Don't Panic!
4:30 start location
5:25 linker script
8:15 elf2bin
9:30 TO THE DATASHEET!
13:25 GPIO Code
16:50 Firmware Files
17:57 Outro
Рекомендации по теме
Комментарии
Автор

I knew literally nothing about embedded systems and barely anything about Rust 18 minutes ago, and now it feels like it's a very acheivable thing to learn thanks to this demonstration. You're clearly a gifted teacher, fantastic video.

rorybninetythree
Автор

The great thing about your videos is the pace and "constant" narration. It feels like there isn't a single second in the video where you're not explaining what you're currently doing. That makes it very easy to not lose focus and attention as a viewer

atdit
Автор

Really like that you use documentation as a reference to explain. Lots of tutorials skip the fact that documentation is there to help.

jnth
Автор

The amount of effort on this video to make it only 18 min is insane if you are a bit familiar with embedded system, thanks for it LLL

saeidakbari
Автор

You can make a `build.rs` file like this
```rust
fn main() {

}
```
to hint to cargo that a change in that file should also result in a rebuild

reo
Автор

So glad I found this channel, I have been writing code for a long time and wanted to jump into some low level stuff to improve my wider understanding esp. embedded systems etc. You cover fundamentals so well and easily digestible. Thanks for this!

TheBendixSA
Автор

I am absolutely watching your channel from now on.This is the most I have ever learned from a programming video. I've been trying to learn how to be a low level developer for years. Since high school. WOW. It's quick. It's on point. And I can follow it. I love how you just filled in several gaps learning in only a few minutes. I could have stayed in college, and I am not knocking anyone who does, but I have a short attention span. Thanks for this. Don't even remember how I stumbled here.

nicholasfrillman
Автор

Thanks for Everything you do LLL, Seriously your videos have invigorated my spirit and inspired me to learn more about computer systems and lower level langs. C and Go are becoming my favorite languages to write my code. I'm gonna try writing some rust today!. Thanks again! Keep up the great work!

dbznt
Автор

With all the soft soft tutorials that exist on YT, yours just created that "light bulb illumination" mont in my head. Thanks for taking the

otm
Автор

I started working on an operating system in rust. I never went that far with it but it works. Can boot both legacy bios mode and modern efi style. Though only in qemu on efi. Don’t have video output properly working on any real efi hardware I have. But with bios boot it works with a text mode console. Boots into long mode and all but no memory protection

casperes
Автор

13:39 I would hope nobody would be mad. Unsafe code is basically the only way this can be done. It's just a fact. There's a reason rust has the unsafe keyword, because it's sometimes needed. :) Also, thanks for the video. It's very enlightening!

megumin
Автор

Absolutely killing it with how you're presenting. I'm not really a fan of Rust but I couldn't stop watching.

josefaguilar
Автор

Such high quality content, thank you!
Hoping in the future you can find the time to create a whole course on embedded Rust, I'd sign up in a heartbeat.

tttttaa
Автор

Thanks man, it took some adjustments to make it run in u-boot on a cortex-a9, but I figured it out eventually. Very helpful tutorial.

Nitiiii
Автор

as a recovering TS dev I'm watching this in complete awe! Thanks for explaining what you're doing, it leaves me with hope ;)

odanabunaga
Автор

The panic handler function is for Rust panics. Not hardware faults. And #[panic_handler] is not called an option, it's called an attribute.

ChefKissInc
Автор

Excellent vid man. Been a while since I've done any embedded programming. Very cool seeing how to do this low-level stuff on a pi 😎👍

tadmikowsky
Автор

I really like how you explain not only how to do things, but how to look for things yourself (e.g. the broadcom datasheet or the rpi firmware). I already have a bit of experience in embedded programming but I'm sure this helps beginners a lot. And more importantly, it makes the whole field feel less magic and scary than just saying "this address controls this LED because I know it".

appelnonsurtaxe
Автор

Fantastic video, very very informative. Hope to see more content on RUST for embedded systems from Low Level Learning

SandhanSarma
Автор

You should configure the internal timers to trigger an interrupt every millisecond to increment a counter. Then reference that counter to to get more precise timing on when the LEDs turn on and off.

TimothyChapman