1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình hệ nhúng: Chương 5 - Phạm Ngọc Hưng

12 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 621,11 KB

Nội dung

Bài giảng Lập trình hệ nhúng - Chương 5: Lập trình device driver trình bày các nội dung: Giới thiệu về Kernel Module, cơ chế xây dựng Device Driver, tìm hiểu, tùy chỉnh một số driver đã có, xây dựng usb device driver. Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên Công nghệ thông tin dùng làm tài liệu học tập và nghiên cứu.

Chương Lập trình device driver Lập trình nhúng ARM-Linux 150 Nội dung 5.1 Giới thiệu Kernel Module 5.2 Cơ chế x}y dựng Device Driver 5.3 Tìm hiểu, tùy chỉnh số driver đ~ có 5.4 X}y dựng usb device driver Lập trình nhúng ARM-Linux 151 5.1 Kernel Module  Hoạt động Kernel Space, truy xuất tới c|c t{i nguyên hệ thống  Kernel Module cho phép thêm c|c 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  Kernel Module l{ chế hữu hiệu để ph|t triển c|c device driver  Xem danh s|ch c|c module chạy: lsmod Lập trình nhúng ARM-Linux 152 Kernel Module  C|c bước để thêm kernel module v{o hệ thống • Viết m~ nguồn: sử dụng c|c thư viện cung cấp kernel, không sử dụng c|c thư viện bên ngồi • 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 Lập trình nhúng ARM-Linux 153 Mã nguồn kernel Module Lập trình nhúng ARM-Linux 154 Kernel Module Makefile obj-m += hello.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean Lập trình nhúng ARM-Linux 155 Liên kết Kernel Module Lập trình nhúng ARM-Linux 156 5.2 Device Driver  Thêm c|c 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 • 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 mknod [options] NAME Type [Major Minor] Lập trình nhúng ARM-Linux 157 Ví dụ: Hello Driver Lập trình nhúng ARM-Linux 158 Demo Lập trình nhúng ARM-Linux 159 Ví dụ  Ví dụ 1: Chỉnh sửa driver sẵn có • Chỉnh sửa driver điều khiển led, bổ sung thêm hàm write để điều khiển trực tiếp tất c|c led đơn KIT  Ví dụ 2: Tạo driver theo chế kernel module Lập trình nhúng ARM-Linux 160 Thảo luận Lập trình nhúng ARM-Linux 161 ... M=$(PWD) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean Lập trình nhúng ARM-Linux 155 Liên kết Kernel Module Lập trình nhúng ARM-Linux 156 5. 2 Device Driver  Thêm c|c... mknod [options] NAME Type [Major Minor] Lập trình nhúng ARM-Linux 157 Ví dụ: Hello Driver Lập trình nhúng ARM-Linux 158 Demo Lập trình nhúng ARM-Linux 159 Ví dụ  Ví dụ 1: Chỉnh sửa driver sẵn... System Log Viewer Lập trình nhúng ARM-Linux 153 Mã nguồn kernel Module Lập trình nhúng ARM-Linux 154 Kernel Module Makefile obj-m += hello.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD)

Ngày đăng: 08/05/2021, 19:17