第一个嵌入式Linux的驱动程序
从这个总结正式开始了我的驱动之旅,心情不免有点激动,尽管现在对驱动的编写还很模糊,但还是有纪念意义的……
开发平台:
虚拟机下RedHat9,内核2.4.20.8
交叉编译编译器:天嵌公司提供的arm-linux-gcc 4.3.3
内核树:/home/linux-2.6.30.4
目标平台:
TQ2440,内核是ARM9
OS内核:天嵌公司提供的linux-2.6.30.4
关于天嵌的软件可以到http://bbs.embedsky.net/下载
废话少说,我的驱动源码是:
demo.h:
#ifndef _DEMO_H_
#define _DEMO_H_
#include <linux/ioctl.h>
#undef PDEBUG
#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...)
#endif
#undef PDEBUGG
#define PDEBUGG(fmt, args...)
//设备号
#define DEMO_MAJOR 224
#define DEMO_MINOR 0
#define COMMAND1 1
#define COMMAND2 2
//设备结构
struct DEMO_dev
{
struct cdev cdev;
};
//函数申明
ssize_t DEMO_read(struct file *filp, char __user *buf, size_t count, loff_t *f_pos);
ssize_t DEMO_write(struct file *filp, const char __user *buf, size_t count, loff_t *f_pos);
loff_t DEMO_llseek(struct file *filp, loff_t off, int whence);
int DEMO_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg);
#endif
demo.c
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/errno.h>
#include <linux/types.h>
#include <linux/fcntl.h>
#include <linux/cdev.h>
#include <linux/version.h>
#include <linux/vmalloc.h>
#include <linux/ctype.h>
#include <linux/p
相关文档:
总览
用iptables -ADC 来指定链的规
则
,-A添加 -D删除 -C 修改
iptables - [RI] chain rule num rule-specification[option]
用iptables - RI 通过规则的顺序指定
iptables -D chain rule num[option]
删除指定规则
iptables -[LFZ] [chain][option]
用iptables -LFZ 链名 [选项]
iptables -[NX] chain
用 -NX ......
虚拟机linux上网配置 图解教程
虚拟机linux下NAT上网方式跟windows下是不一样的,windows系统只要直接选择NAT上网方式即可,不需要其它配置,而linux要想 用NAT方式上网需进行另外的设置。下面的图文教程,我觉得还是比较精典的,思路非常清晰,希望对刚接触 linux的朋友有所帮助。
点虚拟机菜单: 编辑---编辑 ......
1.在线下载:wget http://www.realvnc.com/dist/vnc-4.0-x86_linux.tar.gz
2.解压缩:tar -zxvf vnc-4.0-x86_linux.tar.gz
可以看README里内容来安装
3。进入vnc目录下安装:./vncinstall /usr/local/bin
4。mkdir -p /usr/local/vnc/classes
cp java/* /usr/local/vnc/classes
5。启动vncserver
......
一、下载VMware软件并安装
二、光盘.iso方式安装linux
三、共享linux和windows目录
四、将"本地连接"设为共享方式,禁止其他虚拟机连接
打开虚拟机在虚拟机编辑中设置为'桥接"方式;
并选中Device status下的两项,只所以用桥接方式不用host-only方式上网是因为
在用路由器时host-onl ......
对Linux内核中进程上下文和中断上下文的理解
2010年3月3日 10:51 维库开发网 作 者:杨硕,华清远见嵌入式学院讲师
内核空间和用户空间是操作系统理论的基础之一,即内核功能模块运行在内核空间,而应用程序运行在用户空间。现代的CPU都具有不同 ......