Bài giảng môn học Lập trình hệ nhúng - Chương 5: Lập trình Device Driver trên Linux - Phạm Văn Thuận
Thêm các device driver theo cơ chế sử dụng
Kernel Module
§ Các thao tác thêm driver vào hệ thống
• Viết mã nguồn (cấu trúc tương tự kernel Module).
Đăng ký Major ID
Lập trình hệ nhúng
• Biên dịch mã nguồn
• Cài đặt sử dụng lệnh insmod
• Sử dụng lệnh mknod để tạo device file trong /dev
mknod [options] NAME Type [Major Minor]
6 trang |
Chia sẻ: huongthu9 | Lượt xem: 546 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bài giảng môn học Lập trình hệ nhúng - Chương 5: Lập trình Device Driver trên Linux - Phạm Văn Thuận, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Chương 5. Lập trình Device Driver trên Linux
5.1. Kernel module
5.2. Device driver
Lập trình hệ nhúng 89
5.1. Kernel Module
§ Hoạt động trên Kernel Space, có thể truy xuất tới
các tài nguyên của hệ thống
§ Kernel Module cho phép thêm mới các module
một cách linh hoạt, tránh việc phải biên dịch lại
nhân hệ điều hành
Lập trình hệ nhúng
§ Kernel Module là cơ chế hữu hiệu để phát triển
các device driver
§ Xem danh sạch các module đang chạy: psmod
90
Kernel Module
§ Các bước để thêm một kernel module vào hệ
thống
• Viết mã nguồn: chỉ sử dụng các thư viện được
cung cấp bởi kernel, không sử dụng được các
thư viện bên ngoài
Lập trình hệ nhúng
• Biên dịch mã nguồn module
• Cài đặt module: dùng lệnh insmod
Tên_Module.ko
• Gỡ module: dùng lệnh rmmod Tên_Module
• Xem các thông tin log: sử dụng System Log
Viewer
91
Mã nguồn kernel Module
Lập trình hệ nhúng 92
Kernel Module Makefile
obj-m += hello.o
all:
make -C /lib/modules/$(shell uname -r)/build
M=$(PWD) modules
clean:
Lập trình hệ nhúng
make -C /lib/modules/$(shell uname -r)/build
M=$(PWD) clean
93
5.2. Device Driver
§ Thêm các device driver theo cơ chế sử dụng
Kernel Module
§ Các thao tác thêm driver vào hệ thống
• Viết mã nguồn (cấu trúc tương tự kernel Module).
Đăng ký Major ID
Lập trình hệ nhúng
• Biên dịch mã nguồn
• Cài đặt sử dụng lệnh insmod
• Sử dụng lệnh mknod để tạo device file trong /dev
mknod [options] NAME Type [Major Minor]
94
Các file đính kèm theo tài liệu này:
- bai_giang_mon_hoc_lap_trinh_he_nhung_chuong_5_lap_trinh_devi.pdf