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Á½´Î¡£
Ïà¹ØÎĵµ£º
Ò»¡¢¸ÅÊö
ϵͳµ÷ÓÃÊÇÒ»¸öÈíÖжϣ¬ÖжϺÅÊÇ0x80£¬ËüÊÇÉϲãÓ¦ÓóÌÐòÓëLinuxϵͳÄں˽øÐн»»¥Í¨ÐŵÄΨһ½Ó¿Ú¡£Í¨¹ýint 0x80£¬¾Í¿ÉʹÓÃÄÚºË×ÊÔ´¡£²»¹ý£¬Í¨³£Ó¦ÓóÌÐò¶¼ÊÇʹÓþßÓбê×¼½Ó¿Ú¶¨ÒåµÄCº¯Êý¿â¼ä½ÓµÄʹÓÃÄں˵Äϵͳµ÷Ó㬼´Ó¦ÓóÌÐòµ÷ÓÃCº¯Êý¿âÖеĺ¯Êý£¬Cº¯Êý¿âÖÐ ......
1 ÏÂÔؽâѹ
ÔÚ¹Ù·½ÍøÕ¾ÏÂÔØ×îÐÂmesa£¬mesaÖ÷ÒªÓÐÒÔϼ¸²¿·Ö£º
MesaLib-x.y.z - Mesa¿âÔ´´úÂ룬Çý¶¯ºÍÎĵµ¡£
MesaDemos-x.y.z - OpenGLµÄÑÝʾºÍ²âÊÔ³ÌÐò¡£¾ø´ó¶àÊýÐèÒªGLUT£¨Mark KilgardµÄÔʼGLUT£¯freeglut£¯OpenGLUT£©
MesaGLUT-x.y.z - Mark KilgardµÄGLUT£¬ÅäºÏmesaʹÓã¬Ò²ÓÐDOS, OS/2, ......
×ÜÀÀ
ÓÃ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 ......
ÉùÃ÷
£º¿ÉÒÔ×ÔÓÉתÔر¾ÎÄ£¬µ«ÇëÎñ±Ø±£Áô±¾ÎĵÄÍêÕûÐÔ¡£
×÷Õß
£ºÕÅ×Ó¼á
email
:zhangzijian@163.com
˵Ã÷
£º±¾ÎÄËùÉ漰ʾÀý¾ùÔÚfedora core3ϵõ½¡£
--------------------------------------------------------------------------------
/proc
ÎļþϵͳϵĶàÖÖÎļþÌṩµÄϵͳÐÅÏ¢²»ÊÇÕë¶Ôij¸öÌض¨½ø³ÌµÄ£¬¶øÊÇÄ ......
£¨1£©ÈýÐǵĴ¥ÃþÆÁÇý¶¯s3c-ts.c£º
s3c_ts_init-¡·platform_driver_register(&s3c_ts_driver)£»
static struct platform_driver s3c_ts_driver = {
.probe = s3c_ts_probe,
.dri ......