Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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°Ë¸öÖжϹܽ𣵱ij¸ö¹Ü½ÅµÄÖжÏÇëÇóµ½À´ºó£¬Èô¸Ã¹Ü½ÅûÓб»ÆÁ±Î£¬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Ö´ÐÐÒÔ¼°ÐéÄâÄÚ´æÖ®ÓÃ

Linux Execution and Virtual Memory Utilization 
LinuxÖ´ÐÐÒÔ¼°ÐéÄâÄÚ´æÖ®ÓÃ
When Linux boots, it starts with the MMU disabled, so initially it deals only with physical 
memory. The kernel image is copied to physical address 0x8000 in DRAM and executed. First a master page table is created ......

linuxÄں˽ṹÌå

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

LinuxÉ豸Çý¶¯Ñ§Ï°£­Davinci¿ª·¢°åÉÏÔËÐеÄhelloÄ£¿é


LinuxÉ豸Çý¶¯Ñ§Ï°£­Davinci¿ª·¢°åÉÏÔËÐеÄhelloÄ£¿é
 
¿´Á˺ܶà¸öhello worldÁË£¬×Ô¼ºÀ´Ð´Ò»¸öÔÚdavinci°å¿éÉÏÅܵİɡ£
Ö÷ÌåºÜ¼òµ¥£¬¾ÍÊÇÒ»¸öCÎļþhello_davinci.c¡£
/*================hello_davinci.c==============*/
#include <linux/module.h>  /*ËùÓÐÄ£¿é¶¼ÐèÒªµÄÍ·Îļþ*/
#include <lin ......

linux find ÃüÁîʵÀý

·find  path  -option  [  -print ]  [ -exec  -ok  command ]  {} \;
#-print ½«²éÕÒµ½µÄÎļþÊä³öµ½±ê×¼Êä³ö
#-exec  command  {} \;     -----½«²éµ½µÄÎļþÖ´ÐÐcommand²Ù×÷,{} ºÍ \;Ö®¼äÓпոñ
#-ok ºÍ-execÏàͬ£¬Ö»²»¹ýÔÚ²Ù×÷ǰҪѯ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