linuxÄÚºËÄ£¿éÖв¶»ñÖжϵÄÒ»¸öÀý×Ó
Ö±½ÓÉÏÀý×Ó°É¡£Ö»ÊDz¶»ñij¸öÉ豸µÄÖж϶øÒÑ¡£¡£¡£
¸ÃÎļþµÄÃû×ÖÊÇirq.c
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/timer.h>
#define DEBUG
#ifdef DEBUG
#define MSG(message, args...) printk(KERN_DEBUG "irq:" message, ##args)
#else
#define MSG(message, args...)
#endif
MODULE_LICENSE("GPL");
MODULE_AUTHOR("silence1214");
int irq;
char *interface;
// ÏÂÃæÕâ2¸ö²ÎÊýͨ¹ý²åÈëÄÚºËÄ£¿éµÄʱºò¸³ÖµµÄ...
module_param(irq, int, 0644);
module_param(interface, charp, 0644);
// Öжϲ¶»ñµÄʱºòµÄ´¦Àíº¯Êý
int irq_handle_function(int irq, void *device_id)
{
static int count = 1;
MSG("[%d]receive the irq at %ld...\n", count, jiffies);
count++;
return IRQ_NONE;
}
int init_module()
{
// ×¢²áÖжϲ¶»ñ£¬µÚÈý¸ö²ÎÊýµÄÒâ˼ÊÇºÍÆäËûÉ豸¹²Ïí¸ÃÖжϺţ¬×îºóÒ»¸ö²ÎÊýÊÇÉ豸µÄid£¬Æäʵ¶ÔÓÚ¹²ÏíϵÄÉ豸Õâ¸öºÅÂë¾Ý˵ÊÇËæ±ãд£¬Ò»°ã¶¼Ð´irqµÄÁË¡£
//ֻҪע²á³É¹¦¾Í¿ÉÒԵȴý¶ÔÓ¦É豸µÄ¸ÃÖжϺŵĵ½À´ ¾Í¿ÉÒÔ´¦Àí»Øµ÷º¯ÊýÁË¡£¡£
if(request_irq(irq, irq_handle_function, IRQF_SHARED, interface, (void *)&irq))
{
MSG("regist irq failure...\n");
return -EIO;
}
MSG("interface=%s and irq=%d...\n", interface, irq);
MSG("regist irq success...\n");
return 0;
}
void cleanup_module()
{
free_irq(irq, &irq);
MSG("unregist irq...\n");
}
¶ÔÓ¦µÄmakefileµÄÄÚÈÝÊÇ
obj-m:=irq.o
default:
make -C /lib/modules/$(shell uname -r)/build M=$(shell pwd) modules
Îҵĵ±Ç°Äں˰汾Ϊ£º2.6.27.5-117.fc10.i686
Ö´Ðв½Ö裺
1£ºÊ×ÏÈmakeÒ»ÏÂÉú³Éirq.ko
2£º²é¿´ cat /proc/interrupts
ÎҵĴòÓ¡½á¹ûÊÇ£º
Õâ¸ö19¾ÍÊÇÎÒÐèҪʹÓõÄÖжϺţ¬eth0Æäʵ¾ÍÊÇÍø¿¨£¨µÚÒ»¿é£¬ÎÒÒ²¾ÍÕâôһ¿é£©¡£¡£¡£
È»ºóÎÒʹÓòåÈëÄÚºËÄ£¿éµÄÃüÁîÊÇ£º
2.1£ºinsmod irq.ko interface=eth1 irq=19
Èç¹ûûÓб¨ÈκÎÐÅÏ¢¾ÍÊDzåÈëÕýÈ·ÁË£¬
½Ó×Å
2.2£ºÊäÈë dmesg »Ø³µ¡£¡£¾Í»á¿´µ½ÈçϽØÍ¼µÄÐÅÏ¢ÁË¡£¡£¾ÍÊÇÎÒÃdzÌÐòÖдòÓ¡µÄÐÅÏ¢¡£¡£
ºÃÁËÕâ¾ÍÊÇËã³É¹¦ÁË¡£¡£¡£
2.3£ºÔÀí¾ÍÊÇ£¬£¬×¢²áÁËÒ»¸ö²¶»ñÖжϺÅΪ19µÄ³ÌÐò¡£¡£¡£È»ºóµ±·¢³ö19µÄÖжϺŵÄÉ豸·¢³ö
Ïà¹ØÎĵµ£º
ÒÔÏÂÊDZ¾ÈËÔÚѧϰlinux±à³Ìʱ²éÕÒ²¢ÕûÀíµÄһЩ¶«Î÷£¬Óë´ó¼Ò·ÖÏí£º
Vi´ó¼Ò¶¼ºÜÊìϤ£¬Ä³Ð©Çé¿öÏÂËüÊÇÎÒÃÇÔÚLinuxÏÂΨһ¿ÉÓõÄÎı¾±à¼Æ÷¡£ÆäʵÎÒÃÇÆ½Ê±ËùÖ¸µÄVIÆäʵÊÇVIM£¨ViImproved£¬VIÔöÇ¿°æ£©¡£ÓÐÈ˳£³£ÄÃVIMºÍemacs±È½Ï£¬VIM¾¡¹Ü²»ÏóemacsÄÇÑùÓÐÄÇô¶àµÄ¹¦ÄÜ£¬µ«ÊDZÈemacs¸ü·½±ã¡¢ºÃÓá£VIM¼òµ¥Ò×Óã¬Ö»Òª¿´¿´V ......
1.
linux
ÃüÁîµÄµ÷ÊÔʹÓÃ
ÒÔÏÂÊÇ´ÓÍøÉϲéÕÒÀ´µÄ
linux
ÃüÁî
zip
µÄʹÓ÷½·¨¡£Èç¹ûÓв»ÖªµÀÃüÁîÈçºÎʹÓÃÄã¿ÉÒÔ
man+[
ÃüÁî
]
»òÕßÊÇ
[
ÃüÁî
]+
“
-h
”£¬À´²é¿´ÃüÁîµÄʹÓ÷½·¨¡£
zip
¹¦ÄÜ˵Ã÷£ºÑ¹ËõÎļþ¡£
Óï¡¡¡¡·¨£º
zip
[-AcdDfFghj ......
ʹÓÃVMware ×Ô´øµÄVMware tools¿ÉÒÔÓÃÀ´ÊµÏÖwindowsºÍlinuxÖ®¼äµÄ¹²Ïí×ÊÔ´¡£
²½ÖèÈçÏ£º
1. °²×°ÍêVMwareÐéÄâ»úºÍÐéÄâlinux ºó¡£
2. ´ò¿ªVMware ÐéÄâ»ú ²Ëµ¥À¸µÄVM ——> intall VMware tools £¨»á³öÏÖ¹ ......
vi Öйرճö´í bell ÉùÒô
http://blog.csdn.net/coolrocky/archive/2001/06/05/8080.aspx
È¥³ýÐéÄâ»úLinuxµÄ±¨¾¯Éù
http://hi.baidu.com/zjd168/blog/item/c8300846b5a6ec0e6a63e5d8.html
¹Ø±ÕÖ÷°å±¨¾¯Òô
http://linux.chinaunix.net/techdoc/install/2009/05/16/1112897.shtml
linuxÖйرձ¨¾¯ÒôºÍÐ޸ķֱæÂÊ
http ......
linux fodera 13 ϰ²×° rpm gcc
ÏÈÔÚÖÕ¶ËϽøÈëFedora-13-Beta-i386-DVD ¹âÅÌÖÐµÄ Package Èí¼þ°ü
È»ºó°´ÈçÏÂ˳Ðò°²×°
rpm -ivh cpp-4.4.3-8.fc13.i686.rpm
rpm -ivh kernel-headers-2.6.33.1-24.fc13.i686.rpm
rpm -ivh glibc-headers-2.11.90-16.i686.rpm
rpm -ivh glibc-devel-2.11.90-16.i686.rpm
rpm -ivh ......