Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Mastering RTOS: Hands on FreeRTOS and STM32Fx with Debugging

Thành thạo RTOS: Thực hành FreeRTOS và STM32Fx với Debugging

Thành thạo RTOS: Thực hành FreeRTOS và STM32Fx với Debugging

Học cách chạy/porting Hệ điều hành thời gian thực FreeRTOS trên STM32F4x và vi điều khiển ARM Cortex M

4.5
(7,446 đánh giá)
43,993 học viên
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 349.000đ -86%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
14.0 giờ video
336 bài giảng
14 bài quiz
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 24/08/2026

Bạn sẽ học được gì

Hiểu các khái niệm RTOS khác nhau qua lập trình và gỡ lỗi FreeRTOS
Hướng dẫn từng bước hoàn chỉnh để chạy FreeRTOS trên STM32 MCU bằng OpenSTM32 System Workbench
Sử dụng API STM32 Standard Peripheral Driver để cấu hình ngoại vi
Tạo, xóa, lập lịch Task trong FreeRTOS kèm ví dụ code
Các chính sách lập lịch quan trọng của FreeRTOS Scheduler
Quản lý Stack và Heap trong FreeRTOS
Cách đồng bộ hóa đúng giữa các Task bằng Semaphore
Cách đồng bộ hóa đúng giữa Task và ngắt bằng semaphore
Đồng bộ hóa giữa nhiều sự kiện và một Task
Quản lý Queue trong FreeRTOS: tạo, gửi, nhận, blocking...
Triển khai loại trừ lẫn nhau giữa các Task bằng Mutex và semaphore
Hiểu Context Switching qua giải thích code chi tiết
Hiểu code đặc thù kiến trúc: SVC_handler, PendSV_handler, SysTick Handler từng dòng
Tìm hiểu về kernel Tick timer, tầm quan trọng, tần số tick và cấu hình
Hiểu mô hình ưu tiên ARM Cortex M + FreeRTOS và thông tin cấu hình liên quan
Debug FreeRTOS bằng phần mềm SEGGER SystemView
Nhiều bài viết giải thích từng dòng code kiến trúc FreeRTOS liên quan ARM Cortex M
Ứng dụng lệnh tiết kiệm năng lượng trong kịch bản FreeRTOS
Nhiều bài tập coding
Debug bằng bộ công cụ SEGGER qua chụp nhanh và ghi liên tục

Yêu cầu

Kiến thức cơ bản về C và vi điều khiển là lợi thế nhưng không bắt buộc

Đối tượng phù hợp

Chuyên gia quan tâm khám phá hệ thống nhúng
Người đam mê và sinh viên muốn bắt đầu sự nghiệp Embedded
Người mới bắt đầu và sinh viên trung cấp về RTOS
Nghĩ đến 'embedded' là nghĩ đến khóa học này - bạn sẽ không thất vọng

Nội dung khóa học

