Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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µÄÄÚ´æ¡£ 
¡¡¡¡Õâ¿ÉÒÔͨ¹ýÎþÉüһЩϵͳÄÚ´æµÄ·½·¨À´½â¾ö¡£ 
 
http://huxiongwei.spaces.eepw.com.cn/articles/article/item/74756
 


Ïà¹ØÎĵµ£º

linux socketСÀý

/*
socket selectÄ£ÐÍ£¬·þÎñ¶Ë
¾ø´ó¶àÊý×¢ÊÍ×Ô¼ºÐ´µÄ£¬²Î¿¼man
*/
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/wait.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/un.h>
#include &l ......

Ïê½âLinuxÖÐcron/crontab¹¤×÷Ô­Àí

ÏȽéÉܼ¸¸ö»ù±¾¸ÅÄ
ºǫ́½ø³Ì£ºÔÚºǫ́ÔËÐеÄÎÞÐëÓëÓû§½»»¥µÄ³ÌÐò¡£ÔÚ¶àÈÎÎñ²Ù×÷ϵͳÉÏÔËÐжà¸öºǫ́½ø³Ì£¬ÓÐЩºǫ́½ø³Ì£¨ÀýÈçÊØ»¤³ÌÐò£©´ÓÀ´¶¼²»ÐèÒªÓû§ÊäÈ룬ÆäËüһЩ½ø³ÌÖ»ÊÇÔÚÓû§Ã¦ÓÚÄ¿Ç°ÔËÐÐÓÚǰ̨µÄ³ÌÐòʱ²ÅÁÙʱ´¦ÓÚºǫ́¡£
ÊØ»¤½ø³ÌÊÇÒ»ÖÖºǫ́½ø³Ì¡£crond½ø³ÌÊÇÖÚ¶àÊØ»¤½ø³ÌÖеÄÒ»ÖÖ£¬¿´¿´cronÕâ¸öµ¥´ÊÔÚ×ÖµäÀïà ......

linux Çý¶¯¼ÓÔزâÊÔÃüÁî

#insmod ./driver_xx.ko
´Ëʱ#cat /proc/devices ÄÜ¿´µ½ driver_xx É豸
#mknod /dev/mygpio c 230 0 (230ÊÇÖ÷É豸ºÅ£¬0ÊÇ×ÓÉ豸ºÅ£©
{ÕâÀï¿ÉÒÔÐÞ¸ÄÉ豸Ãû³Æ,µ«ÊÇÒªºÍ²âÊÔ³ÌÐòÖÐÒ»Ö fd_pio = open(“/dev/mygpio”, O_RDWR);
×îºÃºÍregister_chrdev(MY_PIO_MAJOR, "mygpio", &my_pio_fops)ÖеÄÒ»ÖÂ}
ʹ ......

Amlogic open linux ±àÒë»·¾³°²×° ѧϰ±Ê¼Ç

     ÓÉÓÚ¹¤×÷ÐèÒªÏÖÔÚ¿ªÊ¼´Óͷѧϰlinux£¬ÏÂÃæÏȼǼamlogic openlinux°²×°²½Öè¡££¨Ç°ÌáÊÇ°²×°ÁËÐéÄâ»ú£©
Amlogic open linux ±àÒë»·¾³°²×°
Ò»¡¢gcc¹¤¾ßµÄ°²×°
1¡¢´ÓAmlogicÍøÕ¾ÉÏÏÂÔØgcc¹¤¾ß
  ÔÚÏÂÃæÏÂÔØIndex of /download/linux/gnutools
 gnutools-arc2.2-p4-ubuntu-9.04-2010- ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