
Nếu bạn muốn biết thêm thông tin về khoá học. Hãy liên hệ với chúng tôi.
📧 EMAIL : Hala.daotao@gmail.com
☎ SỐ ĐIỆN THOẠI : 0972 595 711
TỔNG QUAN KHÓA HỌC
- Khóa học AUTOSAR/OSEK Real-Time OS được thiết kế dành cho những học viên muốn làm chủ hệ điều hành thời gian thực trong lĩnh vực hệ thống nhúng ô tô. Khóa học tập trung vào nguyên lý hoạt động và cấu trúc của AUTOSAR Classic OS, giúp học viên từng bước xây dựng một hệ điều hành chuẩn AUTOSAR chạy trên STM32F103 (Cortex-M3).
- Khóa học đi sâu vào các chủ đề như quản lý Task, Event, Alarm, Schedule Table, Resource, IOC, cơ chế Context Switching và phân vùng ứng dụng, đồng thời rèn luyện kỹ năng triển khai thực tế thông qua dự án điều khiển đồng hồ tốc độ xe điện.
MỤC TIÊU KHÓA HỌC
- Hiểu rõ kiến trúc và nguyên lý hoạt động của AUTOSAR/OSEK RTOS.
- Tự tay phát triển một hệ điều hành thời gian thực có thể chạy trên vi điều khiển STM32.
- Làm chủ các kỹ thuật lập lịch, quản lý task, đồng bộ hóa, tài nguyên và shutdown hệ thống.
- Áp dụng tiêu chuẩn thiết kế của AUTOSAR Classic vào thực tế để xây dựng OS mạnh mẽ, tin cậy.
TẠI SAO BẠN NÊN THAM GIA KHÓA HỌC NÀY?
- Học sâu hệ điều hành thực chiến: Viết từ nhân RTOS đến API tiêu chuẩn AUTOSAR/OSEK.
- Sát với tiêu chuẩn công nghiệp, hướng đến việc làm trong lĩnh vực automotive embedded systems.
- Dự án thực tế cuối khóa có thể sử dụng làm đồ án tốt nghiệp hoặc bổ sung vào portfolio.
- Làm việc trực tiếp trên STM32, sử dụng UART log để debug và theo dõi ngữ cảnh.
HỌC PHÍ VÀ PHƯƠNG THỨC THANH TOÁN
Tổng học phí: 10,000,000 VND
Chia làm nhiều đợt linh hoạt:
- 3 buổi học thử miễn phí: Trải nghiệm nội dung và phương pháp đào tạo.
- Đợt 1: 3,000,000 VND (sau học thử)
- Đợt 2: 5,000,000 VND (tháng thứ hai)

