This tutorial shows the basics of using FreeRTOS with STM32 MCUs: 1. Creating Threads 2. Mutually Exclusive Semaphore 3. Signalling/Notify between Threads
Hello, Great videos can i ask where to find solething like a pdf or something in wich the functions that you are using are described. There is a great refrence manual for the HAL and LL libs but i cannot find such thing for the middlewares.
Very good about this Nucleo tutorial! I got the same card :) I like your fast and qick tutorial "First then, then then and now the results". Perfect! Will you uppload more for the Nucleo cards?
I have a Nucleo G071RB board and interestingly enough it performed the two Uart_Transmit functions fine with the 1000 ms delay. It never got into trouble, even before I added the mutex take/give. Perhaps that hardware is faster or somehow handles the simultaneous transmissions better.
Thank you very much for the video. Iam trying to use the notification but my program gets stuck in xTaskNotify . Could you give a tip about how to solve it?
Good one on FreeRTOS with STM32.! Some observations:-@ time stamp 7:35: Text overlap don't happen if you make time-out of 5ms @ time stamp 9:10: Text overlap happens if you make time-out of 1ms..Any better ways to present need of xSemaphoreTake/xSemaphoreGive with apple to Apple (one-to-one) comparison??
The same way you would use them normally.. just need to be careful not to do any processing in the interupt handler except sending a Notify from ISR or any operation allowable from ISR. Just google the word FreeRTOS from ISR.. You will get many example on that. Good luck
Hi Sir, first of all thank you for this series on STM32 microcontrollers. I was wondering what is your opinion about the full compatibility between FreeRTOS and the HAL library. I am not experienced with this level of microcontroller programming, thus I'm having some difficulties. I would like to design a system able to transmit CAN BUS messages with a certain Cycle time while doing other computational tasks. I understand that to achieve this goal a scheduling technique is required. I tried to build a simple cooperative scheduler starting from some examples on the web, but i think this technique doesn't fit well my requirements. Thus, a preemptive scheduler like the one in Free RTOS could be the solution. The problem is that looking around on the web, there are lots of threads about issues in getting work correctly some HAL functions within the FreeRTOS framework, due to the management of the SysTick timer. What is your experience on that ? Thank you.
ocelot0991 Hi, I have developed many software applications with HAL library and FreeRTOS for clients.. This is never an issue, it depends on the peripheral you're using. And you can always replace Systick delay and counter with Kernel timer. But I usually don't do that; I always tend to use HAL interrupts and DMA instead of Polling for a peripheral when using RTOS.
Hi, did you develop software applications with bxCan peripheral managed with hal_can driver within FreeRTOS ? Are you planning to do a tutorial on this peripheral like you did within the series ? Thank you
thanks for your video. i tried to run it and that's ok but could you give recommend if oStask is needly delay(10s) and had better use oSdelay? Please! Explain to me why if i use Hal_Delay() this's oStask, the Uart of one other oStask will fail? (i just use uart 1 and blinking led). thanks!
Hi..my project had very task, i had 2 task to test it but when i use hal_delay it's not ok. I mean if use Osdelay in the long time is this problem? I'm fisher i hope you would like help me.
It's been a great and brief collection of STM32-Nucleo applications. I'm facing an issue when trying FreeRTOS application, as its creating a lot of errors in Keil-MDK (version 5.37.0) from STM32CubeMX (version 6.4.0). Some are stating STM32CubeMX FreeRTOS port won't work in Keil-MDK, is it so?
Hello I have a question. When I didn't change any clock setting, it only prints out "Hello from Thread" without number and . But if I change the HCLK to 2MHZ, it prints out as intended. Can you explain why this is so?
Hi, I am having trouble printing stuff to the terminal froma thread, do you know what may be the issue?, the LED is blinking but the commant to transmit via uart seems like its not being carried out because i am not seeing the Hello from Thread1 string, in fact there is nothing coming to the terminal
Shukran. Callback is always a need for DMA. I have uart, i2c, spi, SDIO(large stack and Heap size) running DMA. Will the circular mode be selected or normal because of threads?
I am trying this with SW4STM32 and CubeMX 5.1.0 on mac. Will only run in debugger and I see no serial out only echo if input from term . LED blinks and thread 1 is getting called. Think something may be pre-empting serial out. or there is something not set. Clear pins clears SWO TMS/TCK re-enabling no diff. Run crash Error: Invalid command argument image.base_address option value ('video.elf verify') is not valid
A simple and perfect tutorial like always. very helpful always. one problem , buy a new cam or wide screen laptop and use better recording software. thanks. otherwise technically it is flawless. best wishes. brother . Regards.Ahmed
Valeriy Novikov Hi Navikov, A reminder is always helpful.. I usually avoid using 'sizeof'.. because my array size is often larger than the string I will send.. char myArr[100]; sprintf(myArr, "hello world"); Transmit(myArr, strlen(myArr)); Thanks :)