- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一次写LinuxDriver就上手-RSWiki
Lab 10 Linux Drivers
實驗目的
利用 Linux 來建立Embedded system已經是非常常見的應用。在不同的系統
應用上面經常會有不同的硬體如 LCD 、Key Pad 等,必須透過不同的I/O操作才
能夠控制。通常這些必須直接與硬體溝通的程式,都會寫成 driver的型態載入
作業系統。透過該 driver提供一組標準的介面存取硬體,如此使用者的程式便
不需要直接與硬體溝通,當更換了不同的硬體,也只需載入不同的driver ,不
用重寫上層的應用程式,也就是說 driver 為 kernel space和 user space間的
interface。本章的目的是讓大家對driver能夠有一個初步的認識,並且用簡單
的例子描述一個基本的 driver如何撰寫。在讀完本章之後,便能具備設計和修
改 driver的基本功力了。
實驗器材
PC x 1
Requirement: any modern PC will do.
Purpose: To work as a host workstation on which we will run Linux to
create and build a customized driver.
實驗所需軟體
PC
Linux
Editor (such as vi and emacs)
gcc compiler
Table of Contents
1.簡介 3
2. 如何寫一個 driver 4
3. 使用你的 driver 10
4. 和 I/O溝通 11
第一次寫 Linux Driver就上手
1.簡介
Linux 將driver 分為三種型態,分別是字元、區塊和網路設備,本章將以最
常用的字元裝置當作例子 。一般而言字元裝置可當作一般檔案存取,包含基本的
open 、close 、I/O control 、read和 write 。在 driver的基本架構中,我們首先向
系統註冊一個driver ,再向系統註冊我們所提供的open 、close 、read和 write
的服務即可。 我們將這幾項服務列成event 來看,並且一步步引導大家來實踐這
些event 。
Initial module
當 driver被載入之後第一個被呼叫的 函式,類似一般C語言中的 main
function ,在此function中向系統註冊為字元 device和所提供的服務
Open device
當我們的 device被 fopen 之類的函式開啟時所執行的對應處理 函式
Close device
使用者程式關閉我們的 device時執行的對應處理 函式
I/O control
使用者可透過 ioctl命令設定 device的一些參數
Read device
當程式從我們的 device讀取資料時對應的處理 函式
Write device
當程式對我們的 device寫入資料時對應的處理 函式
Remove module
當 driver被移除時所執行的處理函式 ,必須對系統取消註冊device
2. 如何寫一個 driver
建立一個基本的 driver
最簡單的 driver 架構非常簡單,只需要兩行:
demo.c
#include linux/module.h
MODULE_LICENSE(Dual BSD/GPL);
Makefile如下 :
CC=arm-unknown-linux-gnu-gcc
# 與編kernel image 時用的cross compiler 相同
obj-m := demo.o
all:
make -C /[PATH]/pxa270/linux M=$(PWD) modules
clean:
make -C /[PATH]/pxa270/linux M=$(PWD) clean
Compi
您可能关注的文档
最近下载
- ISO22716化妆品良好生产规范认证实施规则.PDF
- 通桥(2018)5401-03高速铁路钢筋混凝土框架箱涵.pdf
- 哪吒2作文素材整理.docx VIP
- 2025春新教材部编版一年级语文下册全册PPT课件.pptx
- 2024年道路运输企业安全生产管理人员考试题库及答案.docx
- 2025年高考作文热点素材:火爆的《哪吒2》金句+主题运用+试题+范文+素材扩展.docx VIP
- 高考作文热点素材:《哪吒》(干货).pdf VIP
- 2025届高考语文复习:信息类文本阅读 课件(共104张PPT).pptx VIP
- 2024年中国过氧化钠市场调查研究报告.docx
- 铜管表冷器设计计算书.xls VIP
文档评论(0)