Bài giảng Lập trình hệ nhúng - Chương 5: Lập trình Device Driver trên Linux

§ 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

pdf 6 trang yennguyen 1360
Bạn đang xem tài liệu "Bài giảng Lập trình hệ nhúng - Chương 5: Lập trình Device Driver trên Linux", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Lập trình hệ nhúng - Chương 5: Lập trình Device Driver trên Linux

Bài giảng Lập trình hệ nhúng - Chương 5: Lập trình Device Driver trên Linux
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

File đính kèm:

  • pdfbai_giang_lap_trinh_he_nhung_chuong_5_lap_trinh_device_drive.pdf