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

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


相关文档:

Linux 防火墙开关命令

 1) 永久性生效,重启后不会复原
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后复原
开启: service iptables start
关闭: service iptables stop
开启和关闭端口相关配置文件
/etc/sysconfig/iptables ......

嵌入式Linux开发简介(一)

        在过去的十年中,嵌入式系统的开发发生了很大的变化。以前嵌入式设备往往是一个孤立的、资源有限的系统,它们追求的是在有限的价格上满足一定的功能性要求。通常它们采用那些功能并不强大的CPU,这也是开发者不得不尽可能地压缩嵌入式系统性能的原因。而今天人们对嵌入式设备在 ......

linux调整系统时间 永久 z



    参考资料一、linux调整系统时区/时间的方法(tzselect命令)

1) 找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai

用这个文件替换当前的/etc/localtime文件。

2) 修改/etc/sysconfig/clock文件,修改为:

ZONE="Asia/Shanghai"
[color=red]UTC=true[/color]
ARC=false ......

Linux网络接口的源码分析

一.前言
 Linux的源码里,网络接口的实现部份是非常值得一读的,通过读源码,不仅对网络协议会有更深的了解,也有助于在网络编程的时候,对应用函数有更精确的了解和把握。
 本文把重点放在网络接口程序的总体结构上,希望能作为读源码时一些指导性的文字。
 本文以Linux2.4.16内核作为讲解的对象,内核源码可以在h ......

解决linux下too many file问题

工作中发现,在linux中搭建WEBLOGIC应用服务器的环境下,有时可能同时发布多个war包,而且每一个war包的文件数目很多,或者客户同时访问量比较大,此时WEBLOGIC就会报错,报错信息中包含“Too many open files”,例如:
java.io.FileNotFoundException: /home/weblogic/bea/user_projects/domains/lhyth/server ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号