Giới thiệu về hệ điều hành thời gian thực Chỉnh sửa Task startup hoạt động trên hệ điều hành FreeRTOS Sử dụng Bộ lập lịch (Scheduler) theo thuật toán Preemptive Làm việc với Interupt, ISR, Hardware Timing Function trên hệ điều hành FreeRTOS
Lab Learning Environment the Development – The Next Step Nguyễn Phương Nam Đặng Công Sơn Yêu cầu Giới thiệu hệ điều hành thời gian thực Chỉnh sửa Task startup hoạt động hệ điều hành FreeRTOS Sử dụng Bộ lập lịch (Scheduler) theo thuật toán Preemptive Làm việc với Interupt, ISR, Hardware Timing Function hệ điều hành FreeRTOS Hệ điều hành FreeRTOS Khái niệm: “A real-time system is one in which the correctness of the system depends not only on the logical results, but also on the time at which the results are produced” Một số chức bản: • • • • Lập lịch theo mức độ ưu tiên Quản lý truyền thông đồng Tác vụ Task Interrupt Phân phối nhớ động Quản lý thiết bị vào Hệ điều hành FreeRTOS Các loại hệ điều hành thời gian thực: Hard Real Time Operating Systems Các tác vụ không thực thi mà phải thời gian, không cho phép sai lệch thời gian Ví dụ: hệ thống điều khiển lượng ô tô, máy đo nhịp tim… Soft Real Time Operating Systems Cho phép sai lệch thời gian dung sai lỗi mức độ Ví dụ:phần mềm trì cập nhậtkế hoạch bay cho hãng hàng không thương mại, hệ thống truyền hình nghe nhạc trực tuyến, điều khiển máy giặt, Task FreeRTOS Task gồm có: tên, chức năng, giá trị ưu tiên, độ sâu stack, task handle (như kiểu móc để tác động), biến đầu vào FreeRTOS cung cấp API có sẵn để quản lý tác vụ tạo tác vụ (vTaskCreate()), hủy tác vụ (vTaskDelete()) Task FreeRTOS xTaskCreate void * TaskCreate (void(taskCode)(void *), char *name, int stackDepth, void *parameters, int priority, taskHandle *createdtaskPtr ) • • TaskCode : Name Pointer to đến hàm thưc cho Task : Tên mô tả cho Task ( dùng cho mục đích debug hệ thống).Chiều dài tối đa tên định nghĩa configMAX_TASK_NAME_LEN • • • • stackDepth: Là kích thước Stack đặc trưng cho số lượng biến mà Task quản lý Parameters: Pointer dử liệu sử dụng tham số việc tạo Task Priority : Độ ưu tiên Task : 0…5, thấp -cao CreatedTask: Pointer trỏ đến Task tạo Task Queue Sau Task Startup thực xong,các task lại đưa vào Queue theo thứ tự: Measure Compute Status Schedule Keypad Console Local Coms OLED display WarningAlarm Scheduling Đối với FreeRTOS,các Task có trạng thái: Running & Not running Scheduling Task priorities Các task quy định mức độ ưu tiên khác nhau.FreeRTOS dưa mức độ ưu tiên để định task thực hiện,được quyền sử dụng tài nguyên Khi có nhiều task độ ưu tiên hệ điều hành thực task luân phiên sau tick Task priorities Task priorities Task priorities Khi có nhiều task việc task thực trước FreeRTOS dựa theo preemtive DEMO [...]... priorities Các task sẽ được quy định mức độ ưu tiên khác nhau.FreeRTOS dưa trên mức độ ưu tiên đó để quyết định task nào thực hiện,được quyền sử dụng tài nguyên Khi có nhiều task cùng độ ưu tiên thì hệ điều hành sẽ thực hiện từng task luân phiên sau mỗi tick Task priorities Task priorities Task priorities Khi có nhiều task thì việc task nào thực hiện trước trên FreeRTOS dựa theo preemtive DEMO ...1 Yêu cầu Giới thiệu hệ điều hành thời gian thực Chỉnh sửa Task startup hoạt động hệ điều hành FreeRTOS Sử dụng Bộ lập lịch (Scheduler) theo thuật toán Preemptive... số chức bản: • • • • Lập lịch theo mức độ ưu tiên Quản lý truyền thông đồng Tác vụ Task Interrupt Phân phối nhớ động Quản lý thiết bị vào Hệ điều hành FreeRTOS Các loại hệ điều hành thời gian... (Scheduler) theo thuật toán Preemptive Làm việc với Interupt, ISR, Hardware Timing Function hệ điều hành FreeRTOS Hệ điều hành FreeRTOS Khái niệm: “A real-time system is one in which the correctness