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

linuxÉ豸Çý¶¯¿ª·¢Ïê½â——globalmem



 
linuxÉ豸Çý¶¯¿ª·¢Ïê½â——globalmem
ÊÕ²Ø



³£¼ûµÄÁ½ÖÖ´íÎó£º
1.ÔÚ²åÈëÄ£¿éµÄʱºò³öÏÖÈçÏÂÎÊÌ⣺
# insmod globalmem.ko insmod: error inserting 'globalmem.ko': -1
Device or resource busy
ANSWER:Ö÷É豸ºÅ±»Õ¼ÓÃÁË£¬»»ÁíÒ»¸ö¡£ Äã°Ñglobalmem.cÎļþÀïÃæµÄºê¶¨ÒåÄÇÀï¸ÄΪ226»òÆäËû£¬È»ºóÔÙ±àÒë¾Í¿ÉÒÔ²åÈëÁË£¡
ÌØ±ð×¢Ò⣺      Èç¹û»»ÁËÖ÷É豸ºÅÒÔºó£¬ÏÂÃæ½Ó×Å´´½¨½ÚµãµÄʱºòÒ²Òª¸Ã£¬·ñÔò³öÏÖÏÂÃæ´íÎó£º
# mknod /dev/globalmem c 254 0    /*ÕâÀïµÄ254¸úÒÑÐ޸ĵÄÖ÷É豸ºÅ228²»Ò»ÖÂ*/
# echo
'hello world' > /dev/globalmem
/bin/sh: can't create
/dev/globalmem: No such device or address
½â¾ö°ì·¨£º
# rm /dev/globalmem
# mknod /dev/globalmem c 226 0
# echo
'hello world' > /dev/globalmem
written 12 bytes(s) from 0
2.¼ÓÔØºÍ´´½¨É豸½Úµã¶¼Êdzɹ¦µÄ£®µ«¾ÍÊÇÓÃcatÃüÁî²é¿´Ê±£¬ËäÈ»¶Á³öÁËÕýÈ·µÄ×Ö·û£¬È´×ÜÊÇÔÚ×îºó»¹Òª¼ÓÉÏÒ»¾äÌáʾ£¢ÕÒ²»µ½É豸»òµØÖ·£¢£®²»ÖªÎª
ºÎ»á¶à³öÕâ¾äÀ´£®
# echo 'hello world!' > /dev/globalmem
written 13 bytes(s)
from 0
# cat /dev/
/dev/console    /dev/globalmem  /dev/null
#
cat /dev/globalmem
read 4096 bytes(s) from 0
hello world!
cat:
read error: No such device or address
#
ANSWER:ÆäʵûÎÊÌ⣬
<1>
Äã°Ñglobalmem_readº¯ÊýÖеÄif (p >£½ GLOBALMEM_SIZE)¸ÄΪif (p >
GLOBALMEM_SIZE)¾ÍºÃÁË¡£¾ßÌåÔ­ÒòÊÇÒ»´Îµ÷ÓÃcat»á¶ÁÁ½´Î£¬Ã¿´Î¶ÁÈ¡4096¸ö×Ö½Ú£¬´ËʱÎļþ¶ÁÖ¸Õëppos¾ÍÊÇ4096ÁË£¬ÔÚµÚ¶þ´Î¶Á
µÄʱºò£¬µ½if (p >£½
GLOBALMEM_SIZE)ÕâÀïÌõ¼þÎªÕæ£¬globalmem_read¾Í·µ»ØENXIO´íÎóÁË£¬ËùÒԲŻá³öÏÖNo such device or
address"´íÎó¡£²»ÖªµÀÔÚËÎÀÏʦµÄ»ú×ÓÉÏΪʲô¾ÍÊÇÕýÈ·µÄ£¿
<2> Ëᦻª
£º·µ»Ø´íÎóÖµ²ÅÊÇÕýÈ·µÄ£¬ÒòΪ¶ÁµÄλÖÃÒѾ­Ô½½ç£¬ËùÒÔÒª·µ»Ø´íÎ󡣸÷µ»Ø´íÎóµÄʱºò·µ»ØÕýÈ·£¬ÄǾÍÊÇ´íÎ󡣸ijÉif (p >
GLOBALMEM_SIZE)ÊÇ´íÎóµÄ¡£
<3> ¸ù¾ÝÉÏÃæÁ½µã¿ÉÒÔС½áÊéÉÏÊÇûÓдíÎóµÄ¡£Êä³öµÄ´íÎóÐÅÏ¢ÊÇÕý³£µÄdebugÐÅÏ¢£¬Ç§²»¸ÃÍò²»¸Ã¾ÍÊÇcatµ÷ÓÃÁËreadÁ½´Î¡£


