易截截图软件、单文件、免安装、纯绿色、仅160KB

浅析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));
     


相关文档:

linux shell脚本之if判断

无论什么编程语言都离不开条件判断。SHELL也不例外。
 if list then
          do something here
      elif list then
          do another thing here
      ......

Linux字符集 以及 网络通信监听

查看当前配置字符集 locale 
查看全部字符集 locale -a
设置字符集 export LANG=zh_CN.gbk
easy
tcpdump 一个linux监听网络访问的工具
监听服务器及端口
tcpdump -nn -i eth0 src host www.codigg.com and src port 80
正在使用的sql
tcpdump -s 0 -l -w - dst port 3306 | strings ......

linux kernel: HZ, tick and jiffies

http://linux.chinaunix.net/bbs/archiver/tid-985372.html
Linux Kernel: 简介HZ, tick and jiffie
               
Linux[/b]核心幾個重要跟時間有關的名詞或變數,底下將介紹HZ[/b]、tick與jiffies。
......

linux 常用命令整理

tar 文件与目录压缩命令
tar [-cxtzjvfpPN] 文件与目录 ....
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的 ......

嵌入式Linux操作系统学习规划

ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: 
(1)掌握主流嵌入式微处理器的结构与原理(初步定为arm9) 
(2)必须掌握一个嵌入式操作系统(初步定为uclinux或linux,版本待定) 
(3)必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。 
从事嵌入式软件开发的好处是 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号