Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : linux

LinuxÇý¶¯Ö®ioctl

ÔÚÓû§¿Õ¼ä£¬Ê¹ÓÃioctlϵͳµ÷ÓÃÀ´¿ØÖÆÉ豸£¬Ô­ÐÍÈçÏ£º
int ioctl(int fd, unsigned long cmd, ...);
µÚÈý¸ö²ÎÊý²»±íʾһ¸ö±äÊýÄ¿µÄ²ÎÊý£¬¶øÊÇÒ»¸öÀàÐÍ¿ÉÑ¡µÄ²ÎÊý¡£µÚÈý¸ö²ÎÊýÒÀÀµÓÚ¿ØÖÆÃüÁһЩÃüÁî²»ÓòÎÊý£¬Ò»Ð©ÓÃÒ»¸öÕûÊýÖµ£¬Ò»Ð©Ê¹ÓÃÖ¸Õë
1¡¢ioctlº¯Êý¶¨ÒåÃüÁî
ÔÚ±àдioctl´úÂë֮ǰ£¬Ê×ÏÈÐèÒª¶¨ÒåÃüÁΪÁË·ÀÖ¹¶Ô´íÎóµÄÉ豸ʹÓÃÕýÈ·µÄÃüÁÃüÁîºÅÓ¦¸ÃÔÚϵͳ·¶Î§ÄÚÊÂΨһµÄ
ioctlÃüÁî±àÂë±»»®·ÖΪ¼¸¸ö¶Î£¬include/asm/ioctl.hÖж¨ÒåÁËÕâЩ×ֶΣºÀàÐÍ£¨»ÃÊý£©£¬»ùÊý£¬´«ËÍ·½Ïò£¬²ÎÊý´óСµÈ¡£Documentation/ioctl-number.txtÎļþÖÐÂÞÁÐÁËÔÙÄÚºËÖÐÒѾ­Ê¹ÓÃÁ˵ĻÃÊý¡£
¶¨ÒåioctlÃüÁîµÄÕýÈ··½·¨ÊÇʹÓÃ4¸öλ¶Î£¬Õâ¸öÁбíÖнéÉܵķûºÅ¶¨ÒåÔÚ<linux/ioctl.h>ÖУº
Type£º
»ÃÊý£¨ÀàÐÍ£©£º±íÃ÷ÄĸöÉ豸µÄÃüÁÔڲο¼ÁËioctl-number.txtÖ®ºóÑ¡³ö£¬8λ¿í¡£
Number£º
ÐòºÅ£¬±íÃ÷É豸ÃüÁîÖеĵڼ¸¸ö£¬8λ¿í
ÄÚºËÌṩÁËÏÂÁкêÀ´°ïÖú¶¨ÒåÃüÁîºÅ£¬ÈçÏÂ
_IO(type, nr)£ºÃ»ÓвÎÊýµÄÃüÁî
_IOR(type, nr, datatype)£º´ÓÇý¶¯ÖжÁÊý¾Ý
_IOW(type, nr, datatype)£ºÐ´Êý¾Ýµ½Çý¶¯
_IOWR(type, nr, datatype)£ºË«Ïò´«ËÍ£¬typeºÍnumber×÷Ϊ²ÎÊý±»´«µÝ
2¡¢ioctlº¯ÊýµÄʵÏÖ
· ......

LinuxÉ豸Çý¶¯¿ª·¢Ïê½â ±Ê¼Ç1 LinuxÉ豸Çý¶¯ÈëÃÅ


