Thêm một driver đơn giản

Một phần của tài liệu Thiết kế hệ thống hiển thị video trên bảng LED đa sắc – hỗ trợ Flash USB, thẻ nhớ SD và giao tiếp Ethernet (Trang 55 - 57)

1. Nội dung thiết kế tốt nghiệp:

3.4.3 Thêm một driver đơn giản

Trước tiên, ta tìm hiểu về cách thêm một driver đơn giản vào kernel. VD: driver hello3 in một chuỗi ra màn hình khi khởi động. Quá trình thêm driver gồm các bước như sau:

 Đầu tiên ta tạo một file nios2-linux/linux-2.6/drivers/misc/hello3.c với nội dung in một chuỗi ra màn hình terminal.

56

 Ta thêm các dòng sau vào file drivers/misc/Kconfig trước dòng “#endif” để hiển thị module này trong menuconfig.

config HELLO3

tristate "testmodule programming" help

Test module programming

Để hướng dẫn trình make khi biên dịch, ta thêm dòng sau vào Makefile chỉ đến file thực thi của module hello3.

obj-$(CONFIG_HELLO3) += hello3.o

 Biên dịch module vừa thêm vào có hai lựa chọn:

 Module khởi động ngay sau khi boot linux:

Module hello3 chúng ta vừa thêm vào sẽ hiển thị trong menuconfig như mô tả trên Hình 3.10.

Hình 3.10 Cách lựa chọn biên dịch module hello3

Sau khi biên dịch lại kernel, nạp file zImage xuống kit, module được thêm vào sẽ khởi động trong quá trình boot, chuỗi“in ra man hinh dong hello3” được in ra như trên Hình 3.11.

57

Hình 3.11 Kết quả thêm module hello3

 Người dùng có thể load/unload module

Trong kernel selection, chúng ta chọn như sau:

Loadable module support -->

[*] Enable loadable module support [*] Module unloading

Device Drivers --> Misc devices --->

<M> example hello module

Sau khi thực hiện lệnh make, module (hello3.ko) sẽ được thêm vào romfs/lib/modules/2.6.30/kernel/drivers/misc và trở thành một driver của kernel. Khi khởi động, module sẽ không tự động chạy cùng với kernel. Người dùng có thể tùy chọn load/unload module bằng cách sử dụng lệnh:

modprobe hello3

Kết quả lệnh trên là chuỗi “Hello, world" sẽ được in ra màn hình terminal . [10]

Một phần của tài liệu Thiết kế hệ thống hiển thị video trên bảng LED đa sắc – hỗ trợ Flash USB, thẻ nhớ SD và giao tiếp Ethernet (Trang 55 - 57)

Tải bản đầy đủ (PDF)

(118 trang)