How a Veteran Embedded Developer Learns and Uses RT-Thread Quickly

How a Veteran Embedded Developer Learns and Uses RT-Thread Quickly

Warm Reminder

This article is approximately 5000 words long, and it will take about 10 minutes to read, while skimming through will take about 5 minutes.

If you like this article, please share it with your friends. For more information, please follow me.

[Experience Summary] How a Veteran Embedded Developer with Nearly 10 Years of Experience Quickly Learns and Uses RT-Thread?

RT-Thread can definitely be regarded as one of the top operating systems in China, enjoying a great reputation in the embedded IoT field. In recent years, the booming IoT industry has directly propelled RT-Thread into the hall of fame, attracting more and more developers to join the RT-Thread development army. How to quickly learn and use RT-Thread has become a pressing issue.

This article discusses this topic from the perspective of a veteran embedded developer with nearly 10 years of experience, hoping to provide help and inspiration to everyone.

1 Introduction

RT-Thread is a technology platform that integrates a real-time operating system (RTOS) kernel, middleware components, and a developer community, developed by Mr. Xiong Puxiang and the open-source community. It contains all the key components required for an IoT OS platform, boasts the largest embedded open-source community in China, and is widely used in various industries such as energy, automotive, medical, and consumer electronics, with a cumulative installation exceeding 2 billion units, making it the most mature, stable, and widely installed open-source RTOS developed independently by Chinese people.

Its excellence is not only reflected in words but also in numbers. The following data is sourced from the RT-Thread official website:

How a Veteran Embedded Developer Learns and Uses RT-Thread Quickly

Such an excellent operating system software, are you sure you don’t want to learn about it?

2 Discussing Sentiment

Friends who know me are probably aware that I have quite a connection with RT-Thread. I once wrote a short article introducing my story with RT-Thread.

[My Story with RT-Thread] I want to develop deeply with you

This article was honored to be published in the story section of the 2021 Developer Conference special edition, and some friends may have already seen it in the publication.

In 2022, I began to delve into the RT-Thread technical community, and my personal account is recan. During this time, I actively answered various questions posed by online friends, and I maintained a commitment to produce at least two excellent original technical articles each month. In June of the same year, I also served as an online live instructor for the RT-Thread Global Developer Conference, including domestic and overseas sessions, receiving applause while also gaining valuable experiences. The most fortunate part was receiving a certificate of instructor personally signed by the founder of RT-Thread, Mr. Xiong.

Due to my outstanding performance in 2022, I was awarded the title of 2022 Outstanding Evangelist of the RT-Thread Technical Community, which is truly an honor that motivates me to move forward. I will take this as a new starting point and, in the coming year, promote RT-Thread with a sense of mission, inviting more excellent developers to join the RT-Thread development camp.

This is my responsibility, my duty, and my honor. As an evangelist, I am very willing to discuss RT-Thread technology with everyone. Feel free to visit my homepage, and let’s chat!

3 Tips from a Veteran

Having talked so much, it’s time to share some big tips.

I graduated in 2013 and have been engaged in the embedded industry for nearly 10 years. From embedded Linux to FreeRTOS, and now to RT-Thread, I can say that I have a deep understanding of each operating system technology, successfully validated in work projects, and I am fortunate to be among the top 5% in my company.

In the past two years, I have frequently voiced my opinions on technical self-media, aiming to build the technical IP of Architect Li Ken. During this time, I encountered many difficulties and obstacles, and at times I considered giving up, but I also received much affirmation and encouragement. Following my inner desire, I still hope to continue developing this IP, and if I can help more people, that would be even better.

While I was dedicated to building the technical IP of Architect Li Ken, I met many friends who were new to embedded development, many of whom wanted to join the RT-Thread developer community. They often asked me a question: How did you learn and use RT-Thread?

To be honest, every time I answer this question, I always think left and right, and then give a few informal suggestions. Therefore, I want to take this opportunity to clarify how I learned and used RT-Thread.

Below, I will provide some practical suggestions and methods from the perspective of an experienced embedded developer, addressing several questions. However, it should be noted that the methods presented in this article may not be suitable for all developers, so please evaluate them accordingly. Choose the good and follow it, and correct the bad!

3.1 On the Issue of Learning Basics

This question is listed first because I have encountered too many friends like this.