27 phần • 121 bài giảng
1 Giới thiệu giảng viên
2 Lưu ý quan trọng
3 Khóa học này dạy gì?
4 Tải slide khóa học
5 Câu hỏi thường gặp
6 Lưu ý cho học viên
1 Ứng dụng thời gian thực (RTAs) là gì?
2 Hệ điều hành thời gian thực (RTOS) là gì?
3 RTOS vs GPOS: Lập lịch Task
4 RTOS vs GPOS: Độ trễ
5 RTOS vs GPOS: Đảo ngược ưu tiên
6 Đa nhiệm là gì?
1 Tải STM32CubeIDE
2 Cài đặt IDE (Windows)
3 Cài đặt IDE (Linux)
4 Board phát triển dùng trong khóa học
5 Tải tài liệu
1 Tải mã nguồn kernel FreeRTOS
1 Tạo dự án STM32 mới
2 Thêm mã nguồn kernel FreeRTOS vào dự án
3 Cài đặt đường dẫn include
4 FreeRTOSConfig.h và các cài đặt khác
5 Chọn Time base cho dự án STM32+FreeRTOS
6 Thêm FreeRTOS vào dự án STM32 bằng giao diện đồ họa STM32CubeIDE
1 Task là gì?
2 API tạo Task FreeRTOS
3 Độ ưu tiên Task trong FreeRTOS
4 Bài tập 001 coding
5 Chính sách lập lịch
6 Bài tập 001 coding tiếp theo
7 Kiểm tra bài tập 001
8 Bên trong quá trình tạo Task
1 Tải công cụ trace
2 Phần mềm SEGGER SystemView là gì?
3 Chế độ ghi của SEGGER SystemView
4 Tổng quan SEGGER SystemView
5 Tích hợp target vào SEGGER SystemView
6 Phân tích bài tập 001 bằng trace SEGGER
7 Phân tích trace lập lịch hợp tác
1 Task dịch vụ Idle và Timer
1 Bộ lập lịch FreeRTOS
2 Hiểu cách triển khai xPortStartScheduler() trong port.c
1 Ngắt kernel FreeRTOS
2 Giải thích RTOS Tick và SysTick Timer
3 Ai cấu hình RTOS Tick Timer?
4 Tóm tắt: RTOS Tick ISR (SysTick ISR) làm gì?
1 Giới thiệu chuyển đổi ngữ cảnh
2 Chuyển đổi ngữ cảnh: Hiểu "Trạng thái" của Task
3 Chuyển đổi ngữ cảnh: Quy trình chuyển Task với hoạt ảnh
4 Chuyển đổi ngữ cảnh: Hiểu code xử lý pendSV
1 Ghi liên tục SEGGER SystemView qua UART
1 Bài tập 002
2 Triển khai bài tập 002
3 Triển khai bài tập 002 tiếp theo
4 Kiểm tra
1 Các trạng thái Task
2 Trạng thái Blocked và Suspended
1 Các API trễ Task FreeRTOS
2 Bài tập 003
3 Bài tập 004
1 API thông báo trực tiếp giữa các Task
1 Cấp phép FreeRTOS
2 Giao diện API FreeRTOS
1 Tổng quan quản lý bộ nhớ FreeRTOS
2 Quản lý Heap và Stack FreeRTOS
3 Tổng quan dịch vụ đồng bộ hóa và loại trừ lẫn nhau FreeRTOS
1 Xóa một Task
2 Bài tập 005
3 Triển khai và kiểm tra bài tập 005
1 Ưu tiên Task vs ưu tiên phần cứng
2 Mục cấu hình ngắt phần cứng FreeRTOS
3 Mục cấu hình ngắt phần cứng FreeRTOS tiếp theo
4 Bài tập 006
5 Bài tập 006 tiếp theo
6 Phân tích trace bài tập 006
7 Bài tập 007
8 Giải thích code bài tập 007
1 API an toàn và không an toàn ngắt
1 Các hàm Hook FreeRTOS
2 Hàm Tick hook và lệnh tiết kiệm năng lượng
1 Queue và tính năng
2 Tạo Queue
3 Gửi dữ liệu đến Queue
4 Nhận dữ liệu từ Queue
5 Bài tập 008: Queue và Timer
6 Triển khai bài tập 008
7 Triển khai bài tập 008 phần 1
8 Triển khai bài tập 008 phần 2
9 Triển khai bài tập 008 phần 3
10 Triển khai bài tập 008 phần 4
11 Triển khai bài tập 008 phần 5
12 Triển khai bài tập 008 phần 6
13 Triển khai bài tập 008 phần 7
14 Triển khai bài tập 008 phần 8
15 Timer phần mềm FreeRTOS
16 Triển khai bài tập 008 phần 9
17 Triển khai bài tập 008 phần 10
18 Kiểm tra bài tập 008 phần 1
19 Triển khai bài tập 008 phần 11
20 Triển khai bài tập 008 phần 12
21 Triển khai bài tập 008 phần 13
22 Triển khai bài tập 008 phần 14
23 Kiểm tra bài tập 008 phần 2
24 Kiểm tra bài tập 008 phần 3
1 Đồng bộ hóa và loại trừ lẫn nhau trong thực tế
2 Tạo semaphore
3 Các loại semaphore khác nhau
4 Binary semaphore đồng bộ giữa hai Task
5 Bài tập: Đồng bộ giữa 2 Task
6 Binary Semaphore đồng bộ giữa Task và ngắt
7 Chốt sự kiện
8 Counting semaphore chốt và xử lý nhiều sự kiện
9 Bài tập: Đồng bộ Task và nhiều sự kiện
1 Loại trừ lẫn nhau bằng Binary Semaphore
2 Bài tập: Loại trừ lẫn nhau giữa 2 Task bằng Binary Semaphore
3 Vấn đề với Binary semaphore khi dùng cho loại trừ lẫn nhau
4 Ưu điểm của Mutex so với Binary Semaphore
5 Bài tập code 16: Ví dụ Mutex
6 Cách thô sơ bảo vệ đoạn mã quan trọng
1 Làm việc với simulator bằng FreeRTOS Win32 Port
1 BÀI HỌC BỔ SUNG

