The best RTOS video so far. Detail enough to get you started, but not too much to scare you off, or put you to sleep.
@kaylee-xie2 жыл бұрын
Best RTOS videos! start from easy and demonstrate details while programming so that I can completely understand what happends.
@NFSHeld3 жыл бұрын
Please make the video series on queues, mutexes and semaphores. I'm trying to learn microcontroller programming, and your videos are the best tutorials I could find.
@Apocobat Жыл бұрын
there is a full series on freertos with the esp32, which may vary in syntax but conceptually is mostly the same by this guy as well. Not only does the series cover theory directly, it provides code examples and uses the arduino ide so it is very easy to dig into the examples
@karm00n2911 ай бұрын
You must be proffesional microcontroler programmer now
@keyvanshahin17404 жыл бұрын
Thank you so much for all the great tutorials. I can not remember another learning video that I had to watch each section over and over. you cover everything important in such a short time. Keep up the great work.
@keyvanshahin17404 жыл бұрын
I also had a question to ask. in the last part of the test you used osDelay for making the delays. out of curiosity I just swapped it with HAL_Delay. What happened is the LED now flashes uniformly. I assume it has something to do with the change from SysTick to Timer 6 that causes this behavior but I can not completely analyze what happens. can you give me a clue?
@noweare14 жыл бұрын
@@keyvanshahin1740 From what I read in the Docs if osDelay is used as soon as it runs that statement the thread is put in a blocked state and other threads get the cpu. When the time elapses the thread gets put in the ready state. So if you have a bunch of higher priority threads running it could delay the toggle of the led.
@noweare14 жыл бұрын
I have been trying to use a RTOS and the biggest hurdle I have found is getting them set up correctly. I have tried ChibiOS and freeRTOS and could not set them up correctly. I do have STMCubeIDE and now because of this video I can get a project that compiles. This RTOS stuff could be a good video series. You explain things very well. Thanks
@zetaconvex19873 жыл бұрын
Thank you. Very nicely explained. I was interested in exploring RTOSs, and I didn't realise that the Cube was already set up to go.
@colanuss49854 жыл бұрын
I really like the topic, also the style and flow of presentation are perfect. Kudos for the preparation work.
@ordnanceant4 жыл бұрын
Very good STM32 series good content presented clearly, please do a follow-up to this with more on the FreeRTOS. Also can you please put all the STM32 series into a playlist 😬
@Hamidfazilati3 жыл бұрын
You speaking so good and also I found answer of my question about multi tasking by STM32 .. also special thanks to ST Micro electronic
@adaminsanoff4 жыл бұрын
Great tutorials. Thank you Shawn and DigiKey!
@m1geo Жыл бұрын
Nicely sized video! Informative enough to get going, but not too scary. I'd be interested in details about synchronising and sharing data between threads.
@Cevasho4 жыл бұрын
Amazing video, thank you very much. I was able to understand everything and now ill be working with threads because in some applications I'llbe running they are the proper solution.
@PaymaanJafari5 жыл бұрын
25+ yeays in this industry, Istill really had fun hearing you saying "or you risk injuring humans" :))) sounds like a robot teaching other robots :)
@shawnhymel76475 жыл бұрын
First law of robotics ;P
@PaymaanJafari5 жыл бұрын
@@shawnhymel7647 Still no one could say it that way :))
@deepanprasath97323 жыл бұрын
great video for rtos beginners
@antoniodejesusarenasperez69013 жыл бұрын
Excellent tutorial!! thanks a lot
@Steven_Bennett_YT8 ай бұрын
I notice that there are many more Task priority levels available in your example than I see with my CubeMX project, which is 7 levels; does it vary with MCU type, or CubeMX version or is there another explanation. Thanks for helpful video.
@victorgomez3354 жыл бұрын
Very good video helped me a lot.
@dd03563 жыл бұрын
Thanks for this video. It shows some path across the jungle that is stm32cubeide
@UpcycleElectronics5 жыл бұрын
I don't know if I can use a HAL system without an option to open the pod bay doors.
@cheesecake6674 жыл бұрын
Best leave ur space suit on
@Electronics-c3j7 ай бұрын
Hii I ma from Pune, I have to build A RTOS System For AC using FREERTOS and stm32f401re. I have 4 tasks 1)temperature sensing(continuously) 2) Indore Fan Run 4) compressor fan run 4) change temperature using pushbutton, I know about pushbutton but I didnt understood how do I run this 3 tasks, which schedular components do I use. Please Help.
@werveson4 жыл бұрын
Excellent video!
@radhey04ec4 жыл бұрын
please make video on DC motor control and BLDC with STM32
@1over1372 жыл бұрын
I tried to get a BluePill to work with blinky. It failed. I spent 2 hours tracking it down to the interupt vector table not being relocatable in memory, which is apparently meant to be switch on for that MCU type, but was commented out. I learnt a lot along the way though.
@OzTalksHW4 жыл бұрын
So good. How do you know the maximum number of threads your STM32 chip comfortable supports?
@mneedes24 жыл бұрын
That question doesn't make sense.
@shayasshayas48244 жыл бұрын
@@mneedes2 cn B Mddv2ffnf g and Wshmwcncwe2xyur
@mneedes24 жыл бұрын
@@Tarkahn2024 Let's hear your answer and then you can tell me why it doesn't really make sense.
@RafaelKarosuo3 жыл бұрын
That's an interesting question, I think that it depends on several factors, since each thread could run a different task, maybe one requires 80% of the RAM, maybe some of the threads require a heavy DSP computing part, so it will depend on the target problem and the design you choose to make. Then you start counting response time and memory, and when the controller can't meet your requirements, it means you passed the number of threads for your specific design. So, I may run 1000 threads blinking LEDs, but maybe 5 threads if I'm doing some DSP or using a lot of memory.
@polkijain973 жыл бұрын
Threads and context switching commands are pieces of code. All codes occupy memory resources. So the number of threads should depend on the memory resources available. Just check the size of your thread code (in both flash and RAM) and sum them up. If it comes close to the max RAM and Flash (as applicable) you get the max number of threads you can program.
@KanagachidambaresanGR2 жыл бұрын
Superb got it on my NUCLEO F334R8
@travisfort47004 жыл бұрын
Congrats! It's a nice class!
@whiteking80 Жыл бұрын
I found stm32 + middleware freertos can never be simulated in PROTEUS software the GPIO cannot be set or reset inside the task function. Did I miss something on the setting? Do you have any idea about this issue?
@DownhillAllTheWay4 жыл бұрын
Have you done a video on interrupts using HAL? I can't find one by you, and I'm not getting on too well with interrupt videos by others.
@優さん-n7m Жыл бұрын
So we created RTOS with 1ms interval to check for what job to run and then we added a large ms delay value into each job as well. This is confusing. When will you create a video that shows how to do the mutex, semaphore stuff?
@RSolimov3 жыл бұрын
Amazing, videos, so i jumped over to digikey for my products. good price too :)
@mustafaissa982 жыл бұрын
What if I dont have TIM6 or TIM7? (I use nucleo but with a diffrent model)
@hn135673 жыл бұрын
I was getting the following error after following through: _user_heap_stack' will not fit in regionRAM’ > region `RAM’ overflowed by x bytes. I managed to fix this by changing my linker settings for min heap and stack size from 0x200 and 0x400 respectively to 0x100 and 0x100. I am new to embedded so i don't quite understand how that fixed it and why it didn't work in the first place? I've got Nucleo - stm32f030 with 8KB of SRAM and 64 KB of flash.
@coolwinder4 жыл бұрын
Jump to 4:48!
@adaminsanoff3 жыл бұрын
How can we run standard main loop parallel to RTOS tasks?
@NFSHeld3 жыл бұрын
You don't. Simply speaking, your RTOS code IS the infinite loop, where each iteration it first determines which task to run next and then runs that task. Remember, you only have one core, so you need to have some kind of mechanism to ensure that the different bits of code are run "in parallel". That is your RTOS. So there should be no code running "outside of RTOS" once RTOS is started. If you want another loop to run "in parallel", you copy the code from the standard main loop into yet another task function that runs concurrently but managed by RTOS. Just make sure to 1) assign the correct priority, 2) put some code to return control to RTOS (like osDelay) at the end of the loop, and in general use the RTOS-compatible timing functions such as osDelay instead of HAL_Delay.
@rajdeepdas868 ай бұрын
Thanks so much ❤
@sidharthap5 жыл бұрын
Heyyyyyy....... why does this seem like déjà vu?!!!
@momq14345 жыл бұрын
Hi, Can you please enable the community contribution for subtitles submission.
@bendover-yn2er4 жыл бұрын
Hello, I tried your code on STM32F407VGTx dev board. First of all, when I compile the project it throws errors like "first denied here". So I remove that part and build again but LED never blinks. What happened? Thanks in advance.
@ahmadsadiq402 жыл бұрын
Hello sir . I got many errros in vs code when i build the code. Freertos erros many time. Can you please help me to solve it?
@ShanshanJiang20084 жыл бұрын
Can we use ThreadX instead of the integrated FreeRTOS?
@優さん-n7m Жыл бұрын
I can't find much resource to use of ThreadX on microcontrollers? Should I kill myself?
@rafalzasada88265 жыл бұрын
If I am learning STM32 to get a job as embedded software engineer should I concentrate only on CMSIS? Is CubeMX considered professional tool or is it just for hobbyists?
@ShawnHymel5 жыл бұрын
CMSIS, STM32 HAL, and CubeMX are all professional tools or libraries. Learning them will help, but an employer might be using something else (say, NXP's toolchain). Knowing how to use CMSIS will help you work across many different ARM platforms, but is sometimes more difficult to get working, as it's lower level. The important thing is to understand the concepts involved: installing a toolchain, manipulating registers, interrupts, counters, etc. If you have a good grasp of those, you can learn any framework you need.
@ntd2525 жыл бұрын
@@ShawnHymel Can you make a more detailed series about microcontroller and embedded systems with, for example STM32. I love your teaching style with clear explanation and well-prepared examples/projects.
@ShawnHymel5 жыл бұрын
@@ntd252 I don't have plans for it right now, but good to know there's interest! If you're not familiar with some of the basic concepts, like registers, timers, and interrupts, I highly recommend starting with a simpler microcontroller, such as a PIC or AVR first.
@radhey04ec4 жыл бұрын
@@ShawnHymel Please make video on DC motor control / BLDC control using STM32.
@adaminsanoff3 жыл бұрын
If you do not know it, you better start with Arduino.
@chenxu6557 Жыл бұрын
i dont quite get how the led blink with this two 500 and 600ms video not very clear to me
@chenxu6557 Жыл бұрын
it is better to share the code so that we can check parallelly. if i have the code, could i copy it direcly to the cubemx to replace the auto-generated main.c?
@purposeoflife473 жыл бұрын
Great man , Thanks
@olegtschaikowsky80302 жыл бұрын
Hi Dude, very good tutorial, but if you see accurately this video, you will find out that some actions from you are very, very quick and as observer you can not really realize which menu point you have choosen now.. But thanks a lot and a like for your very good job!
@fenderrexfender4 жыл бұрын
this is not a rtos semaphores but its a semaphore. RunUntillSyncAt(S) { while (S
@abolfazlrajabi74793 жыл бұрын
very good.
@brendanhayes-oberst13982 жыл бұрын
thank you
@horvathbenedek35962 жыл бұрын
7:20 Sigh... missed opportunity to name the task blink 182
@furkanayas3339 Жыл бұрын
Really? I am MSc embedded systems engineer, all of your sentences %100 effective, focused and effective but, Baremetal can run multiple operations, yes i know the job means the os task but most companies emulate a rtos with baremetal. It's commonly used in IoE leaves and standard White goods.