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

LinuxÄں˷ÃÎÊÍâÉèI/O×ÊÔ´µÄ·½Ê½

ÎÒÃÇÖªµÀĬÈÏÍâÉèI/O×ÊÔ´ÊDz»ÔÚLinuxÄں˿ռäÖеģ¨Èçsram»òÓ²¼þ½Ó¿Ú¼Ä´æÆ÷µÈ£©£¬ÈôÐèÒª·ÃÎʸÃÍâÉèI/O×ÊÔ´£¬±ØÐëÏȽ«ÆäµØÖ·Ó³Éäµ½Äں˿ռäÖÐÀ´£¬È»ºó²ÅÄÜÔÚÄں˿ռäÖзÃÎÊËü¡£
 
LinuxÄں˷ÃÎÊÍâÉèI/OÄÚ´æ×ÊÔ´µÄ·½Ê½ÓÐÁ½ÖÖ£º¶¯Ì¬Ó³Éä(ioremap)ºÍ¾²Ì¬Ó³Éä(map_desc)¡£
 
Ò»¡¢¶¯Ì¬Ó³Éä(ioremap)·½Ê½
 
¶¯Ì¬Ó³É䷽ʽÊÇ´ó¼ÒʹÓÃÁ˱Ƚ϶àµÄ£¬Ò²±È½Ï¼òµ¥¡£¼´Ö±½Óͨ¹ýÄÚºËÌṩµÄioremapº¯Êý¶¯Ì¬´´½¨Ò»¶ÎÍâÉèI/OÄÚ´æ×ÊÔ´µ½ÄÚºËÐéÄâµØÖ·µÄÓ³Éä±í£¬´Ó¶ø¿ÉÒÔÔÚÄں˿ռäÖзÃÎÊÕâ¶ÎI/O×ÊÔ´¡£
Ioremapºê¶¨ÒåÔÚasm/io.hÄÚ£º
#define ioremap(cookie,size)           __ioremap(cookie,size,0)
 
__ioremapº¯ÊýÔ­ÐÍΪ(arm/mm/ioremap.c)£º
void __iomem * __ioremap(unsigned long phys_addr, size_t size, unsigned long flags);
phys_addr£ºÒªÓ³ÉäµÄÆðʼµÄIOµØÖ·
size£ºÒªÓ³ÉäµÄ¿Õ¼äµÄ´óС
flags£ºÒªÓ³ÉäµÄIO¿Õ¼äºÍȨÏÞÓйصıêÖ¾
¸Ãº¯Êý·µ»ØÓ³ÉäºóµÄÄÚºËÐéÄâµØÖ·(3G-4G). ½Ó×űã¿ÉÒÔͨ¹ý¶Áд¸Ã·µ»ØµÄÄÚºËÐéÄâµØÖ·È¥·ÃÎÊÖ®Õâ¶ÎI/OÄÚ´æ×ÊÔ´¡£
 
¾ÙÒ»¸ö¼òµ¥µÄÀý×Ó: (È¡×Ôs3c2410µÄiisÒôƵÇý¶¯)
±ÈÈçÎÒÃÇÒª·ÃÎÊs3c2410ƽ̨ÉϵÄI2S¼Ä´æÆ÷, ²é¿´datasheet ÖªµÀIISÎïÀíµØÖ·Îª0x55000000£¬ÎÒÃǰÑËü¶¨ÒåΪºêS3C2410_PA_IIS£¬ÈçÏ£º
#define S3C2410_PA_IIS    (0x55000000)
ÈôÒªÔÚÄں˿ռä(iisÇý¶¯)ÖзÃÎÊÕâ¶ÎI/O¼Ä´æÆ÷(IIS)×ÊÔ´ÐèÒªÏȽ¨Á¢µ½Äں˵ØÖ·¿Õ¼äµÄÓ³Éä:
our_card->regs = ioremap(S3C2410_PA_IIS, 0x100);
if (our_card->regs == NULL) {
         err = -ENXIO;
         goto exit_err;
}
´´½¨ºÃÁËÖ®ºó£¬ÎÒÃǾͿÉÒÔͨ¹ýreadl(our_card->regs )»òwritel(value, our_card->regs)µÈIO½Ó¿Úº¯ÊýÈ¥·ÃÎÊËü¡£
 
¶þ¡¢¾²Ì¬Ó³Éä(map_desc)·½Ê½
 