AUTOSAR/OSEK
Real-Time OS
8.000.000 VNĐ
- Tổng thời gian học: 2 tháng
- Hình thức: Online
AUTOSAR/OSEK Real-Time OS
LỘ TRÌNH KHÓA HỌC
PHẦN 1: NỀN TẢNG OS VÀ NHÂN HỆ ĐIỀU HÀNH
Bài 01: Kiến trúc OS – Task Control Block (TCB)
Lý thuyết
- Tổng quan hệ điều hành thời gian thực (RTOS) và AUTOSAR OS
- Phân tích khái niệm TCB (Task Control Block)
- Cấu trúc: stackPtr, state, priority, activation
- Vòng lặp Kernel Scheduler cơ bản
- Danh sách Task (Ready List), bảng cấu hình
- FSM của Task: SUSPENDED → READY → RUNNING → WAITING
- Thuật toán lập lịch: Round-Robin, Priority-based
Bài 02 : SysTick và chuyển ngữ cảnh (Context Switch)
Lý thuyết
- Thiết lập SysTick 1ms để tạo nhịp hệ thống
- SysTick_Handler() → kích hoạt PendSV_Handler()
- Cấu trúc hàm chuyển ngữ cảnh (Context Switching)
- Lưu R4–R11 vào Stack (Push)
- Phục hồi từ PSP khi chuyển Task (Pop)
- Sử dụng thanh ghi PSP để tách stack các task
Thực hành
- Chuyển luân phiên giữa 2 task LED bằng switch context
Bài 03 : Stack Frame và phân tích bộ nhớ
Lý thuyết
- Stack Frame tự động khi xảy ra exception
- xPSR, PC, LR, R12, R0–R3 (8 thanh ghi hệ thống)
- Cấu trúc Stack Pointer (SP): phân biệt MSP và PSP
- Khởi tạo vùng stack cho từng task độc lập
- Ghi log trạng thái stack qua UART để debug context switch
Bài 04: Task trong AUTOSAR OS
Lý thuyết
- Sử dụng typedef struct TaskType, TaskStateType
- API: ActivateTask, TerminateTask, GetTaskState, ChainTask
- Quản lý activation, giới hạn số lần activate
- Chuyển trạng thái: FSM chi tiết
- Cấu trúc quản lý bảng task (tĩnh)
Thực hành
- Triển khai 3 task thực hiện theo lịch, switch LED tuần tự
Bài 05 : Event và EventMask
Lý thuyết
- Extended Task: phân biệt Basic vs Extended Task
- API: SetEvent, WaitEvent, ClearEvent, GetEvent
- Kiểm tra bitmap EventMask để quyết định chuyển trạng thái
- Cơ chế Wait → Blocked đến khi được SetEvent
Thực hành
- Task chờ sự kiện từ nút nhấn hoặc task khác
Bài 06 : Counter & Alarm
Lý thuyết
- Timer2 tạo Counter Tick 1ms
- Cấu trúc CounterType, AlarmType
- API: SetRelAlarm, SetAbsAlarm, CancelAlarm, GetAlarm
- Quản lý alarm queue, trigger action theo offset
Thực hành
- Task tự động được Activate theo thời gian định kỳ
Bài 07 :Schedule Table
Lý thuyết
- Schedule Table vs Alarm
- ExpiryPoint, Offset, ActionType (ActivateTask, SetEvent…)
- API: StartScheduleTableRel, StopScheduleTable, SyncScheduleTable
- Quản lý vòng lặp hoặc một lần
Thực hành
- Lập lịch định kỳ thay đổi chế độ đèn LED (normal → warning → off)
Bài 08 : Hook Functions
Lý thuyết
- Khái niệm Hook trong AUTOSAR OS
- Các loại Hook:
- StartupHook
- ShutdownHook
- ErrorHook
- PreTaskHook / PostTaskHook
- Viết logic kiểm tra lỗi: invalid ActivateTask, stack overflow
Thực hành
- Ghi log qua UART mỗi khi gọi Hook
Bài 09 : Resource Management
Lý thuyết
- Tranh chấp tài nguyên trong hệ đa task
- Priority Ceiling Protocol (PCP)
- API: GetResource, ReleaseResource
- Cấu trúc ResourceType và TaskPriority kết hợp
Thực hành
- Task 1 và Task 2 chia sẻ biến toàn cục, có và không có resource bảo vệ
Bài 10 : IOC – Inter OS Communication
Lý thuyết
- Mô hình truyền dữ liệu giữa các task
- IOC_1_1, IOC_N_1, IOC_1_N
- API: IocSend, IocReceive, IocReceiveGroup
- Notification và flag đồng bộ
Thực hành
- Task sensor gửi giá trị ADC cho task xử lý hiển thị
Bài 11 : OSApplication, TrustedFunction
Lý thuyết
- Phân vùng logic: OSAppID, quyền gọi API
- TrustedFunction: chỉ cho phép ứng dụng đáng tin cậy sử dụng
- API: CallTrustedFunction
Thực hành
- Task chỉ định mới có quyền ghi log hoặc điều khiển LED nguy hiểm
Bài 12 : OS Shutdown và Reset
Lý thuyết
- API: ShutdownOS, StartOS, RestartOS
- Gọi từ task khi xảy ra lỗi nghiêm trọng
- Hook: ShutdownHook xử lý lưu trạng thái
Thực hành
- Nếu task bị lỗi → system shutdown
PHẦN 2: PROJECT CUỐI KHÓA
Đề tài: Xây dựng OS điều khiển đồng hồ tốc độ xe máy điện
Chức năng:
- Mô phỏng ECU đồng hồ xe điện: hiển thị tốc độ, pin, chế độ
- Task đọc tốc độ (Sensor), pin (ADC), chế độ (nút/UART)
- Task hiển thị UART: Dashboard (Tốc độ / Pin / Mode)
- Schedule Table cấu hình theo chu kỳ
- LED cảnh báo pin thấp / TF log sự kiện
Tổ chức OS
Thành phần | Mô tả chức năng |
Task_SpeedSensor | Mô phỏng đọc cảm biến tốc độ (tick counter hoặc interrupt counter) |
Task_BatterySensor | Mô phỏng đọc điện áp pin |
Task_ModeHandler | Đọc nút nhấn/UART để thay đổi chế độ lái |
Task_Display | Gửi UART thông tin: tốc độ, pin, mode (5Hz) |
Task_WarningHandler | Nếu pin thấp < 30% → gửi cảnh báo (bằng LED hoặc UART) |
Lập lịch thời gian:
- SpeedSensor: mỗi 200ms
- BatterySensor: mỗi 500ms
- Display: mỗi 200ms
- WarningHandler: mỗi 1s
- ModeHandler: chờ sự kiện (nút/UART)
Kết quả đầu ra:
- Log UART: “Speed: 35 km/h | Battery: 78% | Mode: Normal”
- Thay đổi Mode bằng UART / Button
- Hiển thị mỗi 200ms qua UART