They often ask, “I am a complete beginner; can I switch to embedded development? Can I learn RT-Thread well if I know nothing?”

Here, I want to reiterate my point: the learning basics are not the focus or the difficulty; with a little electronic circuit knowledge and some C programming experience, you can basically handle the entry-level of embedded development.

On the other hand, a very important point is interest. This may seem abstract, but it directly determines whether you can persist when you encounter difficulties. After all, embedded development can be fun, but it can also be tedious; when you are faced with a pile of devices and bugs, it can be quite frustrating.

Of course, returning to learning RT-Thread, if you have majored in courses related to operating system principles, computer fundamentals, etc., it will be easier to understand RT-Thread.

3.2 On the Issue of Learning Direction

Generally speaking, embedded software can be divided into two main directions: application development and low-level driver development.

Application Development: This focuses on business logic development, requiring mastery of system API usage details, while the implementation details may not be as critical. However, understanding low-level details often leads to writing better application code.

Low-Level Driver Development: This work requires strong interaction with hardware devices and the operating system, necessitating a certain level of hardware knowledge and a thorough understanding of the system’s driver framework; otherwise, it can be very challenging. Of course, the difficulty of the work corresponds to higher salaries.

I highlight this issue to make everyone understand that application development and driver development are two distinctly different development directions, with different requirements for developers’ abilities, so it’s important to make a good choice when starting out.

For RT-Thread-based development, the requirements for application development and driver development are also different; generally, transitioning from low-level driver development to application development is relatively easier, while the reverse is more challenging. Therefore, the initial choice is very important.

3.3 On the Issue of Official Documentation

Overall, the official documentation of RT-Thread is already very comprehensive. It has a dedicated website where you can find relevant reference materials, including how the kernel is designed, how to call application interfaces, what the driver framework looks like, and what development tools are available; you can generally find answers to these questions by searching.

Another important point is that the documentation is entirely in Chinese, which provides a better experience for domestic developers, significantly reducing the difficulty of understanding and enhancing developers’ enthusiasm for learning and understanding RT-Thread.

3.4 On the Issue of Problem Solving

For submitting problems encountered during development, I highly recommend the official RT-Thread technical community, where many excellent developers gather, including many industry technical experts. Generally, if you post your question here, you should receive responses from fellow developers quickly.

The entire technical community is quite active, and I personally am also active in the community, frequently answering questions. I welcome everyone to ask me questions in the community.

However, it should be noted that sometimes problems may not be resolved immediately, but a comment or discussion from others can open up your thinking and lead to a solution.

Here, I want to introduce how to ask questions effectively, which is something many beginner developers need to learn.

3.5 On the Issue of Development Boards

This is also a question many friends ask, showing great concern about purchasing development boards.

A good aspect of learning RT-Thread is that it can be started without relying on a development board environment.

In the official code repository, we can find BSPs starting with QEMU- in the BSP directory. These BSPs are simulated development environments based on QEMU technology. With them, you can directly debug RT-Thread on your PC, greatly speeding up the programming verification process and lowering the hardware threshold for learning RT-Thread.

Interested friends can click here to learn more about this development model.

3.6 On the Issue of Finding Mentors and Friends

As the saying goes: “One person walks faster, but a group will go further.”

On the road to learning RT-Thread, I hope everyone can find like-minded partners to level up together, discuss problems together, and research the root causes together; sometimes, an unintentional idea can help you solve a problem that has been troubling you for days. This is the importance of having mentors and friends.

So, how do you find your mentors and friends? I personally think you can look for answers in technical forums, technical blogs, and technical public accounts. Try to pay attention to excellent bloggers in your field; they often have many peer communication groups. Try to integrate into them and create opportunities for interaction, and gradually, you will naturally find your mentors and friends.

If you haven’t found your mentors and friends yet, feel free to reach out to me; I might just become your mentor or friend.

3.7 On the Issue of Practical Projects

What you learn from books is always shallow; to truly understand, you must practice!

On the road to learning RT-Thread, this is even more true. Reading tutorials a hundred times or demo code a hundred times is not as effective as writing the code yourself and running it in a real development environment (development board or QEMU simulation environment); this not only enhances your hands-on skills but also deepens your understanding of the content.

Many people may wonder how to find similar practical projects if their normal work does not involve RT-Thread development.

