Bare metal GPIO driver for ESP32 | Toggling an LED

  Рет қаралды 11,681

The EV Engineer

The EV Engineer

Күн бұрын

Пікірлер: 23
@turboimport95
@turboimport95 Жыл бұрын
Man this was dope, explanation was great. Most people just blow right over stuff like this like its nothing.
@isagumus1
@isagumus1 3 ай бұрын
I really liked your step by step and clear explanation. You gained a new subscriber here. Thank you!
@Fornicassaurus
@Fornicassaurus 11 ай бұрын
Your videos are great!!! Thanx a lot for your time and effort!!!
@tjwatts100
@tjwatts100 Жыл бұрын
Very useful: thanks. Great for ULP programming where there's no other option.
@zaca211
@zaca211 8 ай бұрын
Holy crap that was simple. I just switched over the Espressif framework from Arduino and I've been messing around with their GPIO driver for a couple of hours now. Considering all I needed to do was toggle the internal LED, this saves so much hassle.
@matsvandamme1
@matsvandamme1 Жыл бұрын
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.
@aslambasha539
@aslambasha539 Жыл бұрын
Can anyone give insight on how to read GPIO pin such as button and control LED foe ESP32.
@phillipmaser132
@phillipmaser132 Ай бұрын
Wow! You got the documentation down. I will have to think about on this one. It seems like a lot for just an LED. What would it take to read analog values in and WIFI them out to thinkSpeak?
@fadieid5638
@fadieid5638 Жыл бұрын
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?
@openmarkand
@openmarkand 11 ай бұрын
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.
@jackevans2386
@jackevans2386 2 ай бұрын
I gave up on ESP32 MCUs because I found it impossible to toggle any port pins fast enough and also to stop the OS from interrupting every 1ms. Do you know how to do this ? Or in other words, how many clock cycles does it take for you to toggle an I/O pin ?
@AbuBakar-um5wc
@AbuBakar-um5wc 3 ай бұрын
great video..but please try to explain more about things going
@jeanfernandeseng
@jeanfernandeseng 6 ай бұрын
When this code is executed on ESP32, Is there some FreeRTOS tasks at under kernel ? I am trying to check a gpio from external source and send to serial, and the FreeRTOS under IDF sometimes run task like IPC and move the context of execution. I watched the video and I dont understand why you move to linux. Does it possible under windows create a Real Bare Bone code ? Thanks in Advance.
@msbanda2123
@msbanda2123 5 ай бұрын
If you using FreeRTOS, it’s not bare metal, right? 😂
@skanderbelhaj2278
@skanderbelhaj2278 10 ай бұрын
man writing code like its native language
@EasyElectronics2412
@EasyElectronics2412 9 ай бұрын
😂😂😂
@PatrioticGestalt
@PatrioticGestalt Жыл бұрын
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 Жыл бұрын
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.
@inderjitsaini9303
@inderjitsaini9303 6 ай бұрын
@@EV_engineer Hello, Thank you for the video, it is very informative. Actually, I had the same question as well. So imagine I have two LEDs one is blinking the whole time and then the second LED will only blink when I turn the potentiometer (let's say that generates an interrupt). So, in the second case I will have to use GPIO_FUNCx_OUT_SEL?
@jakewasowski1353
@jakewasowski1353 8 ай бұрын
Thanks bro
@grenadier4702
@grenadier4702 8 ай бұрын
The next step is write your own linker script
@wlcrutch
@wlcrutch 4 ай бұрын
Windows….yuck. I can’t watch a windows terminal 🤢
@bobweiram6321
@bobweiram6321 5 ай бұрын
The moment you included the RTOS and linked against IDF's libraries, it's no longer bare metal. All you did was bypass the GPIO functions. What a waste if time.
EDC22 Day 1 Talk 4: FreeRTOS in ESP IDF
43:01
Espressif Systems
Рет қаралды 18 М.
UART Echo Task on ESP32 using ESP-IDF
20:47
The EV Engineer
Рет қаралды 4,8 М.
OCCUPIED #shortssprintbrasil
0:37
Natan por Aí
Рет қаралды 131 МЛН
Every team from the Bracket Buster! Who ya got? 😏
0:53
FailArmy Shorts
Рет қаралды 13 МЛН
Bare-Metal MCU #1 - Intro to registers
13:10
Mitch Davis
Рет қаралды 82 М.
3 engineers compete to design an ESP32 PCB in 90 minutes
12:33
Predictable Designs
Рет қаралды 31 М.
Revolutionize Your ESP32 Projects with Live GPIO Pin Monitoring!
8:08
The Last Outpost Workshop
Рет қаралды 203 М.
How to Run Linux on an ESP32
18:53
element14 presents
Рет қаралды 169 М.
Testing out the Milk-V Duo - The new $9 RISC-V eSBC that runs Linux!
23:19
ESP32 - DEBUGGING your ESP-IDF code using JTAG [VS CODE]
19:53
[#5] ESP32 on Zephyr OS: OLED Display (SSD1306) [Part 5]
35:43
The Pull-up Resistor Channel
Рет қаралды 9 М.
Forget WiFi! This Wireless Method is WAY Better? (ESP-NOW)
12:14
GreatScott!
Рет қаралды 781 М.