§ 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.. nhân hệ điều hành[r]
(1)Chương Lập trình Device Driver Linux
(2)5.1 Kernel Module
§ Hoạt động Kernel Space, truy xuất tới tài nguyên hệ thống
§ Kernel Module cho phép thêm module cách linh hoạt, tránh việc phải biên dịch lại nhân hệ điều hành
nhân hệ điều hành
§ Kernel Module chế hữu hiệu để phát triển device driver
(3)Kernel Module
§ Các bước để thêm kernel module vào hệ thống
• Viết mã nguồn: sử dụng thư viện
cung cấp kernel, không sử dụng thư viện bên
thư viện bên
• Biên dịch mã nguồn module
• Cài đặt module: dùng lệnh insmod
(4)(5)Kernel Module Makefile
obj-m += hello.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean: clean:
(6)5.2 Device Driver
§ Thêm device driver theo 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 Đăng ký Major ID
• 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 /dev