linux基本驱动和linux字符设备驱动
先粘贴一个linux最简单的驱动,其实对于一个从2.4玩上来的人来说,驱动不复杂,比较不习惯的是那个makefile
驱动本身:
hello.c:
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(vodi){
printk(KERN_ALERT "hello world\n");
return 0;
}
static void hello_exit(vodi){
printk(KERN_ALERT"bye bye\n");
}
module_init(hello_init);
module_exit(hello_exit);
Makefile:
obj-m := hello.o
KERNELDIR :=/lib/modules/$(shell uname -r)/build
all:
make -C $(KERNELDIR) M=$(shell pwd) modules
clean:
rm -rf *.o *.ko
然后附过来一个驱动,暂时没有验证,是字符型的,如果验证好用,我再更新这篇日志
本例是冯国进的 《嵌入式Linux 驱动程序设计从入门到精通》的第一个例子
感觉真是好书 强烈推荐
注释是deep_pro加的 转载请注明!我的特点是文不加点!
这个驱动是在内存中分配一个256字节的空间,供用户态应用程序读写。
先是头文件 demo.h
#ifndef _DEMO_H_
#define _DEMO_H_
#include <linux/ioctl.h> /* needed for the _IOW etc stuff used later */
/********************************************************
* Macros to help debugging
********************************************************/
#undef PDEBUG /* undef it, just in case */
#ifdef DEMO_DEBUG
#ifdef __KERNEL__
# define PDEBUG(fmt, args...) printk( KERN_DEBUG "DEMO: " fmt, ## args)
#else//usr space
# define PDEBUG(fmt, args...) fprintf(stderr, fmt, ## args)
#endif
#else
# define PDEBUG(fmt, args...) /* not debugging: nothing */
#endif
#undef PDEBUGG
#define PDEBUGG(fmt, args...) /* nothing: it's a placeholder */
//设备号
#define DEMO_MAJOR 224
#define DEMO_MINOR 0
#define COMMAND1 1
#define COMMAND2 2
//自己定义的设备结构
struct DEMO_dev
{
struct cdev cdev; /* Char de
相关文档:
例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......
1,解开tar.z的压缩包
# tar xvfz backup.tar.Z
或# uncompress backup.tar.Z
#tar xvf backup.tar
2,解开.tgz的文件
#gunzip backup.tgz
3,如何压缩和解压.bz2的文件
&nbs ......
参考资料一、linux调整系统时区/时间的方法(tzselect命令)
1) 找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai
用这个文件替换当前的/etc/localtime文件。
2) 修改/etc/sysconfig/clock文件,修改为:
ZONE="Asia/Shanghai"
[color=red]UTC=true[/color]
ARC=false ......
一 安装DHCP服务器
1.先查看系统是否安装DHcp
#rpm -qa|grep dhcp
2.安装RPM包,如果是Rea Hat LInux9安装包在第二章光盘,挂在了光驱后可用查找命令找DHCP包
#find /mnt/cdrom/ -name "dhcp"
3.查看find命令搜出来的文件路径进行安装
#rpm -ivh/mnt/cdrom/RedHat/RPMS/dhcp*/dhcpd*(根据自己实际文件路径)
4. ......