Ïà¹ØÎĵµ£º

Linux 0.11°æ ½ø³Ìµ÷¶ÈÎı¾½â˵

    0.11ºËÖнø³ÌµÄµ÷¶ÈÖ÷ÒªÓÉËĸö²¿·ÖÊý×é³É£ºµ÷¶È³õʼ»¯¡¢µ÷¶È¡¢Ë¯Ãß¡¢»½ÐÑ¡£
     Ò»¡¢µ÷¶È³õʼ»¯:sched_init()
     ÎÒÃÇÖªµÀÔÚÄں˳õʼ»¯£¨main£©¹ý³ÌÖУ¬Òª½«ÈÎÎñ0ת»»µ½Óû§Ì¬ÏÂÖ´ÐУ¬Ò²¾ÍÊǽ¨Á¢LinuxÖеĵÚÒ»¸öÓû§³ÌÐò¡£¼ÈÈ»ÈÎÎñ0֮ǰÊÇÔÚÄÚºË̬ÏÂÖ´Ðе ......

s3c2440»ùÓÚlinuxµÄbuttonºÍled×Ö·ûÉ豸Çý¶¯

ÏÈÊÇÄÚºËÇý¶¯³ÌÐò£º
#include <linux/module.h>//¾ßÌåµÄÍ·ÎļþλÖÃΪ/opt/FriendlyARM/mini2440/linux-2.6.29/include/linux/*.h
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/poll.h>
#include <l ......

linuxÃüÁî


NO
·ÖÀà
PS1
ÃüÁîÃû
Ó÷¨¼°²ÎÊý
¹¦ÄÜ×¢½â
1
ÏÔʾĿ¼ÐÅÏ¢
#
ls
ls -a
Áгöµ±Ç°Ä¿Â¼ÏµÄËùÓÐÎļþ£¬°üÀ¨ÒÔ.Í·µÄÒþº¬Îļþ
#
ls
ls -l»òll
Áгöµ±Ç°Ä¿Â¼ÏÂÎļþµÄÏêϸÐÅÏ¢
#
ls
ls -a
ÏÔʾËùÓÐÎļþ£¬°üº¬Òþ²Ø¡£
#
ls
ls -al
ÏÔʾËùÓÐÎļþµÄÏêϸÐÅÏ¢¡£
2
²é¿´Â·¾¶
#
pwd
pwd
²é¿´µ±Ç°ËùÔÚĿ¼µÄ¾ø ......

LINUXÏÂUSB1.1É豸ѧϰС¼Ç(4)_uhci(2)


 
LINUXÏÂUSB1.1É豸ѧϰС¼Ç(4)_uhci(2)
 
À´Ô´: ChinaUnix²©¿Í ¡¡ÈÕÆÚ£º 2009.03.14 16:44¡¡(¹²ÓÐÌõÆÀÂÛ) ÎÒÒªÆÀÂÛ
 
ºÃ~ ÏÖÔÚÍòʾ㱸,ֻǷuhciÓ²¼þµÄ×¢²áÁË
ÏÖÔÚ̸һÏÂuhciÓ²¼þµÄ×é³É,uhciµÄÓ²¼þ·ÖΪÁ½¸ö´óµÄ²¿·Ö,Ö÷»ú¿ØÖÆÆ÷ºÍ¸ù¼¯Ï߯÷,ÈçÏÂͼ
µ±Ìá½»uhciÓ²¼þµÄ×¢²áµ½pci×ÜÏߺó,¾­¹ýÒ»ÂÖÆ¥Åä,Ö ......

linux µ÷¶ÈÆ÷·¢Õ¹¼òÊö


·¢²¼µÄ 2.6.23 ÄÚºËÖаüº¬ÁËÒ»¸öÖØÒªµÄ±ä»¯£¬ÓÃCFSÌæ´úÁËÒÔǰµÄµ÷¶ÈÆ÷¡£CFS ±»ºÏ²¢µ½ mainline ֮ǰ£¬¹ØÓÚÄں˵÷¶ÈÆ÷»¹ÓÐÒ»¸öÖØÒªµÄ patch£ºRSDL¡£×îÖÕ 2.6.23 ¾ö¶¨½« CFS ºÏ²¢µ½ mainline ¶ø·ÅÆúÁË RSDL¡£ÎªÊ²Ã´ÒªÒýÈëеĵ÷¶ÈÆ÷£¬CFS ºÍ RSDL ÓÐʲôÁªÏµºÍÇø±ð£¿±¾ÎÄÊÔͼ¶ÔÄں˵÷¶ÈËã·¨µÄ·¢Õ¹ÀúÊ·×öÒ»¸ö¼òÒª½éÉÜ£¬Ï£ÍûÄ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