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

linuxÉ豸Çý¶¯ IO Port

1. I/O Port
¡¡¡¡ºÍÓ²¼þ
´ò½»µÀÀë²»¿ªI/O Port
£¬ÀϵÄ
ISA
É豸¾­³£ÊÇÕ¼ÓÃʵ¼ÊµÄ
I/O
¶Ë¿Ú£¬ÔÚ
linux
Ï£¬²Ù×÷
ϵͳûÓжÔ
I/O
¿ÚÆÁ±Î£¬Ò²¾ÍÊÇ˵£¬ÈκÎÇý¶¯³ÌÐò¶¼¿É¶ÔÈÎÒâµÄ
I/O
¿Ú²Ù×÷£¬ÕâÑù
¾ÍºÜÈÝÒ×ÒýÆð»ìÂÒ¡£Ã¿¸öÇý¶¯³ÌÐòÓ¦¸Ã×Ô¼º±ÜÃâÎóÓö˿ڡ£ 
¡¡¡¡ÓÐÁ½¸ö
ÖØÒªµÄkernel
º¯Êý¿ÉÒÔ±£Ö¤Çý¶¯³ÌÐò×öµ½ÕâÒ»µã¡£ 
¡¡¡¡1
£©
check_region(int io_port
£¬ 
int off_set) 
¡¡¡¡Õâ¸öº¯
Êý²ì¿´ÏµÍ³µÄI/O
±í£¬¿´ÊÇ·ñÓбðµÄÇý¶¯³ÌÐòÕ¼ÓÃijһ¶Î
I/O
¿Ú¡£ 
¡¡¡¡²ÎÊý1
£º
I/O
¶Ë¿ÚµÄ»ùµØ
Ö·£¬ 
¡¡¡¡²ÎÊý2
£º
I/O
¶Ë¿ÚÕ¼ÓõÄ
·¶Î§¡£ 
¡¡¡¡·µ»Ø
Öµ£º0 
û
ÓÐÕ¼Ó㬠·Ç
0
£¬ÒѾ­±»Õ¼Óᣠ
¡¡¡¡2
£©
request_region(int io_port
£¬ 
int off_set
£¬
char *devname) 
¡¡¡¡Èç¹ûÕâ
¶ÎI/O
¶Ë
¿ÚûÓб»Õ¼Óã¬ÔÚÎÒÃǵÄÇý¶¯³ÌÐòÖоͿÉÒÔʹÓÃËü¡£ÔÚʹÓÃ֮ǰ£¬±ØÐëÏòϵͳµÇ¼Ç£¬ÒÔ·ÀÖ¹±»ÆäËû³ÌÐòÕ¼ÓᣵǼǺó£¬ÔÚ
/proc/ioports
ÎļþÖпÉÒÔ¿´µ½ÄãµÇ¼ÇµÄ
I/O
¿Ú¡£ 
¡¡¡¡²ÎÊý1
£º
io
¶Ë¿ÚµÄ»ùµØ
Ö·¡£ 
¡¡¡¡²ÎÊý2
£º
io
¶Ë¿ÚÕ¼Óõķ¶
Χ¡£ 
¡¡¡¡²ÎÊý3
£ºÊ¹ÓÃÕâ¶Î
io
µØÖ·µÄÉ豸
Ãû¡£ 
¡¡¡¡ÔÚ¶ÔI/O
¿ÚµÇ¼Çºó£¬
¾Í¿ÉÒÔ·ÅÐĵØÓÃ
inb()
£¬ 
outb()
Ö®ÀàµÄº¯À´·ÃÎÊÁË¡£ 
ÔÚһЩpci
É豸ÖУ¬
I/O
¶Ë¿Ú±»Ó³Éäµ½Ò»¶ÎÄÚ´æÖÐÈ¥£¬Òª·ÃÎÊÕâЩ¶Ë¿Ú¾ÍÏ൱ÓÚ·ÃÎÊÒ»¶ÎÄÚ´æ¡£¾­³£ÐԵģ¬ÎÒÃÇÒª»ñµÃÒ»¿éÄÚ´æµÄ
ÎïÀíµØÖ·¡£
 
¡¡¡¡2
.ÄÚ´æ²Ù×÷
 
