đồ án công nghệ thông tin USB driver trên hệ điều hành Linux Red Hat

78 485 2
đồ án công nghệ thông tin USB driver trên hệ điều hành Linux Red Hat

Đ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

Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat LỜI CẢM ƠN Quãng thời gian sinh viên đại học không phải là dài nhưng là một thời gian sâu sắc và quan trọng trong mỗi chúng ta. Trong quãng thời gian sinh viên của mình, em đã nhận được sự dạy dỗ, chỉ bảo tận tình của các thầy, các cô các cán bộ khoa học kỹ thuật trong trường đại học Bách Khoa Hà Nội. Khoảng thời gian đó đã cho em những kiến thức chuyên môn cũng như phương pháp làm việc khoa học. Cùng với sự động viên giúp đỡ của gia đình, các anh chị đồng nghiệp, bạn bè, giờ đây em đã hoàn thành đồ án tót nghiệp đại học. Nhân dịp này em xin được gửi lời cảm ơn tới tất cả các thầy, các cô đã dạy dỗ chỉ bảo cho em trong suốt thời gian vừa qua. Em xin cảm ơn các thầy, các cô trong khoa Công nghệ Thông tin, những người đã cho em những kiến thức quý báu, dìu dắt em những bước đầu tiên trong nghề nghiệp. Em xin cảm ơn các thầy, các cô trpng bộ môn Công nghệ Phần mềm, đặc biệt là thầy Nguyễn Ngọc Bình. Thầy đã nhiệt tình giúp đỡ và tạo mọi điều kiện, chỉ bảo và hướng dẫn từng bước đi để em có thể hoàn thành đồ án tôt nghiệp này. Tôi xin được gửi lời cảm ơn chân thành tới công ty phần mềm FSOFT đã tạo mọi điều kiện để tôi có thể hoàn thành đồ án tot nghiệp này, đặc biệt là các anh Trần Xuân Khôi, Nguyễn Đức Quỳnh đã nhiệt tình chỉ bảo, hướng dẫn. Cảm ơn các bạn đồng nghiệp đã giúp đỡ, động viên và đóng góp các ý kiến quý báu trong thời gian tôi thực hiện đồ án. Cuối cùng, tôi xin được gửi lời cảm ơn sâu sắc tới bố mẹ và gia đình, những người thân đã hết sức động viên, cổ vũ, giúp đõ tôi về vật chất cũng như tinh thần để tôi có thể hồan thành đồ án tốt nghiệp này Phạm Tuấn Minh Tháng 5 – Năm 2004 Phạm Tuấn Minh – CNPM – K44 – CNTT – DHBKHN 1 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat LỜI NÓI ĐẦU Ngày nay, sự phát triển nhanh chóng của Công Nghệ Thông Tin cùng với các ứng dụng của nó tác động mãnh mẽ đến mọi lĩnh vực của đời sống kinh tế xã hội, nhu cầu của con người cũng ngày càng trở nên phức tạp. Trong bối cảnh ấy, máy tính ngày càng được sử dụng trong nhiều ứng dụng khác nhau… Với mục đích hiểu sâu thêm về hệ điều hành nguồn mở Linux và quá trình giao tiếp giữa thiết bị phần cứng với phần mềm, quá trình xây dựng một driver được sự giới thiệu của anh Nguyễn Đức Quỳnh ở công ty phần mềm FPT-SOFT và giúp đỡ tận tình của thầy giáo tiến sỹ Nguyễn Ngọc Bình, em đã lựa chọn đề tài: “USB driver trên hệ điều hành Linux Red Hat ” Trong đò án tốt nghiệp này, em đi vào nghiên cứu các vấn đề về kiến trúc bus USB, USB driver trên hệ điều hành Linux. Đồ án được chia thành 6 chương và ba phụ lục Chương 1. Giới thiệu kiến trúc bus USB Chương 2. Hệ điều hành Linux & LinuxKernel Chương 3. Một số vấn đề khi phát triển driver Chương 4. Linux Driver Chương 5. USB driver cho flash memmory Chương 6. Tổng kết Phụ lục A. Các thuật ngữ Phụ lục B. Mô tả các hàm dùng trong USB driver cho flash memmory Phụ lục C. Các tài liệu tham khảo Phạm Tuấn Minh – CNPM – K44 – CNTT – DHBKHN 2 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat MỤC LỤC CHƯƠNG 1. GIỚI THIỆU KIẾN TRÚC BUS USB……………………-6- 1.1. GIỚI THIỆU CHUNG VỀ USB…………….……………………… 6- 1.2. CÁC ĐẶC ĐIỂM CỦA USB…………….…………………… … 6- 1.3. SƠ LƯỢC VỀ KIẾN TRÚC BUS USB….………………… … 8- 1.3.1. USB interconnect……………… …………….…… … 8- 1.3.2. Bus Topology……………… …………… ….…… … 9- 1.3.3. USB host……………… …………….…………… … 9- 1.3.4. USB Devices……………… …………….…… ……… 9- 1.3.5. Quan hệ giữa USB devices và USB host .…….…… … 10- 1.3.6. Physical Interface……………… …………….…… … 11- 1.3.7. Bus Protocol……………… …………….…… … 12- 1.3.8. Các loại luồng điều khiển …… …………….…… … 13- 1.3.9. Cấu hình hệ thống……………… …………….…… … 13- 1.3.10. USB là một bus robustness………………….…… … 13- 1.3.11. Các trạng thái của device …… …………….…… … 14- CHƯƠNG 2. HỆ ĐIỀU HÀNH LINUX & LINUX KERNEL 16- 2.1. LỊCH SỬ RA ĐỜI HỆ ĐIỀU HÀNH LINUX……………… …… 16- 2.2. CÁC ĐẶC ĐIỂM CƠ BẢN……………… ……………… 17- 2.3. QUẢN LÝ FILE ……………… …………….……… … 20- 2.4. QUẢN LÝ TIẾN TRÌNH………………….…….…… … 25- 2.5. QUẢN LÝ BỘ NHỚ……………… …………….…… … 34- 2.6. LINUX KERNEL……………… …………….…… … 38- Phạm Tuấn Minh – CNPM – K44 – CNTT – DHBKHN 3 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat CHƯƠNG 3. MỘT SỐ VẤN ĐỀ KHI PHÁT TRIỂNDRIVER 40- 3.1. DRIVER LÀ GÌ………… ……… …………….…… … 40- 3.2. CÁC KHÓ KHĂN KHI PHÁT TRIỂN DRIVER……………… 40- 3.3. QUÁ TRÌNH PHÁT TRIỂN DRIVER ………….…… … 40- 3.3. GIỚI THIỆU VỀ LINUX DRIVER …………….…… … 41- CHƯƠNG 4. USB DRIVER……………… …………….…… … 43- 4.1. THIẾT BỊ KÝ TỰ VÀ THIẾT BỊ KHỐI……………… ………… 43- 4.1.1. Thiết bị ký tự……………… …………….…… … 43- 4.1.2. Thiết bị khối……………… …………….…… … 43- 4.2. POLLING & INTERUPTS…………………….…… … 44- 4.2.1. Polling mode……………… …………….…… … 44- 4.2.2. Interrupt mode……………… …………….…… … 45- 4.2.3. Interrupt sharing……………… …………….…… … 46- 4.2.4. Bottom halvels……………… …………….…… … 46- 4.2.5. Task queues……………… …………….…… … 46- 4.2.6. DMA mode……………… …………….…… … 46- 4.3. USB TOPOGY…………………….…………….…… … 47- 4.4. CÁC KIỂU LUỒNG ĐIỀU KHIỂN……………… …………… 47- 4.5. CẤU HÌNH THIÊT BỊ ……………… …………….…… … 48- 4.6. CÁC YÊU CẦU USB……………… …………….…… … 55- CHƯƠNG 5. USB DRIVER CHO FLASH MEMORY……………… 57- 5.1. GIỚI THIỆU VỀ FLASH MEMMORY……………… … 57- 5.2. THUẬT TOÁN THỤC HIỆN TRÊN USB DRIVER CHO FLASH MEMMORY …………………………………………… …-57- Phạm Tuấn Minh – CNPM – K44 – CNTT – DHBKHN 4 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat 5.3. CÁC CẤU TRÚC DỮ LIỆU DÙNG TRÊN USB DRIVER CHO FLASH MEMMORY……….……… …………….…… … 59- CHƯƠNG 6. TỔNG KẾT……………… …………….…… … 64- 6.1. PHÁT TRIỂN DRIVER TRÊN HỆ ĐIỀU HÀNH MÃ NGUỒN ĐÓNG VÀ HỆ ĐIỀU HÀNH MÃ NGUỒN MỞ……….…….… 64- 6.2. TỔNG KẾT ……………… …………….…… … 64- Phụ lục A. Các thuật ngữ Phụ lục B. Một số hàm cung cấp bởi kernel cho USB flash memmory driver Phụ lục C. Các tài liệu tham khảo Phạm Tuấn Minh – CNPM – K44 – CNTT – DHBKHN 5 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat CHƯƠNG 1 GIỚI THIỆU VỀ KIẾN TRÚC BUS USB 1.1. GIỚI THIỆU CHUNG VỀ USB USB được xác định như một chuẩn công nghiệp mở rộng kiến trúc của PC tập trung ở Computer Telephony Integration (CTI), sự giao tiếp, và hiệu quả của ứng dụng. Một kiến trúc USB phải đáp ứng các tiêu chuẩn sau: - dễ sử dụng cho việc mở rộng các thiết bị PC - giá thành giảm và hỗ 12Mb/s - hỗ trợ đầy đủ thời gian thực cho các loại dữ liệu như : voice, audio, and compressed video - giao thức trao đổi mềm dẻo, hỗ trợ hỗn hợp cả giao thức đẳng thời và giao thức dị bộ - tích hợp với các công nghệ kỹ thuật nổi tiếng - hỗ trợ cho các cấu hình PC khác nhau và các thiết bị số - cung cấp giao tiếp chuẩn cho phép triển khai nhanh trên các sản phẩm - cho phép tham số hoá cho các loại PC khác nhau 1.2. CÁC ĐẶC ĐIỂM CỦA USB Các đặc trưng của USB cung cấp một sự lựa chọn các thuộc tính để đạt được các mức giá thành và hiệu năngn khác nhau. Sự tích hợp các điểm có thể cho phép các chức năng với các mức hệ thống và thanhg phần khác nhau Các đặc điểm được xếp theo các loại sau: + Dễ sử dụng cho người sử dụng cuối - Có một mẫu cho cáp và kết nối Phạm Tuấn Minh – CNPM – K44 – CNTT – DHBKHN 6 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat - Các mức chi tiết về nguồn điện được phân tách từ người sử dụng - Tự xác định các thiết bị, tự động kết nối với các hàm chức năng trong driver, và cấu hình - Kết nối động và cấu hình lại các thiết bị + Phạm vi rộng môi trường làm việc và ứng dụng - thích hợp cho các dải thông từ vài kb/s đến vài Mb/s - hỗ trợ cả truyền thông đồng bộ và dị bộ qua một loại dây - hỗ trợ xử lý tranh chấp (nhiều kết nối, nhiều thiết bị) - hỗ trợ tới 127 thiết bị kết vật lý kết nối đồng thời - hỗ trợ truyền thông đa luồng giữa máy tính (host) và các thiết bị - hỗ trợ các thiết bị phức hợp (một thiết bị phức hợp bao gồm nhiều chức năng) + Dải thông đồng bộ - đảm bảo dải thông và góc trễ thấp thích hợp cho telephony, audio, - dùng đồng bộ có thể sử dụng toần bộ dải thông bus + Mềm dẻo (Flexibility) - hỗ trợ rộng phạm vi kích thước của các gói, cho phép qua lựa chọn tỉ lệ bộ đệm - Cho phép phạm vi rộng các loại dữ liệu bằng cách điều chỉnh kích thước vùng đệm và góc trễ. - luồng điều khiển cho bộ đệm xử lý được xây dựng trong giao thức + Mạnh mẽ (Robustness) - kỹ thuật xử lý lỗi và khôi phục được xây dựng triong giao thức - thêm và tháo gỡ các thiết bị động tuỳ theo người sử dụng theo thời gian Phạm Tuấn Minh – CNPM – K44 – CNTT – DHBKHN 7 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat - hỗ trợ phát hiện lỗi của thiết bị + Đồng vận với công nghiệp PC (Synergy with PC industry) - giao thức dơn giản để thực hiện và tích hợp - thống nhất với kiến trúc PC plug-and-play - Cộng tác với một số hệ thống giao tiếp đã tồn tại + Giá thành thực hiện rẻ Low-cost implementation - giá thành rẻ với kênh phụ ở 1.5Mb/s - tối ưu cho tích hợp các thiết bị phần cứng với PC (host) - thích hợp cho phá triển các thiết bị giá thành rẻ - cáp và bộ phận kết nối giá thành rẻ - Sử dụng các công nghệ phổ biến 1.3. SƠ LƯỢC VỀ KIẾN TRÚC USB Một hệ thống USB được mô tả bao gồm ba phần chính : + USB interconnect + USB devices + USB host. 1.3.1 USB interconnect USB interconnect là cách thức mà USB devices và giao tiếp với host host. Bao gồm: + Bus Topology: Mô hình kết nối giữa USB devices và host. + Inter-layer Relationships: Là stack chứa các USB tasks được thực hiện ở từng lớp của hệ thống + Data Flow Models: Cách thức mà dữ liệu được chuyển trong hệ thống qua USB giữa các nhà sản xuất và người sử dụng. Phạm Tuấn Minh – CNPM – K44 – CNTT – DHBKHN 8 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat + USB Schedule: USB cung cấp một chia sẻ kết nối. Truy cập vào kết nối này được xác định với mục đích hỗ trợ truyền thông đồng bộ và loại trừ chi phí phân xử. 1.3.1. Bus Topology 1.3.2. USB host Bất kỳ hệ thống USB nào cũng chỉ có một host. Giao tiếp USB tới PC host được xác định thông qua Host Controller. Host Controller có thể được thực hiện nhờ sự kết hợp của phần cứng, vi chương trình, hay phần mềm . Một root hub được tích hợp với host system để cung cấp một hoặc hoặc một vài điểm truy cập. 1.3.3. USB Devices USB devices là một trong các loại sau: - Hubs cugn cấp một vài điểm truy cập tới USB Phạm Tuấn Minh – CNPM – K44 – CNTT – DHBKHN 9 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat - Các chức năng, cung cấp một vài khả năng cho hệ thống như kết nối ISDN , a digital joystick, hoặc speakers. USB devices đặt ra một chuẩn giao tiếp USB dưới dạng: - bao gồm giao thức USB của chúng - các trả lời cho các thao tác chuẩn USB của chúng như cấu hình và khởi tạo - Các thông tin mô tả khả năng của chúng. 1.3.4 Quan hệ giữa USB devices và USB host USB Host và USB Device là hai lớp đối lập giao tiếp với nhau Phạm Tuấn Minh – CNPM – K44 – CNTT – DHBKHN 10 [...]... trạng thái của device USB Phạm Tuấn Minh – CNPM – K44 – CNTT – DHBKHN 15 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat CHƯƠNG 2 HỆ ĐIỀU HÀNH LINUX & LINUX KERNEL 2.1 LỊCH SỬ RA ĐỜI HỆ ĐIỀU HÀNH LINUX Linux bắt nguồn từ một hệ điều hành lớn hơn có tên là UNIX Hệ điều hành UNIX được phát triển tại phòng thí nghiệm Bell của công ty AT&T vào khong năm 1969 Vào thời điểm đó, các máy tính thường.. .Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat 1.3.5 Physical Interface Giao tiếp vật lý của USB được mô tả bao gồm 2 phần - electrical - mechanical USB truyền tải tín hiệu và năng lượng thông qua 4 đường Phạm Tuấn Minh – CNPM – K44 – CNTT – DHBKHN 11 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat 1.3.6 Bus Protocol USB là một bus thăm dò Host Controller... UMLINUX - bin - users - dev user1 user2 (n ổ đĩa) Đối với Linux toàn bộ hệ thống tập tin chỉ có một root Có thể sử dụng lệnh mount để kết nối các ổ đĩa trong một hệ thống tập tin duy nhất Ổ1:/ LIB BIN USR Ổ 2: /- ETC Phạm Tuấn Minh – CNPM – K44 – CNTT – DHBKHN 19 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat ORACLE mount => /- LIB BIN USR- ETC - ORACLE Độc lập phần cứng Vì hệ điều hành. .. thực hiện lệnh kế khi lệnh trước đó đã được thực hiện xong Còn trong hệ điều hành LINUX bạn có thể đặt lệnh chạy ở chế độ nền (background) đồng thời khi đó có thể thực hiện các lệnh kế Phạm Tuấn Minh – CNPM – K44 – CNTT – DHBKHN 18 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat Tổ chức tập tin phân cấp Các tập tin của LINUX được tổ chức theo dạng cây có chung thư mục gốc được biểu diễn... đệm Hầu hết các pipes hình thành khi một USB device được cấu hình Một message pipe, Default Control Pipe được hình thành khi device được cugn cấp nguồn để cung cấp truy cập tới cấu hình thiết bị, trạng thái và thông tin điều khiển Phạm Tuấn Minh – CNPM – K44 – CNTT – DHBKHN 12 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat Các giao tác được lập lịch cho phép điều khiển một vài luồng pipes... CNTT – DHBKHN 16 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat phổ biến hệ điều hành này Tại trường đại học Berkeley (University of California at Berkeley) một phiên bản của UNIX được phát triển và trở thành một trong hai bản được phổ biến nhất có tên là BSD ( Berkeley Software Distribution) UNIX Bản kia do AT&T phát triển và được biết đến với tên UNIX System V Đầu tiên hệ UNIX được cài... USB driver trên hệ điều hành Linux Red Hat Hệ điều hành LINUX có một số đặc điểm sau: — Nhiều người sử dụng — Đa chương — Bảo mật — Độc lập phần cứng — Kết nối mở — Dùng chung thiết bị — Tổ chức tập tin phân cấp Nhiều người sử dụng: Nhiều người sử dụng có thể sử dụng máy tính có cài LINUX tại một thời điểm Ví dụ: LINUX Server: — User A: dùng Oracle — User B: chương trình biên dịch — User C: gửi thư Hệ. .. tìm thấy các thông tin này một cách dễ dàng nhưng nói cho mọi người biết mật khau của superuser sẽ làm thất bại toàn bộ sự bo vệ của hệ thống Phạm Tuấn Minh – CNPM – K44 – CNTT – DHBKHN 32 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat Thay vào đó LINUX có một bit liên kết với mỗi chương trình thi hành gọi là setuid bit SIGABRT Gửi để bỏ qua quá trình và SIGALRM Chuông đồng hồ tắt SIGFPE... đĩa mềm Khi có nhiều ổ đĩa thì một câu hỏi ny sinh là làm cách nào để điều khiển chúng Một giải pháp là dặt một file hệ thống bao gồm các thông tin về bản thân lên mỗi đĩa và giữ chúng riêng biệt Ví dụ được mô t bởi hình sau Phạm Tuấn Minh – CNPM – K44 – CNTT – DHBKHN 22 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat Ta thấy một đĩa cứng gọi là H và một đĩa mềm gọi là gọi là D Mỗi đĩa... trặc xảy ra + Điều khiển luồng cho luồng dữ liệu để đảm bảo đồng bộ hoá và quản lý bộ đệm phần cứng + Dữ liệu và điều khiển Pipe được xây dựng đảm bảo sự đọc lập từ sự tương tác giữa một vài chức năng va thiết bị khác nhau 1.3.10 Các trạng thái của device Phạm Tuấn Minh – CNPM – K44 – CNTT – DHBKHN 14 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat Các trạng thái của device USB Phạm Tuấn . tài: USB driver trên hệ điều hành Linux Red Hat ” Trong đò án tốt nghiệp này, em đi vào nghiên cứu các vấn đề về kiến trúc bus USB, USB driver trên hệ điều hành Linux. Đồ án được chia thành. 14 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux Red Hat Các trạng thái của device USB Phạm Tuấn Minh – CNPM – K44 – CNTT – DHBKHN 15 Đồ án tốt nghiệp USB driver trên hệ điều hành Linux. điều hành Linux Red Hat CHƯƠNG 2 HỆ ĐIỀU HÀNH LINUX & LINUX KERNEL 2.1. LỊCH SỬ RA ĐỜI HỆ ĐIỀU HÀNH LINUX Linux bắt nguồn từ một hệ điều hành lớn hơn có tên là UNIX . Hệ điều hành UNIX được