ʲôÊÇÇý¶¯£¿
×îͨË׵ĽâÊ;ÍÊÇ“ÇýʹӲ¼þÉ豸Ðж¯”
×÷Óã¿
É豸Çý¶¯Óëµ×²ãÓ²¼þÖ±½Ó´ò½»µÀ£¬°´ÕÕÓ²¼þÉ豸µÄ¾ßÌ幤×÷·½Ê½¶ÁдÉ豸¼Ä´æÆ÷£¬Íê³ÉÉ豸µÄÂÖѯ¡¢Öжϴ¦Àí¡¢DMAͨÐÅ£¬½øÐÐÎïÀíÄÚ´æÏòÐéÄâÄÚ´æµÄÓ³É䣬×îÖÕʹͨÐÅÉ豸Äܹ»ÊÕ·¢Êý¾Ý£¬Ê¹ÏÔʾÉ豸Äܹ»ÏÔʾÎÄ×ֺͻ­Ã棬ʹ´æ´¢É豸Äܹ»¼Ç¼ÎļþºÅÊý¾Ý
¼ÆËã»úϵͳµÄÓ²¼þÖ÷ÒªÓÐcpu¡¢´æ´¢Æ÷¡¢ÍâÉè×é³É¡£µ«ÊÇËæ×ÅICÖÆÔ칤Òյķ¢Õ¹£¬Ä¿Ç°£¬Ð¾Æ¬µÄ¼¯³É¶ÈÔ½À´Ô½¸ß£¬ÍùÍùcpuÄÚ²¿¾Í¼¯³ÉÁË´æ´¢Æ÷ºÍÍâÉèÊÊÅäÆ÷¡£ARM´¦ÀíÆ÷¼¯³ÉÁËUART¡¢I2C¿ØÖÆÆ÷£¨2==ƽ·½£©¡¢USB¿ØÖÆÆ÷¡¢SDRAM¿ØÖÆÆ÷µÈ
Çý¶¯Õë¶ÔµÄ¶ÔÏóÊÇ´æ´¢Æ÷ºÍÍâÉ裨°üÀ¨cpuÄÚ²¿¼¯³ÉµÄ´æ´¢Æ÷ºÍÍâÉ裩£¬¶ø²»ÊÇÕë¶ÔcpuºË¡£Linux½«´æ´¢Æ÷ºÍÍâÉè·ÖΪ3¸ö»ù´¡´óÀࣺ×Ö·ûÉ豸¡¢¿éÉ豸¡¢ÍøÂçÉ豸
×Ö·ûÉ豸֮ÄÇЩ±ØÐëÒÔ´®ÐÐ˳ÐòÒÀ´Î½øÐзÃÎʵÄÉ豸£¬Èç´¥ÃþÆÁ¡¢´Å´øÇý¶¯Æ÷¡¢Êó±êµÈ¡£¿ÉÉ豸¿ÉÒÔ°´ÕÕÈÎÒâ˳Ðò½øÐзÃÎÊ£¬ÒÔ¿éΪµ¥Î»½øÐвÙ×÷£¬ÈçÓ²ÅÌ¡¢ÈíÇýµÈ¡£×Ö·ûÉ豸²»¾­¹ýϵͳµÄ¿ìËÙ»º³å£¬¶ø¿éÉ豸¾­¹ýϵͳµÄ¿ìËÙ»º³å¡£µ«ÊÇ£¬×Ö·ûÉ豸ºÍ¿éÉ豸²¢Ã»ÓÐÃ÷ÏԵĽçÏÞ£¬ÈçflashÉ豸·ûºÏ¿éÉ豸µÄÌØµã£¬µ«ÊÇÎÒÃÇÈÔÈ»¿ÉÒÔ°ÑËü×÷Ϊһ¸ö×Ö·ûÉ豸À´·ÃÎÊ
ÔÚLinuxϵͳÖУ¬ÍøÂçÉè±¸ÃæÏòÊý¾Ý°üµÄ ......

LinuxÉ豸Çý¶¯¿ª·¢Ïê½â ±Ê¼Ç2 Çý¶¯Éè¼ÆµÄÓ²¼þ»ù´¡

´¦ÀíÆ÷µÄ·ÖÀ࣬ÈçÏÂͼËùʾ£º
´æ´¢Æ÷¿É·ÖΪֻ¶Á´æ´¢Æ÷£¨ROM£©¡¢ÉÁ´æ£¨Flash£©¡¢Ëæ»ú´æÈ¡´æ´¢Æ÷£¨RAM£©¡¢¹â½éÖÊ´æ´¢Æ÷ºÍ´Å½éÖÊ´æ´¢Æ÷
Nor FlashºÍcpuµÄ½Ó¿ÚÊôÓÚµäÐ͵ÄÀàSRAM½Ó¿Ú£¬²»ÐèÒªÔö¼Ó¶îÍâµÄ¿ØÖƵç·¡£Nor FlashµÄÌØµãÊÇ¿ÉоƬÄÚÖ´ÐУ¬³ÌÐò¿ÉÒÔÖ±½ÓÔÚNorÄÚÔËÐС£¶øNand FashºÍcpuµÄ½Ó¿Ú±ØÐëÓÉÏàÓ¦µÄ¿ØÖƵç·½øÐÐת»»£¬µ±È»Ò²¿ÉÒÔͨ¹ýµØÖ·Ïß»òGPIO²úÉúNand Flash½Ó¿ÚµÄÐźš£Nand FlashÒԿ鷽ʽ½øÐзÃÎÊ£¬²»Ö§³ÖоƬÄÚÖ´ÐС£
FlashµÄ±à³ÌÔ­Àí¶¼ÊÇÖ»Äܽ«1дΪ0£¬¶ø²»Äܽ«0дÍê1.ËùÒÔÔÚFlash±à³Ì֮ǰ±ØÐ뽫¶ÔÓ¦µÄ¿é²Á³ý£¬¶ø²Á³ýµÄ¹ý³Ì¾ÍÊǰÑËùÓеÄλ¶¼Ð´Îª1µÄ¹ý³Ì£¬¿éÄÚµÄËùÓÐ×Ö½Ú±äΪ1xFF
´æ´¢Æ÷µÄ·ÖÀ࣬ÈçÏÂͼËùʾ£º 
Ô­Àíͼ·ÖÎö£ºÍ¨¹ýÔĶÁµç·°åµÄÔ­Àíͼ»ñµÃ¸÷ÖÖ´æ´¢Æ÷¡¢ÍâÉèËùʹÓõÄÓ²¼þ×ÊÔ´£¬Ö÷Òª°üÀ¨´æ´¢Æ÷ºÍÍâÉè¿ØÖÆÐ¾Æ¬ËùʹÓÃµÄÆ¬Ñ¡¡¢Öжϡ¢DMA×ÊÔ´¡£Í¨¹ý·ÖÎöƬѡµÃ³öоƬµÄÄÚ´æ¡¢I/O»ùµØÖ·£¬Í¨¹ý·ÖÎöÖжϡ¢DMAÐźŻñµÃоƬʹÓõÄÖжϺźÍDMAͨµÀ£¬¹éÄɳöÀàËÆÏÂ±í£º 
ʱÐò·ÖÎö£º¶ÔÇý¶¯¹¤³Ìʦ»òÓ²¼þ¹¤³Ìʦ¶øÑÔ£¬Ê±Ðò·ÖÎöµÄÒâ˼ÊÇÈÃоƬ֮¼äµÄ·ÃÎÊÂú×ãоƬÊÖ²áÖÐʱÐòͼÐźÅÓÐЧµÄÏȺó˳Ðò¡¢²ÉÑù½¨Á¢Ê±¼äºÍ±£³Öʱ¼äµÄÒªÇó£¬Ôڵ緰幤×÷²»Õý³£µÄʱºò£¬× ......

