I start learning RTOS (real-time operating system)and I want to share my learning experience because I feel that to summarize the learning process is a good way to help me recall the memories and get my thoughts in order. This post has also been posted on Reddit as I hope to receive more suggestions. Thanks in advance.
I decided to start with rt_thread which is open-source, I’ve been thinking about this for a long time before I made the final decision, and especially during the quarantine period, keep learning makes my quarantine no longer anxious and scary. Here are some main reasons I chose rt_thread:
rt-thread born in 2006 and has gained 4K+ stars on Github which seems to be proof of its value;
I've simply checked the source files, for me, it is comprehensive and enough;
It is the only RTOS I've ever heard of that comes with enormous software packages and components, which will save me a lot of time as I work on my projects.
The guidebook of RT-Thread suggests that new learner with little development experiences about RTOS should get started with the Nano version, here's what I've learned about Nano:
The nano version is a small size kernel, which can be cropped out in 3KB Flash and 1.2KB RAM. It could run on most 32-bit ARM MCUs used in home appliances and consumer electronics. The small size also cuts off a large amount of startup time. So if the hardware has limited resources, the nano RT-Thread is recommended.
It makes the development process very simple. The kernel has been ported on many platforms, so I don't need too much effort to start an empty project in Keil MDK or Cube MX.
The code is clean and formatted well. I care about the code formatting very much, I like the simple code, easy to understand and learn.
Next, I will post the hands-on experience here. You are also very welcome to join me and please share with me your rtos experience and your project.