¡¡¡¡ÔÚÉ豸Çý¶¯³ÌÐòÖж¯Ì¬¿ª
±ÙÄڴ棬²»ÊÇÓÃmalloc
£¬¶øÊÇ
kmalloc
£¬»òÕßÓÃ
get_free_pages
Ö±½ÓÉêÇëÒ³¡£ÊÍ·ÅÄÚ´æÓõÄÊÇ
kfree
£¬»ò
free_pages
¡£ Çë
×¢Ò⣬
kmalloc
µÈº¯Êý·µ»ØµÄÊÇÎïÀíµØÖ·£¡ 
¡¡¡¡×¢
Ò⣬kmalloc×î´óÖ»ÄÜ¿ª±Ù
128k-16
£¬
16
¸ö×Ö½ÚÊDZ»Ò³
ÃèÊö·û½á¹¹Õ¼ÓÃÁË¡£ 
¡¡¡¡ÄÚ´æÓ³
ÉäµÄI/O
¿Ú£¬¼Ä´æÆ÷»òÕßÊÇÓ²¼þÉ豸µÄ
RAM(
ÈçÏÔ´æ
)
Ò»°ãÕ¼ÓÃ
F0000000
ÒÔÉϵĵØÖ·¿Õ¼ä¡£ÔÚÇý¶¯³ÌÐòÖв»ÄÜÖ±½Ó·ÃÎÊ£¬ÒªÍ¨¹ý
kernel
º¯Êý
vremap
»ñµÃ
ÖØÐÂÓ³ÉäÒÔºóµÄµØÖ·¡£ 
¡¡¡¡ÁíÍ⣬
ºÜ¶àÓ²¼þÐèÒªÒ»¿é±È½Ï´óµÄÁ¬ÐøÄÚ´æÓÃ×÷DMA
´«ËÍ¡£Õâ¿é
³ÌÐòÐèҪһֱפÁôÔÚÄڴ棬²»Äܱ»½»»»µ½ÎļþÖÐÈ¥¡£µ«ÊÇkmalloc
×î¶à
Ö»ÄÜ¿ª±Ù
128k
µÄÄÚ´æ¡£ 
¡¡¡¡Õâ¿


Ïà¹ØÎĵµ£º

¼¸¸öСµÄLinuxϵͳ

µÚÒ»¸ö£º DSL Linux
Damn Small LinuxÊÇÒ»Ì×»ùÓÚÒµÎñ¿¨£¨50M×Ö½Ú£©¿ÉÆô¶¯¹âÅ̵ÄLinux·¢ÐС£¾¡¹ÜËüµÄ¸öÍ·Èç´Ë֮С£¬ËüŬÁ¦³ÉΪһ·Ý¿ÉÓò¢ÇÒÒ×ÓõÄ×ÀÃæ¡£Damn Small LinuxµÄ×ÀÃæ¼¸ºõÊÇÍêÕûµÄÒ»Ì×£¬°üÀ¨xmms£¨Ö§³Ömp3ºÍmpeg£©¡¢FTP¿Í»§¶Ë¡¢»ùÓÚlinksµÄwebä¯ÀÀÆ÷¡¢µç×ÓÖÆ±íÈí¼þ¡¢µç×ÓÓʼþ³ÌÐò¡¢ Ó¢ÓïÆ´Ð´¼ì²é¡¢×Ö´¦ÀíÆ÷¡¢Èý¸ö± ......

Linux iptableÎĵµ

×ÜÀÀ
ÓÃiptables -ADC À´Ö¸¶¨Á´µÄ¹æ
Ôò
£¬-AÌí¼Ó -Dɾ³ý -C ÐÞ¸Ä
iptables - [RI] chain rule num rule-specification[option]
ÓÃiptables - RI ͨ¹ý¹æÔòµÄ˳ÐòÖ¸¶¨
iptables -D chain rule num[option]
ɾ³ýÖ¸¶¨¹æÔò
iptables -[LFZ] [chain][option]
ÓÃiptables -LFZ Á´Ãû [Ñ¡Ïî]
iptables -[NX] chain
ÓÃ -NX ......

Linux USB Host ControllerµÄ³õʼ»¯´úÂë¿ò¼Ü·ÖÎö

usb_hcd_omap_probe (const struct hc_driver *driver) (dev/ohci/ohci-omap.c)
ÔÚÄ£¿é³õʼ»¯Ê±±»platform_driver_register()µ÷Óã¬ÓÃÀ´³õʼ»¯Óëohci_hcd_omap_driver
ÏàÆ¥ÅäµÄusbÖ÷¿ØÖÆÆ÷.
->usb_create_hcd(driver); ´´½¨Ò»¸ö´ú±íhost-controllerµÄÊý¾Ý½á¹¹(struct usb_hcd)²¢³õʼ»¯ core/hcd.h
->hcd = kz ......

linux ½ø³ÌµÄ×ÊԴʹÓÃ

LinuxÄÚºË×·×Ùÿ¸ö½ø³ÌʹÓõÄ×Ê ±ÈÈç ¶ÑÕ»  ´úÂë¶Î  Êý¾Ý¶Î ÔËÐеÄλÖÃ
int getrusage(int who , struct rusage * usage) ¼ì²é½ø³Ì±¾Éí£¬×Ó½ø³Ì»òÕßÁ½ÕßÖ®ºÍµÄ×ÊԴʹÓÃ
       º¯Êý·µ»ØÒ»¸öusage½á¹¹£¬´æ·Å½ø³ÌʹÓõÄ×ÊÔ´
       usageÊǺܳ¤µÄL ......

linux ±àÒë qt4.6.2

×¼±¸¹¤×÷
    qt-everywhere-opensource-src-4.6.2.tar
 ½âѹ tar xvzf qt-everywhere-opensource-src-4.6.2.tar
 ÅäÖÃ:
   ./configure -prefix /home/hyk/Qt_self_compiled/Qt_4_6_2
£¨Ö»ÊǸıäÁ˰²×°Ä¿Â¼£©
   gmake
(ÖØÅäÖÃ gmake confclean , configure)
ÖÐÎç12 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