ÈÃǶÈëʽLinuxÖ§³ÖÆÕͨUSBÉãÏñÍ·

ÎÒÓõÄÊÇ×îÆÕͨµÄusbÉãÏñÍ·£¬Ö÷оƬΪÖÐÐÇ΢ZC0301P£¨¾Ý˵Êг¡Õ¼ÓÐÂÊ70£¥ÒÔÉÏ£©£¬COMS´«¸ÐÆ÷ΪhynixµÄhv7131e1,ÊÐÃæÉÏÄÜÂòµ½µÄ»ù±¾ÉÏÊÇÕâÖÖÅäÖá£
    linuxÏÂÇý¶¯£¬ÎÒÖ±½ÓÒÆÖ²spca5xx£¬ÏÖÔÚ³öÁËspc5xx-le£¨Light-Edition for Linux Embedded£©¸ü·½±ã£¬Ö±½ÓÕë¶ÔǶÈëʽϵͳ×öÁËÓÅ»¯£¬¿ÉÒԲο¼ÕâÀïhttp://mxhaard.free.fr/embedded.html
¸Õ²ÅʵÑéÁËһϣ¬spc5xx-leÒ²¿ÉÒÔÓá£ÏÂÃæ¾ÍÒÔspc5xx-leΪÀý¡£
¾ßÌå²½Ö裺
1¡¢ÎÒµÄlinuxÊÇATMEL×îа汾£¬Linux-2.4.27-vrs1-Atmel¡£toolchainΪarm-linux-2.95.3¡£
2¡¢ÅäÖÃÄںˣ¬ÊÔ×ÅÈÃlinux¿ÉÒÔÔÚat91rm9200ÉÏÔËÐÐÆðÀ´¡£
3¡¢ÏÂÔØ²¹¶¡£¨http://mxhaard.free.fr/spca50x/Doc/KernelPatch
£©£¬´ò²¹¶¡
    cp usb-2.4.31.patch.gz  /work/Atmel-9200-dist/linux-2.4.27-vrs1-ATMEL/drivers/usb
    cd /work/Atmel-9200-dist/linux-2.4.27-vrs1-ATMEL/drivers/usb
    tar -xvzf usb-2.4.31.patch.gz
    patch -p1 < usb-2.4.31.patch
4¡¢ÖØÐÂÅäÖÃÄںˣ¬ÄÚºË USB support  ---> USB Multimedia devices   Ñ¡ÏîÏÂÓ¦¸ÃÓÐ
& ......

LinuxÉ豸Çý¶¯¿ª·¢Ïê½â ±Ê¼Ç3 LinuxÄں˼°Äں˱à³Ì


