Xây dựng hệ thống nhúng (phần 3) - Pdf 19

XÂY DỰNG
HỆ THỐNG NHÚNG
CƠ BẢN
GV: Nguyễn Ngọc Tú
Email:
Bài 03: Các thành phần phần mềm hệ thống nhúng
NNTu
Hệ Thống Nhúng (Spring 2008)
2
Nội dung
 Trình điều khiển thiết bị
 Hệ điều hành nhúng
 Middleware và các phần mềm ứng dụng
NNTu
Hệ Thống Nhúng (Spring 2008)
3
Trình Điều khiển thiết bị
 Phần cứng yêu cầu một số kiểu khởi động và
quản lý
 Giao tiếp trực tiếp và điều khiển thiết bị
 Thuộc lớp phần mềm hệ thống
ªThư viện phần mềm
 Khởi động phần cứng
 Quản lý truy xuất phần cứng từ các lớp cao hơn
NNTu
Hệ Thống Nhúng (Spring 2008)
4
Trình Điều khiển thiết bị
 Nằm giữa phần cứng và OS, MW, lớp ứng
dụng
Phần cứng

 Kiến trúc tổng quát
NNTu
Hệ Thống Nhúng (Spring 2008)
7
Trình Điều khiển thiết bị
 Kiến trúc tổng quát
 Quản lý phần cứng tích hợp vào bo mạch
 Các phần kiến trúc đặc biệt theo mã tùy thuộc vào BXL
(CPU) do mọi xử lý đều thông qua CPU
 Quản lý bo mạch: không phụ thuộc vào BXL cụ thể nào
Æ có thể cấu hình cho các kiến trúc khác nhau
 Bao gồm mã khởi tạo và quản lý tới các thành phần
khác của bo mạch:
 BUS của bo: I2C, PCI, PCMCIA, …
 Bộ nhớ ngoài chip: trình điều khiển, cache mức 2, Flash, …
 I/O ngoài: Ethernet, RS-232, hiển thị, chuột, ….
NNTu
Hệ Thống Nhúng (Spring 2008)
8
Trình Điều khiển thiết bị
Phần cứng
Phần hệ thống
Phần mềm Ứng dụng
Trình ĐK Tổng quát
I/O
Trình ĐK Đặc biệt
BUS MEM Khác
RS232
I/O
SCI

Trình Điều khiển thiết bị
 3 trạng thái mà phần cứng có thể tồn tại
 không hoạt động (inactive)
 Thiếu kết nối (disconnect): cần cài đặt
 Không có nguồn: cần khởi động
 Ẩn (disable): cần cho phép hoạt động (enable)
 Bận (busy)
 Đang bận xử lý vài kiểu dữ liệu
 Yêu cầu vài kiểu, cơ chế “giải phóng”
 Kết thúc thực hiện (finished)
 Trạng thái đã kết thúc các công việc. Đang rảnh
 Cho phép: khóa, đọc, ghi,…
NNTu
Hệ Thống Nhúng (Spring 2008)
11
Phần hệ thống
Phần điều khiển thiết bị
Trình Điều khiển thiết bị
 Giao tiếp trực tiếp với phần cứng và mức cao
Phần cứng
Phần mềm Ứng dụng
Giao tiếp thiết bị
Giao tiếp mức cao
Giao tiếp thiết bị
Giao tiếp mức cao
NNTu
Hệ Thống Nhúng (Spring 2008)
12
Trình Điều khiển thiết bị
 Phụ thuộc BXL chính, các kiểu khác nhau

 thiết bị phần cứng ngoài, reset, lỗi nguồn, …
 Đồng bộ:
 Hoạt động liên quan tới chỉ thị lệnh: lệnh gọi hệ thống, lệnh
phạm luật, …
 Ngắt:
 Nguyên nhân BXL chính dừng thực thi luồng chỉ thị hiện
hành và bắt đầu tiến trình xử lý ngắt
NNTu
Hệ Thống Nhúng (Spring 2008)
16
Xử lý ngắt: các tác vụ
 Các phần mềm xử lý ngắt và cơ chế xử lý ngắt cứng, bao gồm
trình điều khiển có ít nhất 4 tác vụ trong các hoạt đ6ọng sau
 Khởi động xử lý ngắt (Startup)
 Khởi tạo phần cứng ngắt qua mở nguồn, reset: điều khiển ngắt, bật
ngắt, …
 Kết thúc (Shutdown)
 Cấu hình phần cứng ngắt khi tắt nguồn
 Ẩn xử lý ngắt
 Cho phép phần mềm “cấm” hoạt động xử lý ngắt. Ngoại trừ các ngắt
NMI (Non-Maskable Interrupts)
 Cho phép ngắt
 Cho phép hoạt động trở lại xử lý ngắt đã ẩn
 “Bảo dưỡng” bộ ngắt (Servicing)
 Nội tại mã xử lý ngắt được thực thi sau khi gián đoạn luồng thực thi
chính Æ tăng tính phức tạp, các khả trình lồng vào nhau
NNTu
Hệ Thống Nhúng (Spring 2008)
17
Xử lý ngắt: các tác vụ

 Khi xử lý ngắt mức cao hơn, các ngắt khác bị
“che”
 non-maskable interrupt (NMI)
NNTu
Hệ Thống Nhúng (Spring 2008)
21
Xử lý ngắt: Chuyển ngữ cảnh
 Khi ngắt xảy ra
 Dừng chương trình hiện thời
 Chuyển sang thực thi “interrupt service routine
(ISR)”hay bộ xử lý ngắt
 Ngắn, nhanh
 Các dịch vụ cho trình điều khiển
 enabling/disabling
 locking/unlocking
NNTu
Hệ Thống Nhúng (Spring 2008)
22
Xử lý ngắt: ví dụ
 [1] p323
NNTu
Hệ Thống Nhúng (Spring 2008)
23
Trình Điều khiển: thiết bị nhớ
 Các thao tác
 Ví dụ quản lý
 Khởi tạo điều khiển – kết nối
 Khởi tạo ánh xạ
 Khởi tạo MMU
NNTu


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status