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

s3c2440基于linux的button和led字符设备驱动

先是内核驱动程序:
#include <linux/module.h>//具体的头文件位置为/opt/FriendlyARM/mini2440/linux-2.6.29/include/linux/*.h
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/poll.h>
#include <linux/irq.h>
#include <asm/irq.h>
#include <linux/interrupt.h>
#include <asm/uaccess.h>
#include <mach/regs-gpio.h>//具体头文件位置/opt/FriendlyARM/mini2440/linux-2.6.29/arch/arm/mach-s3c2410/include/mach/*.h
#include <mach/hardware.h>
#include <linux/platform_device.h>
#include <linux/cdev.h>
#include <linux/miscdevice.h>
#include <linux/ioctl.h>
#define DEVICE_NAME "buttons"
struct button_irq_desc {
int irq;
int pin;
int pin_setting;
int number;
char *name;
};
static struct button_irq_desc button_irqs [] = {
{IRQ_EINT8 , S3C2410_GPG0 , S3C2410_GPG0_EINT8 , 0, "KEY0"},
{IRQ_EINT11, S3C2410_GPG3 , S3C2410_GPG3_EINT11 , 1, "KEY1"},
{IRQ_EINT13, S3C2410_GPG5 , S3C2410_GPG5_EINT13 , 2, "KEY2"},
{IRQ_EINT14, S3C2410_GPG6 , S3C2410_GPG6_EINT14 , 3, "KEY3"},
{IRQ_EINT15, S3C2410_GPG7 , S3C2410_GPG7_EINT15 , 4, "KEY4"},
{IRQ_EINT19, S3C2410_GPG11, S3C2410_GPG11_EINT19, 5, "KEY5"},
};
/* 上面初始化成员里的S3C2410_GPG0_EINT0在/opt/FriendlyARM/mini2440/linux-2.6.29/arch /arm/mach-s3c2410/include/mach/regs-gpio.h中定义为
#define S3C2410_GPF0_EINT0 (0x02 << 0),即为我们前面说的“10”模式,其他的管脚类似。这个初始化函数的作用就是将如S3C2410_GPF0_EINT0的模式写入地址为如 S3C2410_GPF0的寄存器里,并将这个管脚设置成中断模式,以及添加一些其他信息。*/
static volatile char key_values [] = {'0', '0', '0', '0', '0', '0'};
//声明LED的管脚
static unsigned long led_table [] ={ S3C2410_GPB5, S3C2410_GPB6, S3C2410_GPB7, S3C2410_GPB8,};
// 声明LED管脚的配置信息,此处的 S3C2410_GPB8_OUTP与上面的S3C2410_GPF0_EINT0类似。
static unsigned int led_cfg_table [] = { S3C2410_GPB5_OUTP, S3C


相关文档:

使用 Linux 系统调用的内核命令

2007 年 4 月 17 日
Linux® 系统调用 ——
我们每天都在使用它们。不过您清楚系统调用是如何在用户空间和内核之间执行的吗?本文将探究 Linux
系统调用接口(SCI),学习如何添加新的系统调用(以及实现这种功能的其他方法),并介绍与 SCI 有关的一些工具。
系统调用
就是用户空间 ......

c输入输出


格式输出:
printf(格式控制, 输出表列);
%d 十进制数  %md m为指定的宽度 若数据位数小于m,则左端补以空格;若大于m,则按实际位数输出
%ld 长整型数据  %mld 指定字段宽度
%o 八进制整数形式  %mo
%x 十六进制整数形式  %mx
%u unsigned型数据,它也可用%o或%x格式输出
%c 一个字符   ......

C/C++ 之旅

没想到 没想到 万万没想到
对C++八窍只通了7窍的我,竟然要开始搞c++了的说,真是好不刺激。
不敢相信,不敢相信。
类型是什么玩意?类怎么写?字符串怎么处理?怎么释放内存?
偶不知,不知,真的不知。。。。
哎       完都完了。
唉 不管怎么说都要去学的。。。一点辙都没有
#incl ......

linux内核下点亮led(未使用中断版本)

头文件:
#ifndef _LED_CONFIG_H
#define _LED_CONFIG_H
#define LED_CON 0
#define LED_ON  1
#define LED_OFF 2
#endif
内核下面的驱动模块:
#include <linux/module.h>
#include <linux/init.h>
#include <linux/io.h>
#include <linux/cdev.h>
#include <linux/fs.h> ......

linux软件包管理工具

     在现行的linux发布版本中,软件包管理工具使用最多的是rpm和dpkg,但是这两者都不能解决软件之间的依赖关系,所以又有了yum和apt,yum其实是对rpm的封装,而apt是对dkpg的封装,两者都在封装的同时,很好的解决了软件依赖问题,使用起来非常方便。下面是一些软件管理常用的命令:
更新软件列表: ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号