ÔÚÉ豸Çý¶¯·½Ã棬Linux2.6Ïà¶ÔÓÚLinux2.4ÓнϴóµÄ¸Ä¶¯£¬ÕâÖ÷Òª±íÏÖÔÚÄÚºËAPIÖÐÔö¼ÓÁ˲»ÉÙй¦ÄÜ£¨ÈçÄÚ´æ³Ø£©¡¢sysfsÎļþϵͳ¡¢ÄÚºËÄ£¿é´Ó.o±äΪ.ko¡¢Çý¶¯Ä£¿é±àÒ뷽ʽ¡¢Ä£¿éʹÓüÆÊý¡¢Ä£¿é¼ÓÔØºÍÐ¶ÔØº¯ÊýµÄ¶¨ÒåµÈ·½Ãæ
LinuxÄÚºËÖ÷ÒªÓнø³Ìµ÷¶È¡¢ÄÚ´æ¹ÜÀí¡¢ÐéÄâÎļþϵͳ¡¢ÍøÂç½Ó¿ÚºÍ½ø³Ì¼äͨÐŵÈ5¸ö×Óϵͳ×é³É£¬ÈçÏÂͼ£º
 
ÔÚÉ豸Çý¶¯±à³ÌÖУ¬µ±ÇëÇóµÄ×ÊÔ´²»ÄÜÂú×ãʱ£¬Çý¶¯Ò»°ã»áµ÷¶ÈÆäËûÏß³ÌÖ´ÐУ¬²¢Ê¹Çý¶¯¶ÔÓ¦µÄ½ø³Ì½øÈë˯Ãß״̬£¬Ö±µ½ËüÇëÇóµÄ×ÊÔ´±»ÊÍ·Å£¬²Å»á±»»½ÐѶø¼ÍÄîÈÕ¾ÍÐ÷״̬
ÔÚÉ豸Çý¶¯±à³ÌÖУ¬Èç¹ûÐèÒª¼¸¸ö²¢·¢Ö´ÐеÄÈÎÎñ£¬¿ÉÒÔÆô¶¯ÄÚºËỊ̈߳¬Æô¶¯ÄÚºËÏ̵߳ĺ¯ÊýΪ£ºint kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
LinuxÄÚ´æ¹ÜÀíÍê³ÉΪÿ¸ö½ø³Ì½øÐÐÐéÄâÄÚ´æµ½ÎïÀíÄÚ´æµÄת»»¡£Ò»°ã¶øÑÔ£¬LinuxµÄÿ¸ö½ø³ÌÏíÓÐ4GBµÄÄÚ´æ¿Õ¼ä£¬0-3GBÊôÓÚÓû§¿Õ¼ä£¬3-4GBÊôÓÚÄں˿ռ䣬Äں˿ռä¶Ô³£¹æÄÚ´æ¡¢I/OÉ豸ÄÚ´æÒÔ¼°¸ß¶ËÄÚ´æ´æÔÚ²»Í¬µÄ´¦Àí·½Ê½
ÐéÄâÎļþϵͳÒþ²ØÁ˸÷ÖÖÓ²¼þµÄ¾ßÌåϸ½Ú£¬ÎªËùÓеÄÉ豸ÌṩÁËͳһµÄ½Ó¿Ú¡£¶øÇÒ£¬Ëü¶ÀÁ¢ÓÚ¸÷¸ö¾ßÌåµÄÎļþϵͳ£¬ÊǶԸ÷ÖÖÎļþϵͳµÄÒ»¸ö³éÏó£¬ËüʹÓÃsuper block´æ·ÅÎļþϵͳÏà¹ØÐÅÏ¢£¬Ê¹ÓÃË÷Òý½ ......

Linuxѧϰ³õ¼Ç


ÎҵĵÚÒ»¸öshell³ÌÐò£ºtt1.sh
while true
do
       date;
       sleep 1;
done
Ö´Ðз½Ê½1£ºsh tt1.sh
Ö´Ðз½Ê½2£º./tt1.sh£¨ÒªÇó¸ÃÎļþÓпÉÖ´ÐÐȨÏÞ£©
Shell±äÁ¿£º
»·¾³±äÁ¿£º
       ¹¤¾ß£ºecho »ØÏÔ
       ÏÔʾ»·¾³±äÁ¿£ºecho $HOME
                              echo $HOSTNAME
                              echo $LOGNAME
       Ð޸Ļ·¾³±äÁ¿£ºexport PATH=/home/ding:$PATH      ¹¹½¨½»²æ±àÒ빤¾ßÊÇÓõ½
vi ~/.bashrc
/etc/X11/xinit/xinitrc
pwd µ±Ç°Ä¿Â¼
¹²ÏíĿ¼£º/mnt/hgfs
nfsЭÒé
mount -t nfs 192.168.1.117:/dingyuanpu /mnt/nfs
È«²¿É¾³ý£ ......
×ܼǼÊý:5772; ×ÜÒ³Êý:962; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [129] [130] [131] [132] 133 [134] [135] [136] [137] [138]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