1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

LẬP TRÌNH HỆ THỐNG LAB 4

15 556 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 437,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Làm việc với hệ điều hành thời gian thực (FreeRTOS). Sử dụng Bộ lập lịch (Scheduler) theo thuật toán Preemptive Sử dụng ADC đo nhiệt độ, nồng độ cacbon, độ mặn. A realtime 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.

Trang 1

LẬP TRÌNH HỆ THỐNG

Đại Học Bách Khoa Đà Nẵng- Khoa Điện tử Viễn thông

Trang 2

LẬP TRÌNH HỆ THỐNG

LAB 4

2

Trang 3

YÊU CẦU MỚI

Làm việc với hệ điều hành thời gian thực

(FreeRTOS).

Sử dụng Bộ lập lịch (Scheduler) theo thuật toán

Preemptive

Sử dụng ADC đo nhiệt độ, nồng độ cacbon, độ

mặn.

3

Trang 4

(C) Copyright 2001, Chris Ling

Hệ điều hành FreeRTOS

✔ Định Nghĩa:

– 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.

Trang 5

(C) Copyright 2001, Chris Ling

Hệ điều hành FreeRTOS

✔ Chức năng:

• Lập lịch theo mức độ ưu tiên

• Quản lý truyền thông và đồng bộ giữa các Tác vụ hoặc giữa

Task và Interrupt

• Phân phối bộ nhớ động.

• Quản lý các thiết bị vào ra.

Trang 6

(C) Copyright 2001, Chris Ling

Ưu điểm của FreeRTOS

• FreeRTOS có mã nguồn mở, lõi có thể tải miễn phí phù FreeRTOS có

hợp với những hệ nhúng thời gian thực nhỏ

• Hầu hết các code được viết bằng ngôn ngữ C nên nó có

tính phù hợp cao với nhiều nền khác nhau

 Dung lượng nhỏ và có thể chạy trên những nền mà nhiều

hệ không chạy được

Trang 7

(C) Copyright 2001, Chris Ling

Hệ điều hành FreeRTOS

✔ Task gồm có: tên, chức năng, giá trị ưu tiên, độ sâu stack, task handle (như kiểu cái móc để tác động), biến đầu vào

✔ FreeRTOS cung cấp các API có sẵn để quản lý tác vụ như

là tạo tác vụ (vTaskCreate()), hủy tác vụ (vTaskDelete())

Trang 8

(C) Copyright 2001, Chris Ling

TASK

Trang 9

(C) Copyright 2001, Chris Ling

TASK

Running: Với ý nghĩa bộ xử lý đang thực hiện tác vụ

Với một bộ xử lý thì chúng ta chỉ chạy một tác vụ tại một thời điểm nhất định

Ready: Với ý nghĩa một số tác vụ khác sẵn sàng chạy nếu

bộ xử lý rỗi

Blocked: Với ý nghĩa tác vụ không sẵn sàng chạy kể cả

khi bộ xử lý trong trạng thái nghỉ - Idle Tác vụ ở trong trạng thái này vì chúng đợi một sự kiện bên ngoài tác

động để kích hoạt nó trở lại trạng thái sẵn sàng

Trang 10

(C) Copyright 2001, Chris Ling

TASK

portBASE_TYPE xTaskCreate( pdTASK_CODE pvTaskCode,

const signed portCHAR * const pcName, unsigned portSHORT usStackDepth, void *pvParameters,

unsigned portBASE_TYPE uxPriority, xTaskHandle *pxCreatedTask

);

void vTaskDelete( xTaskHandle pxTask );

Trang 11

(C) Copyright 2001, Chris Ling

Scheduling

Trang 12

12

Trang 13

(C) Copyright 2001, Chris Ling

USE CASE

Trang 14

(C) Copyright 2001, Chris Ling

CLASS DIAGRAM

Trang 15

THANK

YOU

Ngày đăng: 24/12/2015, 00:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w