Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

LinuxÍøÂçÇý¶¯³ÌÐò±àд(Èý)

¡¡2.4 ³£ÓõÄϵͳ֧³Ö
¡¡¡¡2.4.1 ÄÚ´æÉêÇëºÍÊÍ·Å
¡¡¡¡include/linux/kernel.hÀïÉùÃ÷ÁËkmalloc()ºÍkfree()¡£ÓÃÓÚÔÚÄÚºËģʽÏÂÉêÇëºÍÊÍ·ÅÄÚ´æ¡£
¡¡¡¡void *kmalloc(unsigned int len,int priority);
¡¡¡¡void kfree(void *__ptr);
¡¡¡¡ÓëÓû§Ä£Ê½ÏµÄmalloc()²»Í¬£¬kmalloc()ÉêÇë¿Õ¼äÓдóСÏÞÖÆ¡£³¤¶ÈÊÇ2µÄÕû´Î·½¡£¿ÉÒÔÉêÇëµÄ×î´ó³¤¶ÈÒ²ÓÐÏÞÖÆ¡£ÁíÍâkmalloc()ÓÐpriority²ÎÊý£¬Í¨³£Ê¹ÓÃʱ¿ÉÒÔΪGFP_KERNEL£¬Èç¹ûÔÚÖжÏÀïµ÷ÓÃÓÃGFP_ATOMIC²ÎÊý£¬ÒòΪʹÓÃGFP_KERNELÔòµ÷ÓÃÕß¿ÉÄܽøÈësleep״̬£¬ÔÚ´¦ÀíÖжÏʱÊDz»ÔÊÐíµÄ¡£
¡¡¡¡kfree()ÊͷŵÄÄÚ´æ±ØÐëÊÇkmalloc()ÉêÇëµÄ¡£Èç¹ûÖªµÀÄÚ´æµÄ´óС£¬Ò²¿ÉÒÔÓÃkfree_s()ÊÍ·Å¡£
¡¡¡¡2.4.2 request_irq()¡¢free_irq()
¡¡¡¡ÕâÊÇÇý¶¯³ÌÐòÉêÇëÖжϺÍÊÍ·ÅÖжϵĵ÷Óá£ÔÚinclude/linux/sched.hÀïÉùÃ÷¡£request_irq()µ÷Óõ͍Ò壺
¡¡¡¡int request_irq(unsigned int irq,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ void (*handler)(int irq, void *dev_id, struct pt_regs *regs),
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ unsigned long irqflags,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ const char * devname,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ void *dev_id);
¡¡¡¡irqÊÇÒªÉêÇëµÄÓ²¼þÖжϺš£ÔÚIntelƽ̨£¬·¶Î§0--15¡£handlerÊÇÏòϵͳµÇ¼ÇµÄÖжϴ¦Àíº¯Êý¡£ÕâÊÇÒ»¸ö»Øµ÷º¯Êý£¬ÖжϷ¢Éúʱ£¬ÏµÍ³µ÷ÓÃÕâ¸öº¯Êý£¬´«ÈëµÄ²ÎÊý°üÀ¨Ó²¼þÖжϺţ¬device id£¬¼Ä´æÆ÷Öµ¡£dev_id¾ÍÊÇÏÂÃæµÄrequest_irqʱ´«µÝ¸øÏµÍ³µÄ²ÎÊýdev_id¡£irqflagsÊÇÖжϴ¦ÀíµÄһЩÊôÐÔ¡£±È½ÏÖØÒªµÄÓÐSA_INTERRUPT£¬±êÃ÷Öжϴ¦Àí³ÌÐòÊÇ¿ìËÙ´¦Àí³ÌÐò(ÉèÖÃSA_INTERRUPT)»¹ÊÇÂýËÙ´¦Àí³ÌÐò(²»ÉèÖÃSA_INTERRUPT)¡£¿ìËÙ´¦Àí³ÌÐò±»µ÷ÓÃʱÆÁ±ÎËùÓÐÖжϡ£ÂýËÙ´¦Àí³ÌÐò²»ÆÁ±Î¡£»¹ÓÐÒ»¸öSA_SHIRQÊôÐÔ£¬ÉèÖÃÁËÒÔºóÔËÐжà¸öÉ豸¹²ÏíÖжϡ£dev_idÔÚÖжϹ²Ïíʱ»áÓõ½¡£Ò»°ãÉèÖÃΪÕâ¸öÉ豸µÄdevice½á¹¹±¾Éí»òÕßNULL¡£Öжϴ¦Àí³ÌÐò¿ÉÒÔÓÃdev_idÕÒµ½ÏàÓ¦µÄ¿ØÖÆÕâ¸öÖжϵÄÉ豸£¬»òÕßÓÃrq2dev_mapÕÒµ½Öж϶ÔÓ¦µÄÉ豸¡£¡¡ 
¡¡¡¡void free_irq(unsigned int irq,void *dev_id);
¡¡¡¡2.4.3 Ê±ÖÓ
¡¡¡¡Ê±ÖӵĴ¦ÀíÀàËÆÖжϣ¬Ò²ÊǵǼÇÒ»¸öʱ¼ä´¦Àíº¯Êý£¬ÔÚÔ¤¶¨µÄʱ¼ä¹ýºó£¬ÏµÍ³Ê±ÖӵĴ¦ÀíÀàËÆÖжϣ¬Ò²ÊǵǼÇÒ»¸öʱ¼ä´¦Àíº¯Êý£¬ÔÚÔ¤¶¨µÄʱ¼ä¹ýº


Ïà¹ØÎĵµ£º

ubuntuϰ²×°linux fetion

ubuntu ϱàÒë linux fetion Ó¦ÓóÌÐòdemo
×¢£ºÕâÀï¸ø³ö½çÃæÄ£¿éµÄÔ´´úÂ룬¶ølibfetion¿â(32λ)ÔòÊÇÒÔ¾²Ì¬¿âµÄÐÎʽ·Å½øÈ¥ÁË¡£
1£º½¨Á¢±àÒë»·¾³£º
ÔÚÖÕ¶ËÖ´ÐÐÒÔÏÂÃüÁ
sudo apt-get install automake
sudo apt-get install libc-dev
sudo apt-get install g++
sudo apt-get install libcurl4-openssl-dev
sudo ......

LinuxÈçºÎ×ß³ö×ÀÃæÀ§¾³£¿

       ½üÈÕ£¬ÔÚLinuxCON 2009´ó»áÉÏ£¬×ÀÃæ Linux ÓÖ³ÉΪҵ½ç¹Ø×¢µÄ½¹µãÖ®Ò»¡£¸÷ÖÖ²»Í¬µÄÉùÒô£¬É¤ÃŶ¼ºÜ´ó¡£ÔÚÕâ·×·×ÈÂȵķÕΧÖУ¬ Linux ÈçºÎ×ß³ö×ÀÃæÀ§¾³£¿
       ×ݹÛÈ«¾Ö£¬ÆÕ¼°×ÀÃæ Linux µÄ×î´óÕϰ­Ö®Ò»ÊÇϵͳ°²×°µÄ²Ù×÷À§ÄÑÐÔ¡£Ô¤×° Windows Òѳɴó ......

linuxѹËõÃüÁî tar

root@linux ~]# tar [-cxtzjvfpPN] ÎļþÓëĿ¼ ....
²ÎÊý£º
-c £º½¨Á¢Ò»¸öѹËõÎļþµÄ²ÎÊýÖ¸Áî(create µÄÒâ˼)£»
-x £º½â¿ªÒ»¸öѹËõÎļþµÄ²ÎÊýÖ¸Á
-t £º²é¿´ tarfile ÀïÃæµÄÎļþ£¡
ÌØ±ð×¢Ò⣬ÔÚ²ÎÊýµÄÏ´ïÖУ¬ c/x/t ½öÄÜ´æÔÚÒ»¸ö£¡²»¿Éͬʱ´æÔÚ£¡
ÒòΪ²»¿ÉÄÜͬʱѹËõÓë½âѹËõ¡£
-z £ºÊÇ·ñͬʱ¾ßÓÐ gzip µÄÊôÐÔ£¿Ò ......

linuxÈíÖжϻúÖÆ


 
 
linuxÈíÖжϻúÖÆ
 
 
ÖжϷþÎñ³ÌÐòÍùÍù¶¼ÊÇÔÚCPU¹ØÖжϵÄÌõ¼þÏÂÖ´Ðеģ¬ÒÔ±ÜÃâÖжÏǶÌ×¶øÊ¹¿ØÖƸ´ÔÓ»¯¡£µ«ÊÇCPU¹ØÖжϵÄʱ¼ä²»ÄÜÌ«³¤£¬·ñÔòÈÝÒ×¶ªÊ§ÖжÏÐźš£Îª´Ë£¬ Linux½«ÖжϷþÎñ³ÌÐòÒ»·ÖΪ¶þ£¬¸÷³Æ×÷“Top Half”ºÍ“Bottom Half”¡£Ç°Õßͨ³£¶Ôʱ¼äÒªÇó½ÏΪÑϸñ£¬ ......

¹ØÓÚ s3c2416 hspi spi linux Çý¶¯


        ×î½üÔÚ×ösamsung
s3c2416
ÔÚlinuxϵÄspiÇý¶¯³ÌÐò£¬²âÊÔÁËÏÂsamsung·¢²¼µÄspiµÄÄÚºËÔ´´úÂ룬ÎÞÂÛÊDzÉÓÃdma»òÕß·Çdmaģʽ¶¼ÎÞ·¨¹¤×÷¡£ÔĶÁ¸ÃÇý¶¯´úÂ룬·¢ÏÖ
ÕâÂëÓ¦¸ÃÊÇÒ»¸öδÍê³ÉµÄ°æ±¾£¬´æÔںܶàµÄbug¡£ÓÚÊÇÔÚÕâ¸ö°æ±¾µÄ»ù´¡ÉϽøÐÐÐ޸ģ¬ÖØÐ´Ò»¸ö¿ÉÓõġ¢Ö§³Öȫ˫¹¤µÄͨѶ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