RTOS và ngắt

Một phần của tài liệu Phân tích, thiết kế phần mềm nhúng (Trang 56)

Ngắt bắt đầu với các tín hiệu từ phần cứng, hầu hết các chip vào ra điều khiển cổng tuần tự hoặc giao tiếp mạng cần sự chú ý của CPU lúc có một sự kiện xảy ra. Khi một ngắt xuất hiện, bộ xử lý sẽ xử lý ngắt đó, lưu lại địa chỉ trả về và điều khiển hàm dịch vụ ngắt. Giả sử khi một tác vụ đang thực thi thì ngắt xuất hiện, địa chỉ trả về được lưu vào ngăn xếp của tác vụ. Một RTOS thường có những dịch vụ nhân đặc biệt cho ngắt. Khi hàm dịch vụ ngắt có quyền điều khiển nó có thể thực hiện những dịch vụ đặc biệt này. RTOS thường cung cấp ít nhất ba loại dịch vụ cho ISR. Dịch vụ đầu tiên, mục vào của ngắt cho phép hàm dịch vụ ngắt thông báo cho RTOS biết là ngắt đã xảy ra. Hàm mục vào ngắt có thể lưu lại ngữ cảnh của bộ xử lý hoặc những thông tin khác được cung cấp bởi các nhà sản xuất RTOS. Dịch vụ ISR thứ hai là để yêu cầu đặt một semaphore. Dịch vụ thứ ba là một lời gọi thoát khỏi dịch vụ, nó sẽ thông báo cho RTOS biết khi thủ tục ngắt hoàn thành nhiệm vụ.

phép sự trở lại. Ví dụ nếu một ngắt xảy ra trong khi RTOS đang thực hiện và ISR cố gắng sử dụng chức năng RTOS đang thực hiện thì sẽ sinh ra lỗi.

Khi ISR thoát (thông qua RTOS), RTOS có thể thực hiện việc chuyển tác vụ, dành quyền điều khiển cho tác vụ khác có mức ưu tiên cao hơn tác vụ mà đã bị ngắt.

Một phần của tài liệu Phân tích, thiết kế phần mềm nhúng (Trang 56)

Tải bản đầy đủ (PDF)

(84 trang)