LINUX C³ÌÐò¿ª·¢Ã¿ÈÕÒ»Ìâ——Ö¸Õë
ʵÏÖÒ»¸öÁ´±í£¬Íê³ÉÁ´±íµÄ²åÈ룬²éÕÒ£¬É¾³ý
typedef struct _FIFO_M{
void *pdata;
struct _FIFO_M *pNext;
}FIFO_M,* pFIFO_M;
typedef struct _FIFO{
pFIFO_M head;
pFIFO_M tail;
pFIFO_M pos;
int mcount;//½Úµã¸öÊý
int max_count;//½Úµã×î´ó¸öÊý¡£
}FIFO,* pFIFO;
FIFO g_fifo;
int Fifo_Add(pFIFO mfifo,void * pdata);/*Ïò¶ÓÁÐÖÐѹÈëÒ»Êý¾Ý£¬Ìí¼Óµ½¶ÓÁÐÍ·²¿*/
int Fifo_Push(pFIFO mfifo,void * pdata);/*Ïò¶ÓÁÐÖÐѹÈëÒ»Êý¾Ý£¬Ìí¼Óµ½¶ÓÁÐβ²¿*/
void * Fifo_Pull(pFIFO mfifo); /*½«¶ÓÁÐÍ·²¿³ÉÔ±³öÁÐ*/
Ïà¹ØÎĵµ£º
ΪÁ˴nfsϵͳ,...ËùÒÔ ±ØÐëÔÚÄÚºËÒÆÖ²ºÃÍø¿¨Çý¶¯. ÎÒ¿¿.ÕÕÏÂÃæ×ö,Ò»´ÎÄܳɹ¦.
ÎÒµÄÖ÷°åÊÇÓÑÉÆÖ®±Û 2410. »·¾³ÊÇ vmware+ubuntu
LINUX2.6.14ÏÂCS8900µÄÒÆÖ²£¨Fs2410£©
1.
(ÎļþÔÚÎÒµÄÏÂÔØ°æÓÐ)
¿½±´Îļþcs8900.c cs8900.hµ½ linux2.6.14.1/drivers/net
½øÈëĿ¼cs8900
cp cs8900.c ../linux-2.6.14.1/dri ......
£¨1£©²é¿´Ê±ÖÓÖжϣº
$ cat /proc/interrupts
CPU0
0: 1380471 IO-APIC-edge timer
1: 3626 IO-APIC-edge i8 ......
LinuxºËÐļ¸¸öÖØÒª¸úʱ¼äÓйصÄÃû´Ê»ò±äÊý£¬µ×Ͻ«½éÉÜHZ¡¢tickÓëjiffies¡£
£¨1£©HZ
LinuxºËÐÄÿ¸ô¹Ì¶¨ÖÜÆڻᷢ³ötimer interrupt (IRQ 0)£¬HZÊÇÓÃÀ´¶¨ÒåÿһÃëÓм¸´Îtimer interrupts¡£¾ÙÀýÀ´Ëµ£¬HZΪ1000£¬´ú±íÿÃëÓÐ1000´Îtimer interrupts¡£ HZ¿ÉÔÚ±àÒëºËÐ ......
cÓïÑԺ궨ÒåµÄÁ¬½Ó·ûÓÐÄÄЩ
[´ËÎÊÌâµÄÍƼö´ð°¸]
(Ò»)ºê¶¨ÒåÖеÄ## Á¬½Ó·ûÓë# ·û
## Á¬½Ó·ûºÅÓÉÁ½¸ö¾®ºÅ×é³É£¬Æ书ÄÜÊÇÔÚ´ø²ÎÊýµÄºê¶¨ÒåÖн«Á½¸ö×Ó´®(token)Áª½ÓÆðÀ´£¬´Ó¶øÐγÉÒ»¸öеÄ×Ó´®¡£µ«Ëü²»¿ÉÒÔÊǵÚÒ»¸ö»òÕß×îºóÒ»¸ö×Ó´®¡£ËùνµÄ×Ó´®(token)¾ÍÊÇÖ¸±àÒëÆ÷Äܹ»Ê¶±ðµÄ×îСÓï·¨µ¥Ôª¡£¾ßÌåµÄ¶¨ÒåÔÚ±àÒëÔÀíÀïÓÐÏ꾡µÄ ......
ÔÚÍøÉÏÕÒµ½µÄÒ»¸ö³ÌÐò
[c]
#include <stdio.h>
#include <sys/types.h>
#include <regex.h>
/* È¡×Ó´®µÄº¯Êý */
static char* substr(const char*str,unsigned start, unsigned end)
{
unsigned n = end - start;
static char stbuf[256]; ......