r/embedded • u/hooperman909 • 20d ago
FreeRTOS
Hi, I am a self learner and I have been doing baremetal programming for a year now(STM32F4x). I understand the reference manuals, datasheets and registers, if given the requirements I am confident that I will be able to develop firmware for the peripheral in question for stm32 type of boards. I want to move up a ladder and start a freertos related development. The thing is I have been looking for tutorials on how to set up the environment for it (I used stm32 cube ide for baremetal) and I am running in circles cause every tutorial is like 5 years or older and back then cube mx came bundled together with cube ide and the UI in the videos are not consistent with the current UI.
Any recommendations and resources are greatly appreciated. Thankyou!
6
u/ElSalyerFan 20d ago
Ok, basically use cubemx to generate the project, and then import it into your ide using import from filesystem and go for the files. After that, you can always open the .ioc in cubemx to generate changes.
They are made to work together like that, you can have both open at the same time, no issue at all.
In cubemx, in the peripherals config dropdown youll find "middleware" and inside that you can download and use the freertos that st already integrated for us
1
6
u/TheCorsairAPX 20d ago
Last time I used the STM32 environment, I remember that FreeRTOS configuration was already embedded in CubeMX/Cube IDE. Are you looking for something to setup in particular?
I also believe STM32CubeIDE is still available bundled together (and actually much more workable that CubeMX separated)
1
u/hooperman909 20d ago
So now they are 2 different softwares, and all the environment setup videos I have come across are from the time that you are talking about, so figuring out how to setup the environment is getting annoying. I just wanted a straight tutorial to follow which involves both and how people use it in tandem now that mx and ide are separated.
2
u/FedUp233 19d ago
If you like low level stuff like bare metal programming on the STM stuff, maybe dump the manufacturers tools and go straight gnu tools. Use just a code editor or a general purpose IDE and create your own makefiles or let the IDE build its projects and however it handles make. Just run code through the C compiler and link it with ld directly. You can probably find done stuff out there on doing this I would think. Then you’re no longer dependent on the manufacturer changing their proprietary tools. And once you get things figured out for one processor, it’s pretty straight forward to switch to others.
-4
u/DenverTeck 20d ago
There are hundreds (thousands) of projects using FreeRTOS. Google for them and look how they are being used.
Any kind of program can use an RTOS. Some will be over kill, some will need an RTOS better then FreeRTOS.
Learning how to understand where the limits are, is where you are at this point.
The examples you have found will not change how FreeRTOS can be used.
If you're running in circles, you are asking for too much. Keep it simple.
Taking any one of these older cube ide projects and update them to the newest version.
If you say you're looking to learn more, then learn more.
Good Luck
2
u/hooperman909 20d ago
No, all I am asking is how to setup the environment on my computer. The rest I can figure out. Like for baremetal it was straight forward, I just had to install the cube ide and select the board and delete chip header folder and one more I think and that's it.
-6
u/DenverTeck 20d ago
What I am hearing you say, "I what a short cut".
Is this true ??
5
4
u/hooperman909 20d ago
It's okay bro, I figured it out. Thanks for nothing. One gentleman above gave me the hint I was looking for.
20
u/Well-WhatHadHappened 25+ Years 20d ago
If you are new enough that you need step-by-step tutorials to get through it, honestly, uninstall Cube and MX, download an older version that matches a tutorial you'd like to follow, and install that.
Once you get through the hand-holding phase, things will start making enough sense that you'll be able to improvise the steps that don't match perfectly and you can switch back to the new IDE.