Do you think that just using an RTOS will give you real-time processing? Watch this course and find out. It will give you insight into tricky interrupts, priorities, mutual exclusion, and porting.
What you will learn!
How to implement hard real-time
How to operate interrupts stably and efficiently
How to Overcome System Performance Degradation Due to Frequent Mutual Exclusion
How to Make Sure You Prioritize Your Tasks
Test whether your created task is running in real time
Porting know-how
FreeRTOS summarized in one lecture!
Check out everything from concepts to practical know-how.
RTOS is an abbreviation for real-time operating system .
So that you can get the work done within a limited time.
It is an operating system that has been created.
RTOS is an operating system developed for real-time applications. It is used in embedded products in various fields including automotive, home appliances, medical, aerospace, defense, industrial control, and automation, as well as in environments where high performance and reliability are essential .
Even tasks requiring high levels (Hard-Realtime) can process results within a limited time through a real-time operating system.
As it is applied to various fields, RTOS also has various types and license forms. FreeRTOS is the best real-time operating system (RTOS) for microcontrollers and small microprocessors. FreeRTOS source code is distributed free of charge, so you can download FreeRTOS and start developing.
FreeRTOS is typically flashed into memory as a single image compiled with all the components needed for an embedded application.
Regardless of the microprocessor used, embedded application developers can use the same standardized interface to the FreeRTOS kernel and all FreeRTOS software libraries.
The FreeRTOS kernel is designed to be small, simple, and easy to use. A typical RTOS kernel binary image size is 4-9K bytes .
In general, FreeRTOS-based applications have the advantage of being much simpler than Linux-based systems.
Freeertos.org provides a series of detailed tutorials and guides on using the FreeRTOS kernel, including a quick start guide (click) . By supporting tickless interrupts, the microcontroller can remain in a DEEP SLEEP sleep state until an interrupt occurs or the RTOS kernel switches the task to a ready state.
Amazon has implemented a number of software libraries based on the FreeRTOS kernel that enable IoT devices to securely connect to its cloud . When Amazon FreeRTOS is deployed on IoT devices, they can securely connect to cloud services such as AWS IoT Core and be updated remotely using the OTA update feature.
It is a well-known fact that FreeRTOS has a free and source code-based kernel .
So what's the real benefit of having access to the kernel's source?
The fact that the kernel I use provides source code means that users can look into its contents whenever they want. However, if our ultimate goal is to drive a car called RTOS well, wouldn't it be more helpful for me to spend more time and effort on things like following turn signals, complying with crosswalk safety obligations, observing the rearview mirrors, and not accelerating too quickly, rather than focusing on learning the structure or principles of internal combustion engine vehicles?
You can also analyze the kernel source code to improve the kernel performance, but I can't recommend it because every code modification comes with responsibility. Rather, I think it is valuable to find and fix problems in my application by using the kernel source code, or to gain a better understanding of how the kernel works.
From now on, we will summarize the essential information that we need to know to properly operate a car called FreeRTOS.
All of the above are the core topics of this lecture. Now, let's get into the details.
Even if you build a house with the same materials, a house built by a certain carpenter will be safe and not shaken by strong winds or water leaks, while a house built by another carpenter will drip from the ceiling even when it rains a little, and in the winter, it will not be well insulated and will result in high heating costs. What is the difference? Just because you use an RTOS does not automatically guarantee the real-time performance of the program or product you create. This applies not only to FreeRTOS, but to all RTOSes. This lecture will teach you what efforts are needed to guarantee or achieve hard real-time.
We will look at examples of how our stereotypes can negatively impact the products or programs we create, and explore solutions to address them.
Wait a minute. You know that Mutex causes system performance degradation, right? Let's find out how to compensate for it or find an alternative.
Anyone who has ever tried to prioritize tasks knows that it can be difficult. I will talk about the pitfalls of giving high priority to important tasks and suggest alternatives.
If necessary, you may need a measuring instrument or equivalent equipment in addition to a debugger. Of course, you can develop and test without these equipment, but it will be easier to identify problems and prepare countermeasures. I will tell you how to check whether the task I created is running in hard real time.
When the hardware performance of the product I made is upgraded, it naturally requires porting work. I will share my long-time experience and know-how so that I can port the kernel myself without the help of others.
I created this course with your time as precious as my own.
After 13 years of teaching RTOS on-site, I decided to create online lectures to meet more learners. I will meet you as an online lecture that optimizes the content of 4 days of on-site lectures into 8 hours .
First time with RTOS
Beginner learning
For FreeRTOS based products
For those who are thinking about optimization
Lightweight OS for the product
Those who wish to apply
IoT (Internet of Things)
developer
👉 For those who want to kill two birds with one stone: hard real-time and stability of the product
👉 For those who want to compare and review with the Linux operating system
👉 Anyone who wants to increase their understanding of the operating system
👉 For those who do not have time to attend offline classes
Please check your player knowledge!
Main history
etc
Q. Can someone who doesn't know the C language take this course?
This course is good for engineers as well as non-majors and those interested in RTOS embedded products. However, if you do not know the C language, you may have difficulty understanding the parts related to practical training in class.
Q. Can intermediate level students also take this course?
The course is designed to cover not only those who are new to RTOS but also intermediate users who are already using RTOS. With 13 years of experience teaching RTOS programming at Samsung Electronics, LG Electronics, Hyundai Mobis, LS Industrial Systems, and the Agency for Defense Development, I have been able to cover the difficult parts and important topics of RTOS programming in depth.
Q. Do you also cover the Internet of Things (IoT) as a class topic?
FreeRTOS is used in a variety of IoT devices, but this course focuses on one topic: the RTOS kernel.
Q. There are various types of STM32 boards for practice. Is any of them okay?
In the video, the class is currently conducted based on the STM32 Nucleo64 f103rb board.
If you want to practice on a different STM32 board, watch the video '(Appendix) Follow the lecture with my Nucleo board' and then modify the source code of the practice example file (freeRTOS_tutorials) to fit your desired board and use this lecture, or ask the instructor to modify the source code to fit your desired board (free of charge. Usually takes 1-2 days. Apply in the Q&A corner.)
Q. Is FreeRTOS any good?
That's a very good question. And a difficult one. I have 12 years of experience developing embedded systems, and my experience spans firmware, RTOS, and embedded Linux.
To the question of which OS is better, I have prepared the following official answer:
(1) Free/Paid (2) Source code/Binary (3) Has many users (4) Development environment support
These are the important factors to consider when choosing an RTOS.
FreeRTOS gets almost full marks for items 1, 2, and 3 above. I wouldn't say FreeRTOS is the best OS, but I would at least recommend it.
Q. I am using VxWorks. Will this course help me?
Although the course title is FreeRTOS Programming, this course is designed to focus on the essence (core) of RTOS. Also, as you can see from my resume, I have already used various RTOSs.
This lecture covers the common knowledge that you need to know, frequently used skills, and misunderstandings and prejudices that users tend to have, regardless of the RTOS you use. I believe you will find it helpful.
Please check before taking the class! (License)
Linux Shell Script Master
Linux Shell Coding
Experience powerful features.
Who is this course right for?
RTOS Beginner
Those who want to apply a lightweight OS to their product
Those who need to learn about operating systems
Those who are concerned about optimizing FreeRTOS-based products
If you want to catch both the hard real time and stability of the product
Need to know before starting?
C language
2,905
Students
178
Reviews
248
Answers
4.7
Rating
5
Courses
인하대학교 공과대학에서 전자공학 학사 학위를 받았으며 임베디드 시스템용 소프트웨어 개발자로써 수년간의 경력을 쌓았습니다. 임베디드 시스템 및 프로그래밍을 위한 전문 강사로도 활동 중입니다. 아이폰 3GS 등장과 같은 시기에 맥(북)에 입문하였고, 그때부터 맥(북) 자동화에 관심을 갖게 되었습니다. '맥(북)에서 사용할 수 있는 시리 리모트', '키보드마에스트로를 이용한 구글번역기' 같은 오픈 소스를 깃허브(https://github.com/guileschool) 에 두고 개발 및 유지보수하고 있습니다. 오픈 소스 하드웨어 '비글본블랙' 에도 많은 관심을 가지고 있습니다. 맥(북) 자동화를 이용하여 생산성을 높일 수 있는 컴퓨터를 사용하는 모든 분야에 관심을 가지고 있고, 이를 필요로 하는 사람들을 돕고 있습니다.
강의 요청 및 기타 문의사항은 guileschool@gmail.com으로 보내주세요 :)
All
203 lectures ∙ (9hr 21min)
are provided.
Course Introduction
08:09
Board Debugging
01:22
task
02:13
Task status
01:34
What is a kernel?
01:08
Preemptive Kernel
03:28
Priority Scheduling
03:42
Interrupt
02:58
Blocking IO
03:31
Non-blocking IO
04:26
Kernel's clock
02:06
What is RTOS?
05:33
RTOS Features
05:09
Types of RTOS
04:13
Introducing FreeRTOS
08:47
Task type
01:58
Porting-start
01:02
Porting-CMSIS
00:59
porting-printf
04:08
Potting-LED on
00:20
Porting - Finishing
01:45