Ngày đăng: 24/04/2015, 22:13

Từ khóa liên quan

Mục lục

  • Chương 2. Hệ điều hành Linux & LinuxKernel

  • Chương 4. Linux Driver

  • MỤC LỤC

  • CHƯƠNG 1. GIỚI THIỆU KIẾN TRÚC BUS USB……………………-6-

  • 1.1. GIỚI THIỆU CHUNG VỀ USB…………….……………………….-6-

  • 1.2. CÁC ĐẶC ĐIỂM CỦA USB…………….……………………..…....-6-

  • 1.3. SƠ LƯỢC VỀ KIẾN TRÚC BUS USB….…………………..….......-8-

  • 1.3.1. USB interconnect………………..…………….……..…..............-8-

  • 1.3.2. Bus Topology………………..……………..….……..…..............-9-

  • 1.3.3. USB host………………..…………….……………...…..............-9-

  • 1.3.4. USB Devices………………..…………….……..……….............-9-

  • 1.3.5. Quan hệ giữa USB devices và USB host .…….……..…............-10-

  • 1.3.6. Physical Interface………………..…………….……..…............-11-

  • 1.3.7. Bus Protocol………………..…………….……..…....................-12-

  • 1.3.8. Các loại luồng điều khiển ……..…………….……..…...............-13-

  • 1.3.9. Cấu hình hệ thống………………..…………….……..…...........-13-

  • 1.3.10. USB là một bus robustness………………….……..…............-13-

  • 1.3.11. Các trạng thái của device ……..…………….……..….............-14-

  • CHƯƠNG 2. HỆ ĐIỀU HÀNH LINUX & LINUX KERNEL...............-16-

  • 2.1. LỊCH SỬ RA ĐỜI HỆ ĐIỀU HÀNH LINUX………………..…….-16-

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan