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

Interrupt in Linux£¨Ó²¼þƪ£©—— PIC


±¾ÎÄÀ´×Ô£ºhttp://blog.chinaunix.net/u2/66786/showart.php?id=601766
1.1Ê·Ç°µÄPIC
8259AÊǼ´ÎÒÃÇͨ³£ËµµÄPIC£¬Èçͼ1-1Ëùʾ£º
 
ͼ1-1 8259A
ÆäÖÐ×îÖØÒªµÄ¹Ü½ÅÊÇIR0~IR7£¨Interrupt Request0~7£¬ÓÃÓÚÁ¬½ÓÉ豸£©¡¢INT£¨Á¬½ÓCPU,µ±ÓÐÖжÏÇëÇóʱ£¬À­¸ß¸Ã¹Ü½ÅÒÔ֪ͨCPUÖжϵĵ½À´£©¡¢INTA£¨Á¬½ÓCPU£¬CPUͨ¹ý¸Ã¹Ü½ÅÓ¦´ðÖжÏÇëÇ󣬲¢Í¨ÖªPICÌá½»ÖжϵÄvectorµ½Êý¾ÝÏߣ©¡£´ËÍ⣬ÓÉÓÚһƬ8259AÖ»ÄÜÁ¬½Ó8¸öÉ豸£¬¶ÔÓÚÏÖ´úPC¼Ü¹¹À´ËµÏԵùýÉÙ£¬Í¨³£»áͨ¹ýCS£¨Æ¬Ñ¡£©½«Á½¸ö8259AÁ¬ÔÚÒ»Æð¹¹³ÉÒ»¸ö¿ÉÒÔÁ¬½Ó15¸öÉ豸£¨ÓÐÒ»¸ö¹Ü½ÅÓÃÓÚ´®ÁªÁíһƬ8259A£©µÄPIC¡£
¼ÈÈ»Êǿɱà³ÌµÄоƬ£¬8259Aµ±È»ÉÙ²»Á˼ĴæÆ÷¡£³ýÁËICW£¨Initialization Command Word£¬³õʼ»¯ÃüÁî¼Ä´æÆ÷£¬ÓÃÓÚ³õʼ»¯8259A£©ºÍOCW£¨Operation Command Word£¬²Ù×÷ÃüÁî×Ö£¬ÓÃÓÚ¿ØÖÆ8259A£©Í⣬×îÖØÒªµÄÓÐ3¸ö¼Ä´æÆ÷£º
u       IRR£ºInterrupt Request Register£¬ÖжÏÇëÇó¼Ä´æÆ÷£¬¹²8bit£¬¶ÔÓ¦IR0~IR7°Ë¸öÖжϹܽš£µ±Ä³¸ö¹Ü½ÅµÄÖжÏÇëÇóµ½À´ºó£¬Èô¸Ã¹Ü½ÅûÓб»ÆÁ±Î£¬IRRÖжÔÓ¦µÄbit±»ÖÃÒ»¡£±íʾPICÒѾ­ÊÕµ½É豸µÄÖжÏÇëÇ󣬵«»¹Î´Ìá½»¸øCPU¡£
u       ISR£ºIn Service Register£¬·þÎñÖмĴæÆ÷£¬¹²8bit£¬Ã¿bitÒâÒåͬÉÏ¡£µ±IRRÖеÄij¸öÖжÏÇëÇó±»·¢Ë͸øCPUºó£¬ISRÖжÔÓ¦µÄbit±»ÖÃÒ»¡£±íʾÖжÏÒÑ·¢Ë͸øCPU£¬µ«CPU»¹Î´´¦ÀíÍê¡£
u       IMR£ºInterrupt Mask Register£¬ÖжÏÆÁ±Î¼Ä´æÆ÷£¬¹²8bit£¬Ã¿bitÒâÒåͬÉÏ¡£ÓÃÓÚÆÁ±ÎÖжϡ£µ±Ä³bitÖÃһʱ£¬¶ÔÓ¦µÄÖжϹܽű»ÆÁ±Î¡£
ÓëAPIC²»Í¬£¬PICµÄÿ¸ö¹Ü½Å¾ßÓÐÓÅÏȼ¶£¬ÒÔ0ºÅ¹Ü½Å×î¸ß¡£Ò²¾Í˵£¬Á¬½ÓºÅÂë½ÏСµÄÉ豸¾ßÓнϸߵÄÖжÏÓÅÏȼ¶¡£Í¨¹ý¶ÔPICµÄICW¼Ä´æÆ÷±à³Ì£¬¿ÉÒÔÉ趨ÆðʼvectorºÅ£¬ÒÔ¼ÆË㵱ǰÖжϵÄvector¡£ÀýÈ磬ÆðʼvectorºÅÉèΪ16£¬IR3¹Ü½Å²úÉúÁËÖжÏÇëÇó£¬ÔòIR3¶ÔÓ¦µÄvector = 16+3 =19¡£Í¨¹ýPIC·¢ÆðÖжϵĵäÐÍÁ÷³ÌÈçÏ£º
1¡¢  Ò»¸ö»ò¶à¸öIR¹Ü½ÅÉϲúÉúµçƽÐźţ¬Èô¶ÔÓ¦µÄÖжÏûÓб»ÆÁ±Î£¬IRRÖÐÏàÓ¦µÄbit±»ÖÃÒ»¡£
2¡¢  PICÀ­¸ßINT¹Ü½Å֪ͨCPUÖжϷ¢Éú¡£
3¡¢  CPUͨ¹ýINTA¹Ü½ÅÓ¦´ðPIC£¬±íʾÖжÏÇëÇóÊÕµ½¡£
4¡¢  PICÊÕµ½INTAÓ¦´ðºó£¬½«IRRÖоßÓÐ×î¸ßÓÅÏȼ¶µÄbitÇåÁ㣬²¢ÉèÖÃISRÖжÔÓ¦µÄbit¡£
5¡¢  CPUͨ¹ýINTA¹Ü½ÅµÚ¶þ´Î·¢³öÂö³å£¬PICÊÕµ½ºó¼ÆËã×î¸ßÓÅÏȼ¶ÖжϵÄvector£¬²¢½«ËüÌá½»µ½Êý¾ÝÏßÉÏ¡£
6¡¢  µÈ´ýCPUдEO


Ïà¹ØÎĵµ£º

´ÓSD¿¨Æô¶¯linuxϵͳ

  -------------------------------------------------------------------------------------------------------
//By:yuyongbao
//QQ:673360056
//ƽ̨powerpc mpc8379e linux 2.6.22
£±¡¢ÏÈÓÃfdisk ¸øSD¿¨·ÖÇø£¬ÓÃ×÷Îļþϵͳ¡£
½«¶Á¿¨Æ÷²åÈëPC»úÐéÄâ»ú£¬ÔÚPC»úÉÏÖ´ÐÐfdisk /dev/sdb
Ñ¡Ôñn¡¡¡£¡£¡£¡£¡£¡£¡£¡£² ......

linuxÄں˽ṹÌå

 -------------------------------------------------------------------------------------------------------
//By:yuyongbao
//QQ:673360056
LINUX Äں˽ṹÌå
struct attribute
{
    const char    * name;
    struct module     &nb ......

ÔÚlinuxÏÂʹÓÃgtkµÄgdk

aishen944-163.com
תÌùÇë×¢Ã÷³ö´¦£¬Ð»Ð»£¡£¡
Æäʵ͸Ã÷ÌùͼµÄÔ­Àí¾ÍÊǽøÐÐxorÔËË㣬
»ù±¾¹«Ê½£ºA  xor A = 0    A xor 0 = A   A xor A xor B  = B
¼ÙÈçÏÖÔÚÓÐÁ½ÕÅͼƬ£¬Ò»ÕÅÊÇÎÒÃÇÒª¶ÔÆä½øÐÐÌùͼµÄͼƬA£¬ ÁíÍâÒ»ÕÅÊÇÒª±»ÌùͼµÄͼƬB
1£¬ ¸´ÖÆͼƬBµÄÒ»·Ý¿½±´ÎªC
2£¬ ½«CÖÐÖ¸¶¨ ......

Linux: S3C2410µÄRTCÇý¶¯

----------------------------------------------------------------------------------------------------------------------------------------
/**/
/*
********************************************************************************************************
*  @Description:s3c2410µÄrtcÇý¶¯µÄʵ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