Ⅰ
Introduction
Before we start learning FreeRTOS, let’s chat about some related topics.
1. What is FreeRTOS?
Considering that many of my readers are beginners, here’s a brief introduction to FreeRTOS.
In simple terms, FreeRTOS is a real-time operating system.
RTOS: Real-Time Operating System.
FreeRTOS can be broken down into Free + RTOS. The first part, Free, represents a type of operating system, like UCOS, RTX, uClinux; while the latter, RTOS, stands for real-time operating system.
2. Why learn FreeRTOS?
In my opinion, the main reason is that FreeRTOS has many advantages over other RTOS, such as being popular and open-source. Of course, while it has many advantages, it also has its drawbacks, which I will not discuss here.
According to the ranking data of embedded operating systems in recent years, FreeRTOS ranks quite high among them.
The Micrium official website (the official website of UCOS) also provides a ranking of previous RTOS. In fact, UCOS is also a relatively popular real-time operating system, with the biggest difference being that UCOS is a commercial RTOS that requires payment for its use.
Based on the above data, FreeRTOS should continue to rank among the top embedded operating systems in the coming years. So, if you are still unsure which RTOS to learn, FreeRTOS is definitely worth considering, and it is necessary to choose FreeRTOS for your studies.
3. Why reinvent the wheel?
Many people know that there are a lot of resources about FreeRTOS available online, so why am I writing about it here?
To be honest, there are many similar articles that I have shared before, and even more on the internet, so why do you still choose to follow me?
Everyone has their own sharing style, and each person considers things from different perspectives. I also started as a technical novice, and my sharing will be from the perspective of beginners.
I personally believe that FreeRTOS is an essential skill for embedded developers in our field. If my article can help you understand, then my sharing purpose has been achieved.
Ⅱ
Preparation Work
Starting is always the hardest part; once you overcome that, as long as you keep moving forward, you will eventually reach success. Friends who have been following me know that my articles are aimed at beginners, meaning they are written at a basic level that I believe you can understand and learn.
【Tip: WeChat official accounts do not support external links】
1. Download FreeRTOS source code and related materials
All FreeRTOS source code and more materials can be found and downloaded from the official website.
Official website address:
http://www.freertos.org
Beginners should mainly download the source code and API documentation.
The latest version of FreeRTOS on the official website is V9.0.0, while some platforms have already provided V9.1.0.
Latest version download address:
http://www.freertos.org/a00104.html
Historical version source code download address:
https://sourceforge.net/projects/freertos/files/FreeRTOS
Reference manual download address:
http://www.freertos.org/Documentation/RTOS_book.html
2. Download and install development tools
The FreeRTOS examples I will discuss next will be combined with MDK-ARM or EWARM integrated development tools, and I will provide source code projects for MDK-ARM or EWARM. Therefore, everyone needs to install and learn to use these two development tools.
If there are friends who are not very familiar with these two development tools, you can refer to my series of tutorials on MDK-ARM and EWARM.
Reference articles:
1. Introduction, download, installation, and registration of MDK-ARM
2. Detailed process of creating a software project in MDK-ARM
3. Introduction, download, installation, and registration of EWARM
4. Detailed process of creating a software project in EWARM
3. Download STM32 Standard Peripheral Library
Why download the STM32 Standard Peripheral Library?
To put it simply: the content we will discuss next is based on the STM32 Standard Peripheral Library.
The FreeRTOS source code downloaded above actually includes the STM32 Standard Peripheral Library, but it is an older library. Those of us in technology generally have a psychological tendency to pursue new technologies (as long as it doesn’t affect certain functions), especially learners should look towards the latest technologies.
http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software.html?querycriteria=productId=SC961
Of course, this section mainly concerns the hardware platform. If you are using processors from other platforms, you can skip this; I am just providing convenience for beginners.
Learning FreeRTOS is not very dependent on the underlying hardware platform; it only needs to be used during porting, and when learning the specific functions of the API later, you generally will not care about the hardware platform.
Ⅲ
Conclusion
Search for “EmbeddDeveloper” on WeChat or scan the QR code below to follow and see more wonderful content in my bottom menu!
Long press to recognize the QR code in the image to follow