嵌入式驱动程序开发.ppt

  • 格式:ppt
  • 大小:100.99 KB
  • 文档页数:6

下载文档原格式

  / 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

进入led目录 make 将生成的XSB_EDR_8LED.o和
XSB_EDR_8LED_test两个文件通过串口传输到开 发板上
mknod /dev/xsb_edr_8led c 60 1 insmod XSB_EDR_8LED.o ./XSB_EDR_8LED_test 实验结束,看到Led灯递减
主源自文库从设备号
按照设备使用的驱动程序不同而赋予设备不同的主设备号。主设备号是与驱动 程序一一对应的,
同时还使用次设备号来区分一种设备中的各个具体设备。次设备号用来区分使 用同一个驱动程序的个体设备。
新的设备驱动要有新的主设备号。Documentation /devices.txt中定义了所 有设备的主设备号。当自己建立新设备的时候不要与常用的设备好冲突。
请求 ◦ 检测和处理设备出现的错误。
设备驱动程序载入方式
◦ 直接编译进Linux内核,随同Linux启动时加载 ◦ 模块加载方式
内核模块
Kernel Module是
Linux系统启动之后能
够动态进行load,
insmod
unload的kernel的组成
要素。 因此不需对
kernel进行重新编译或
$ mknod /dev/hda1 b 127 1 $ ls –al /dev/hda1 $ brw-rw---- 1 root disk 3 1 Mar 25 12:00 /dev/hda1
设备驱动程序的功能:
◦ 对设备的初始化和释放 ◦ 在内核与硬件之间传输数据 ◦ 处理应用程序传送给设备文件的数据,并回应应用程序的
驱动程序结构
Linux设备驱动 字符设备 块设备 网络设备
设备文件
Linux抽象了对硬件的处理,所有的硬件设备都可以作为普通文件一样来看待:它 们可以使用和操作文件相同的、标准的系统调用接口来完成打开、关闭、读写和 I/O控制操作,而驱动程序的主要任务也就是要实现这些系统调用函数。 例如:
[root$super ~]# mount /dev/hda1 /mnt/C
系统重启也可将kernel
的一部分替换掉。设备 rmmod 驱动,文 件系统,网络
协议等可做成模块来提 供。
Module
init_module( )
cleanup_module( )
Kernel
register_capability( )
capabilities[]
printk( ) .....
unregister_capability( )