Giới thiệu khóa học

>> The Complete FreeRTOS Course with Programming and Debugging <<

Latest update: RTOS debugging using SEGGER SystemView Trace tools, STM32 hal. Peripheral APIs and More examples are added.

Subtitles(CCs) and transcripts are available for this course.

Dedicated Support team to answer Q/A


The course is designed for Beginners to Advanced audience.


Short Description:

"The Biggest objective of this course is to demystifying RTOS practically using FreeRTOS and STM32 MCUs"

STEP-by-STEP guide to port/run FreeRTOS using development setup which includes,

1) STM32CUBEIDE + STM32F4xx + FreeRTOS + SEGGER SystemView


Demystifying the complete Architecture (ARM Cortex M) related code of FreeRTOS which will massively help you to put this kernel on any target hardware of your choice.


Development board used in this course:

If you already have an STM32 Based development board, then please continue using the same. The course uses STM32F407x DISCOVERY(STM32F407G-DISC1) board


Software used in this course:

1)  STM32CUBEIDE which can run on all OS platforms(WIN/OSX/LINUX) (free)

2) SEGGER Systemview software free edition


Operating system information:

WIN/MAC/UBUNTU


Debugging FreeRTOS with SEGGER SYSVIEW software

In this course debugging freeRTOS with SEGGER Systemview software is covered with STEP-BY-STEP guidance. please watch the preview videos.


Embedded Debugging and Quizzes

Debugging embedded code is really interesting and learning various debugging techniques and features are very much essential to have a good grip on embedded debugging.


Also, the course consists of various interview questions which will test your knowledge gained !.


My promise!

I will personally answer your questions about this material, either privately or in a group discussion. If you are in any way not satisfied, for any reason, you can get, No questions asked a full refund from Udemy within 30 days. But I am confident you won't need to. I stand behind this course 100% and am committed to helping you.


Learning order of FastBit Embedded Brain Academy Courses,

If you are a beginner in the field of embedded systems, then you can take our courses in the below-mentioned order.
This is just a recommendation from the instructor for beginners.

1) Microcontroller Embedded C Programming: absolute beginners(Embedded C)

2) Embedded Systems Programming on ARM Cortex-M3/M4 Processor(ARM Cortex M4 Processor specific)

3) Mastering Microcontroller with Embedded Driver Development(MCU1)

4) Mastering Microcontroller: TIMERS, PWM, CAN, RTC,LOW POWER(MCU2)

5) Mastering Microcontroller: STM32-LTDC, LCD-TFT, LVGL(MCU3)

6) Embedded System Design using UML State Machines(State machine)

7) Mastering RTOS: Hands-on FreeRTOS and STM32Fx with Debugging(RTOS)

8) ARM Cortex M Microcontroller DMA Programming Demystified(DMA)

9) STM32Fx Microcontroller Custom Bootloader Development(Bootloader)

10) Embedded Linux Step by Step using Beaglebone Black(Linux)

11) Linux device driver programming using Beaglebone Black(LDD1)


Other programming courses

1) Master The Rust Programming Language : Beginner To Advanced

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Embedded Systems
Hiển thị tất cả khoá học Freertos
Hiển thị tất cả khoá học Real Time Operating Systems
Hiển thị tất cả khoá học Stm32
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