In this case, you should pay attention to various amateur competitions, such as those held by the Electronic Enthusiasts Forum or the official RT-Thread technical forum, which periodically host design competitions that often require the use of the RT-Thread operating system.

For such competitions, you can actively sign up to participate, not only can you gain development boards but also practice a practical project, and you may even make a bunch of like-minded technical friends. Why not?

3.8 On the Issue of Learning Advancement

I believe that the advanced state of learning RT-Thread is participating in the construction of the open-source community. Answering a small question or even liking a small question can effectively pass on the spirit of open-source technology.

If you are a more proactive developer, even if your skills are not that advanced, you can try submitting a PR to the official repository with your excellent code, letting more people know how great you are.

Excellent developers always share similar development habits, and working with excellent community builders is inherently a growth experience. You can try joining us.

To summarize:

The points mentioned above are not just specific actionable details; I would call them methodologies. Mastering these methodologies applies to learning any open-source project. Therefore, regarding specific technical details, feel free to reach out to me for a chat.

4 Friendly Recommendations

As a loyal fan of RT-Thread, I always keep an eye on RT-Thread news. According to reliable sources, a book written by RT-Thread official developers, the most authoritative textbook on RT-Thread, titled “RT-Thread Device Driver Development Guide,” has been released.

Its release has caused a sensation in various embedded technology groups, with many friends eager to see it at the first opportunity.

Here, I officially recommend this masterpiece as an RT-Thread developer.

In recent years, the rapid rise of the domestic chip industry and IoT industry has created an urgent need for more talent in the industry, especially those who master embedded operating systems and other low-level technologies. As RT-Thread is increasingly applied in the industry, developers’ demand for embedded driver development is growing stronger, and they are eager for a guide to help them develop drivers on RT-Thread.

To address developers’ urgent needs, the “RT-Thread Device Driver Development Guide” has arrived! It aims to help RT-Thread developers master the knowledge points of driver development, enabling them to develop drivers more easily and conveniently, accelerating product launches, and empowering more industries with RT-Thread, truly achieving “Accumulating knowledge to become wise, benefiting all rivers.”

How a Veteran Embedded Developer Learns and Uses RT-Thread Quickly
  • Target Audience

  1. Individuals familiar with RT-Thread who want to develop device drivers
  2. Embedded software and hardware engineers, electronic engineers, IoT development engineers
  3. Students and teachers in computer, electronics, automation, and communication-related majors in higher education
  4. Others interested in embedded operating systems

  • How to Read This Book

This book requires readers to have a basic knowledge of RT-Thread, so it is recommended that everyone first study “Embedded Real-Time Operating System: RT-Thread Design and Implementation” before learning the content of this book. Readers who have used the device framework on RT-Thread will have a better reading experience. Each chapter of this book includes accompanying example code, most of which are for contextual reference and cannot be run directly. It is recommended that readers refer to the existing drivers in the specific BSP directory while studying this book.

The book is divided into three parts: Basic, Intermediate, and Advanced.

Basic Part (Chapters 1-11) Chapter 1 provides an overview of RT-Thread and the device framework; Chapters 2-11 introduce some commonly used device driver frameworks, including PIN, I2C, SPI, etc., suitable for readers who are new to driver development.

Intermediate Part (Chapters 12-20) Introduces slightly more complex peripheral drivers, such as SDIO, touch, display, sensors, encryption/decryption devices, etc.

Advanced Part (Chapters 21-27) Introduces some complex drivers, such as network, audio, USBD(H), CAN, etc. Developing such device drivers requires developers to be familiar with the corresponding peripheral protocols.

This book is more like a reference book; readers do not need to read it from start to finish chapter by chapter. After familiarizing themselves with the basic processes of driver development in the first few chapters, they can choose corresponding chapters to study based on their needs.

  • Accompanying Software

This book is written based on RT-Thread 4.1.0, so readers need to choose the corresponding source code version while learning driver development with this book.

  • Recommended by Experts

How a Veteran Embedded Developer Learns and Uses RT-Thread Quickly

———————End———————

You can add WeChat: rtthread2020 as a friend, indicating: company + name, to join the official RT-Thread WeChat group!

How a Veteran Embedded Developer Learns and Uses RT-Thread Quickly

Clickto read the original text and sign up

Leave a Comment