Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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


Ïà¹ØÎĵµ£º

linux getoptsÃüÁ´¦Àíshell½Å±¾²ÎÊý

#!/bin/bash
while getopts "ab:cd:" Option
# b and d take arguments
#
do
case $Option in
a) echo -e "a = $OPTIND";;
b) echo -e "b = $OPTIND $OPTARG";;
c) echo -e "c = $OPTIND";;
d) echo -e "d = $OPTIND $OPTARG";;
esac
done
shift $(($OPTIND - 1)) ......

LinuxÏÂÓÃBusy BoxÖÆ×÷RamdiskÈ«¹ý³Ì

  -------------------------------------------------------------------------------------------------------
//By:yuyongbao
//QQ:673360056
LinuxÏÂÓÃBusy BoxÖÆ×÷RamdiskÈ«¹ý³Ì
1 ½¨Á¢¸ùÎļþϵͳ½á¹¹
#mkdir rootfs
#cd rootfs
#mkdir bin dev etc lib proc sbin tmp usr var
#chmod 1777 tmp
#mk ......

Linux¶¨Ê±Æ÷ Ïê½â[ת]


[ת]Linux¶¨Ê±Æ÷

ºËÖ÷ÒªÐèÒªÁ½ÖÖÀàÐ͵Äʱ¼ä£º


1.

ÔÚÄÚºËÔËÐÐÆÚ¼ä³ÖÐø¼Ç¼µ±Ç°µÄʱ¼äÓëÈÕÆÚ£¬ÒÔ±ãÄں˶ÔijЩ¶ÔÏóºÍʼþ×÷ʱ¼ä±ê¼Ç£¨

timestamp

£¬Ò²³ÆÎª



ʱ¼ä´Á



£©£¬»ò¹©ÓÃ



»§Í¨¹ýʱ¼ä

syscall ......

LinuxÄÚºËѧϰ±Ê¼ÇÖ®Íø¿¨Çý¶¯µÄÏêϸ·ÖÎö

ѧϰӦ¸ÃÊÇÒ»¸öÏȰÑÎÊÌâ¼òµ¥»¯£¬ÔÚ°ÑÎÊÌ⸴ÔÓ»¯µÄ¹ý³Ì¡£Ò»¿ªÊ¼¾Í×ÅÊÖ´¦Àí¸´ÔÓµÄÎÊÌ⣬ÄÑÃâÈà ÈËÓÐÐľªµ¨²ü£¬×½½ó¼ûÖâµÄ¸Ð¾õ¡£¶ÁLinuxÍø¿¨Çý¶¯Ò²ÊÇÒ»Ñù¡£Ädz¤³¤µÄÔ´Âë¼ÐÔÓ×ÅÄÇЩÎÒÃÇİÉúµÄ±äÁ¿ºÍ·ûºÅ£¬Íû¶øÉúη±ãÊÇÀíËùµ±È»µÄÁË¡£²»Òªµ£ÐÄ£¬ÊÂÇé ×ÜÓнâ¾öµÄ°ì·¨£¬ÏȰÑһЩÎÒÃǹܲ»×ŵĴúÂëÇиî³öÈ¥£¬ÁôϱØÐëµÄ²¿·Ö£¬°Ñ¿ò¼ÜÕ ......

Linux: S3C2410µÄRTCÇý¶¯

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