浅析linux键盘设备工作和注册流程
(1)在\drivers\input\Input.c中。
A,subsys_initcall(input_init);
B,static int __init input_init(void)中完成几个重要的操作:
err = class_register(&input_class);以输入类方式注册类
input_proc_init(); //创建proc下的目录和文件
register_chrdev(INPUT_MAJOR, "input", &input_fops); //注册字符设备驱动程序到内核
(2)在drivers\input\keyboard\S3c-keypad.c中,是自己的按键处理文件。
A,定义给android上层的码值
#define KEYCODE_HOME 58
#define KEYCODE_POWER 50
struct s3c_keypad_gpio_key gpio_key_smdk6410[] = {
{IRQ_EINT(6), S3C64XX_GPN(6), 2, KEYCODE_POWER, 1},
{IRQ_EINT(7), S3C64XX_GPN(7), 2, KEYCODE_HOME, 1},
};
分别是外部中断号,GPIO口号,码值。
B,probe过程:
module_init(s3c_keypad_init); //按键init
platform_driver_register(&s3c_keypad_driver); //注册平台驱动
s3c_keypad_driver的probe函数是主要处理过程:
static int __init s3c_keypad_probe(struct platform_device *pdev)
{
struct input_dev *input_dev; //注册一个输入设备
platform_get_resource(pdev, IORESOURCE_MEM, 0);
request_mem_region(res->start, size, pdev->name);
ioremap(res->start, size); //分配资源
keypad_clock = clk_get(&pdev->dev, "keypad");
clk_enable(keypad_clock); //获得keypad的clock
set_bit(EV_KEY, input_dev->evbit); //标志input_dev是KEY设备
s3c_gpio_cfgpin(gpio_key->gpio, S3C_GPIO_SFN(gpio_key->gpio_af));
相关文档:
3. 网络配置文件
3.1 /etc/hosts
#/etc/hosts
#文件格式: IPaddress hostname aliases
#文件功能: 提供主机名到IP地址的对应关系,建议将自己经常使用的主机
# 加入此文件中,也可将没有DNS记录的机器加入到此文件中,
# 这样会方便网络应用
127.0.0.1 localhost localhost.localdomain
202.118.66.81 helius.dlut. ......
UNIX是历史最悠久的通用操作系统。1969年,美国贝尔实验室的K.Thompson和D.M.Ritchie在规模较小及较简单的分时操作系统MULTICS的基础上开发出UNIX, 当时是在DEC的PDP—7小型计算机上实现的,1970年正式投入运行。此后数年,UNIX一直是一个限于在AT&T内部使用的操作系统。1971年,发展出以 PDP- ......
无论微软如何专注于桌面,X的设计还是能让他们汗颜。比较一下Windows远程桌面(2008Server终于有所改进)和X转发的效果就可以理解,为什么*nix的世界里显示GUI环境依靠的竟然是Server-Client架构。
在Windows下,只要实现两个要素就可以实现X的转发:1.X Server服务;2.ssh客户端。前者可以用Xming,后者可以用putty或openS ......
Linux 操作系统从一开始就对串行口提供了很好的支持,本文就 Linux 下的串行口通讯编程进行简单的介绍。
串口简介
串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。常用的串口是 RS-232-C 接口(又称 EIA RS-232-C)它是在 1970 年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终 ......
本次安装的系统平台为redhat 5
一、使用RPM包进行安装
首先可以从安装光盘中或者到mysql的网站上下载对应版本的rpm包如下:
MySQL-server-community-5.1.38-0.rhel5.i386.rpm
MySQL-client-community-5.1.38-0.rhel5.i386.rpm
接着我们可以使用rpm命令进行安装:
rpm -ivh MySQL ......