Bare metal GPIO driver for ESP32 | Toggling an LED

  Рет қаралды 4,628

The EV Engineer

The EV Engineer

10 ай бұрын

In this video, I write my own GPIO driver for the ESP32 microcontroller, instead of using the provided ESP-IDF headers. All memory addresses are pulled directly from the Technical Reference Manual.
[Technical Reference Manual]
www.espressif.com/sites/defau...
[Source Code]
github.com/JoshMarangoni/bare...

Пікірлер: 12
@turboimport95
@turboimport95 3 ай бұрын
Man this was dope, explanation was great. Most people just blow right over stuff like this like its nothing.
@alexclarosfernandez8467
@alexclarosfernandez8467 3 ай бұрын
Your videos are great!!! Thanx a lot for your time and effort!!!
@snailcat69
@snailcat69 7 ай бұрын
awesome work, appreciate that man
@aslambasha539
@aslambasha539 4 ай бұрын
Can anyone give insight on how to read GPIO pin such as button and control LED foe ESP32.
@tjwatts100
@tjwatts100 4 ай бұрын
Very useful: thanks. Great for ULP programming where there's no other option.
@fadieid5638
@fadieid5638 6 ай бұрын
Great stuff, arw you willing to continue the series? I am looking for a bate metal approach to the ESP32 instead of the typical arduino core use. What topics are you looking to cover?
@Mankindux
@Mankindux 3 ай бұрын
this is not bare metal as the dev uses esp-idf which incorporates bootloader, start linker script and so on. a bare metal approach would be to write a main, assembly file and use clang directly.
@PatrioticGestalt
@PatrioticGestalt 9 ай бұрын
I tried reading the same document to see how you came about your awesome simplicity. What made you decide to avoid setting the GPIO_FUNCx_OUT_SEL register?
@EV_engineer
@EV_engineer 8 ай бұрын
For simply toggling an LED, GPIO_OUT_W1TS_REG and GPIO_OUT_W1TC_REG are generally easier to set up and offer greater flexibility. But if you have a specific hardware event that you want to use to trigger the LED, and you want to minimize CPU overhead, then GPIO_FUNCx_OUT_SEL might be more appropriate.
@matsvandamme1
@matsvandamme1 6 ай бұрын
Nice video. Please note that GPIO_OUT_W1TS_REG and GPIO_OUT_W1TC_REG are exposed in soc/gpio_reg.h so a simple #include is sufficient, no need to define these registers inside your code. Please also note that GPIO pin numbers are exposed in hal/gpio_types.h. Same comment, no need to define GPIO5 macro again.
@skanderbelhaj2278
@skanderbelhaj2278 Ай бұрын
man writing code like its native language
@easyelectronics4364
@easyelectronics4364 Ай бұрын
😂😂😂
Build And Flash ESP32 | ESP IDF Intro
0:43
The EV Engineer
Рет қаралды 712
маленький брат прыгает в бассейн
00:15
GL Show Russian
Рет қаралды 4,3 МЛН
Hacking my Roommates Car - Linux CAN Bus sniffing
4:50
The EV Engineer
Рет қаралды 18 М.
Virtual CAN - Configuring ICSim & Identifying Signals
15:42
Block Harbor
Рет қаралды 3,1 М.
Try these 16 Brilliant ESP32 projects!!!
11:18
ToP Projects Compilation
Рет қаралды 520 М.
How to Run Linux on an ESP32
18:53
element14 presents
Рет қаралды 145 М.
Vortex Cannon vs Drone
20:44
Mark Rober
Рет қаралды 14 МЛН
Best Gun Stock for VR gaming. #vr #vrgaming  #glistco
0:15
Glistco
Рет қаралды 9 МЛН
Why spend $10.000 on a flashlight when these are $200🗿
0:12
NIGHTOPERATOR
Рет қаралды 18 МЛН
Приехала Большая Коробка от Anker! А Внутри...
20:09
РасПаковка ДваПаковка
Рет қаралды 68 М.
📱 SAMSUNG, ЧТО С ЛИЦОМ? 🤡
0:46
Яблочный Маньяк
Рет қаралды 1,2 МЛН