ÏÂÃæÖØµã½éÉܾ²Ì¬Ó³É䷽ʽ¼´Í¨¹ýmap_desc½á¹¹Ì徲̬´´½¨I/O×ÊÔ´Ó³Éä±í¡£
ÄÚºËÌṩÁËÔÚϵͳÆô¶¯Ê±Í¨¹ýmap_desc½á¹¹Ì徲̬´´½¨I/O×ÊÔ´µ½Äں˵ØÖ·¿Õ¼äµÄÏßÐÔÓ³Éä±í(¼´page table)µÄ·½Ê½£¬ÕâÖÖÓ³Éä±íÊÇÒ»ÖÖÒ»Ò»Ó³ÉäµÄ¹ØÏµ¡£³ÌÐòÔ±¿ÉÒÔ×Ô¼º¶¨Òå¸ÃI/OÄÚ´æ×ÊÔ´Ó³ÉäºóµÄÐéÄâµØÖ·¡£´´½¨ºÃÁ˾²Ì¬Ó³Éä±í£¬ÔÚÄں˻òÇý¶¯ÖзÃÎʸÃI/O×ÊԴʱÔòÎÞÐèÔÙ½øÐÐioreamp¶¯Ì¬Ó³É䣬¿ÉÒÔÖ±½Óͨ¹ýÓ³ÉäºóµÄI/OÐéÄâµØÖ·È¥·ÃÎ


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì(Áù) L2CAP±à³ÌʵÀý

ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
 Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......

linux 0.11 ÄÚºËѧϰ setup.s

²Î¿¼×ÊÁÏ LinuxÄÚºËÍêȫעÊÍ.pdf
            ÍøÉÏÏà¹Ø×ÊÁÏ
! setup³ÌÐòµÄÖ÷Òª×÷ÓÃÊÇÀûÓÃrom biosµÄÖжÏÀ´¶ÁÈ¡»úÆ÷ϵͳ²ÎÊý£¬²¢½«ÕâЩÊý¾Ý±£´æÔÚ0x90000
! ¿ªÊ¼µÄλÖÃ(¸²¸ÇµôÁËbootsect³ÌÐòËùÔÚµÄλÖÃ)£¬ËùÈ¡µÃµÄ²ÎÊý±»Äں˵ÄÏà¹Ø³ÌÐòʹÓá£×¢ÒâÔÚbootsect
! Ö ......

LINUXÆô¶¯·þÎñÏê½â

×öΪRED HAT LINUXµÄÆô¶¯À´Ëµ,Èç¹ûÖ»ÊǸöÈËʹÓõϰ,Ö»ÐèÒªÆôÓÃÒÔÏ·þÎñ,Èç¹û»¹ÔÚ¾«¼õµÄ»°,Ö»ÆôÓÃNetwork¾Í¿É,ÕâÊÇFedora core 2Æô¶¯·þÎñ.
acpid£ºÌṩ¸ß¼¶µçÔ´¹ÜÀí¡£
cpuspeed£ºÄÜÌá¸ßϵͳÔËÐÐЧÂÊ¡£
crond£ºÖ´ÐÐÀýÐÐÐÔ³Ìʽ¡£
Iptables£º ·À»ðǽ¡£
Kudzu£º×Ô¶¯¼ì²âÓ²¼þµÄ±ä¸ü¡£
Network£º ¼¤»îÍøÂç½Ó¿Ú¡£
Random£º¼ ......

linux¸Äip¡¢Íø¹Ø¡¢DNSµÄ×îÍÆ¼ö·½·¨£¨linuxÉÏÍøÎÊÌ⣩

      ¹«Ë¾½ñÌì»»ÁËÍø¶Î£¬ËùÒÔÄÚÍø·þÎñÆ÷µÄipʲôµÄ¶¼ÐèÒª¸Ä¡£°Ñ½ö»áµÄÕâÒ»µãдÉÏÁË£¬ºÜ¼òª¡£
1¡¢ÐÞ¸ÄipºÍÍø¹Ø£¬´Ë·½·¨ÖØÆôºóÉúЧ
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
2¡¢ÐÞ¸ÄDNS
#vi /etc/resolv.conf
3¡¢ÖØÆôÍøÂçÅäÖõÄÁ½ÖÖ·½·¨
#/etc/init.d/network restart
#service net ......

½éÉÜÒ»ÖÖ¶àLINUXϵͳµÄʵÏÖ·½·¨

   ½éÉÜÒ»ÖÖ¶àLINUXϵͳµÄʵÏÖ·½·¨
            
 
Ŀǰ,LINUX°æ±¾Öڶ࣬×ÀÃæ»·¾³°üÀ¨Gnome,KDEµÈ£¬ÔÚһ̨µçÄÔÉϰ²×°WindowsϵͳºÍ¶àLINUXϵͳºÜÓбØÒª.ÕâÀï½éÉÜÒ»ÖÖ·½·¨£¬¶à¸öLINUXϵͳ֮¼ä¸÷×Ô¶ÀÁ¢,»¥²»·ÃÎÊ£¬¸÷×Ô¶¼ÄÜ·ÃÎÊWindows×ÊÔ´£® ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