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

LinuxÉ豸Çý¶¯¿ª·¢Ïê½â ±Ê¼Ç11 ÄÚ´æÓëI/O·ÃÎÊ

typedef void (*lpFunction) ();//¶¨ÒåÒ»¸öÎÞ²ÎÊý£¬ÎÞ·µ»ØÀàÐ͵ĺ¯ÊýÖ¸ÕëÀàÐÍ
//¶¨ÒåÒ»¸öº¯ÊýÖ¸Õ룬ָÏòcpuÆô¶¯ºóËùÖ´ÐеĵÚÒ»ÌõÖ¸ÁîµÄλÖÃ
lpFunction lpReset = (lpFunction)0xF000FFF0;
lpReset();//µ÷Óú¯Êý
 
MMUÍ£¹©ÐéÄâµØÖ·ºÍÎïÀíµØÖ·µÄÓ³Éä¡¢ÄÚ´æ·ÃÎÊȨÏÞ±£»¤ºÍCache»º´æ¿ØÖƵÈÓ²¼þÖ§³Ö¡£²Ù×÷ϵͳÄں˽èÖúMMU£¬¿ÉÒÔÈÃÓû§¸Ð¾õµ½ºÃÏñ³ÌÐò¿ÉÒÔʹÓ÷dz£´óµÄÄÚ´æ¿Õ¼ä£¬´Ó¶øÊ¹µÃ±à³ÌÈËÔ±ÔÚд³ÌÐòʱ²»Óÿ¼ÂǼÆËã»úµÄÎïÀíÄÚ´æµÄʵ¼ÊÈÝÁ¿
 
Èçͼ£¬µ±ARMÒª·ÃÎÊ´æ´¢Æ÷ʱ£¬MMUÏȲéÕÒTLBÖеÄÐéÄâµØÖ·±í¡£Èç¹ûARMµÄ½á¹¹Ö§³Ö·Ö¿ªµÄÊý¾ÝTLB£¨DTLB£©ºÍÖ¸ÁîTLB£¨ITLB£©£¬Ôò³ýÈ¥Ö¸ÁîʹÓõÄITLBÍ⣬ÆäËûµÄ¶¼ÊÇÓÃDTLB
 
ÈôTLBÖÐûÓÐÐéÄâµØÖ·µÄÈë¿Ú£¬Ôòת»»±í±éÀúÓ²¼þ´Ó´æ·ÅÓÚÖ÷´æ´¢Æ÷ÖеÄת»»±íÖлñÈ¡µØÖ·×ª»»ÐÅÏ¢ºÍ·ÃÎÊȨÏÞ£¨¼´Ö´ÐÐTTW£©£¬Í¬Ê±½«ÕâЩÐÅÏ¢·ÅÈëTLB£¬Ëü»òÕß±»·ÅÔÚÒ»¸öûÓÐʹÓõÄÈë¿Ú»òÕßÌæ»»Ò»¸öÒѾ­´æÔÚµÄÈë¿Ú¡£Ö®ºó£¬ÔÚTLBÌõÄ¿ÖпØÖÆÐÅÏ¢µÄ¿ØÖÆÏ£¬µ±·ÃÎÊȨÏÞÔÊÐíʱ£¬¶ÔÕæÊµÎïÀíµØÖ·µÄ·ÃÎʽ«ÔÚCache»òÕßÔÚÄÚ´æÖз¢Éú
Óû§¿Õ¼ä0-3GB£¬Äں˿ռä3-4GB£¬Óû§½ø³Ìͨ³£Çé¿öÏÂÖ»ÄÜ·ÃÎÊÓû§¿Õ¼äµÄÐéÄâµØÖ·£¬²»ÄÜ·ÃÎÊÄں˿ռäÐéÄâµØÖ·¡£Óû§½ø³ÌÖ»ÄÜͨ¹ýϵͳµ÷Óõȷ½Ê½²ÅÄÜ·ÃÎʵ½Äں˿ռä
ÿ¸ö½ø³ÌµÄÓû§¿Õ¼ä¶¼ÊÇÍêÈ«¶ÀÁ¢¡¢»¥²»Ïà¸ÉµÄ£¬Óû§½ø³Ì¸÷×ÔÓв»Í¬µÄÒ³±í¡£¶øÄں˿ռäÊÇÓÉÄں˸ºÔðÓ³É䣬Ëü²¢²»»á¸ú׎ø³Ì¸Ä±ä£¬Êǹ̶¨µÄ¡£ÄÚºË¿Õ¼äµØÖ·ÓÐ×Ô¼º¶ÔÓ¦µÄÒ¶±í£¬Äں˵ÄÐéÄâ¿Õ¼ä¶ÀÁ¢ÓÚÆäËû³ÌÐò
 
LinuxÖеÄ1GBÄں˵ØÖ·¿Õ¼äÓÖ±»»®·ÖΪÄÚ´æÓ³ÉäÇø£¬ÐéÄâÄÚ´æ·ÖÅäÇø¡¢¸ß¶ËÒ³ÃæÓ³ÉäÇø¡¢×¨ÓÃÒ³ÃæÓ³ÉäÇøºÍϵͳ±£ÁôÓ³ÉäÇø
 
void kmalloc(size_t size, int flags);
µÚ¶þ¸ö²ÎÊýΪ·ÖÅä±êÖ¾£¬ÓÃÓÚ¿ØÖÆkmallocµÄÐÐΪ£¬×îͨ³£ÓõķÖÅä±êÖ¾ÊÇGFP_KERNEL£¬Æäº¬ÒåÊÇÔÙÄں˿ռäµÄ½ø³ÌÖÐÉêÇëÄÚ´æ¡£KmallocµÄµ×²ãÒÀÀµ__get_free_pages()ʵÏÖ£¬GFPÕýºÃÊÇÕâ¸öº¯ÊýµÄËõд£¬Ê¹ÓÃGFP_KERNEL±êÖ¾ÉêÇëÄÚ´æÊ±£¬ÈôÔÝʱ²»ÄÜÂú×㣬Ôò½ø³Ì»á˯ÃߵȴýÒ³£¬¼´ÒýÆð×èÈû£¬Òò´Ë²»ÄÜÔÚÖжÏÉÏÏÂÎÄ»ò³ÖÓÐ×ÔÐýËøµÄʱºòʹÓô˱êÖ¾ÉêÇëÄÚ´æ
ÔÚÖжϴ¦Àíº¯Êý¡¢taskletºÍÄں˶¨Ê±Æ÷µÈ·Ç½ø³ÌÉÏÏÂÎÄÖв»ÄÜ×èÈû£¬´ËʱÇý¶¯Ó¦¸ÃʹÓÃGFP_ATOMIC±êÖ¾À´ÉêÇ룬Èô²»´æÔÚ¿ÕÏÐÒ³£¬Ö±½Ó·µ»Ø
 
__get_free_pages()£º
´ËϵÁк¯Êý°üÀ¨£º
get_zeroed_page(unsigned int flags)£»
·µ»ØÒ»¸öÖ¸ÏòÐÂÒ³µÄÖ¸Õë²¢ÇÒ½«¸ÃÒ³ÇåÁã
__get_free_page(unsigned int flags)
¸Ãºê·µ»ØÒ»


Ïà¹ØÎĵµ£º

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

ÎÒÓõÄÊÇ×îÆÕͨµÄusbÉãÏñÍ·£¬Ö÷оƬΪÖÐÐÇ΢ZC0301P£¨¾Ý˵Êг¡Õ¼ÓÐÂÊ70£¥ÒÔÉÏ£©£¬COMS´«¸ÐÆ÷ΪhynixµÄhv7131e1,ÊÐÃæÉÏÄÜÂòµ½µÄ»ù±¾ÉÏÊÇÕâÖÖÅäÖá£
    linuxÏÂÇý¶¯£¬ÎÒÖ±½ÓÒÆÖ²spca5xx£¬ÏÖÔÚ³öÁËspc5xx-le£¨Light-Edition for Linux Embedded£©¸ü·½±ã£¬Ö±½ÓÕë¶ÔǶÈëʽϵͳ×öÁËÓÅ»¯£¬¿ÉÒԲο¼ÕâÀïhttp://mxh ......

LinuxÉ豸Çý¶¯¿ª·¢Ïê½â ±Ê¼Ç5 LinuxÎļþÓëÉ豸ϵͳ

Ó¦ÓóÌÐòºÍVFSÖ®¼äµÄ½Ó¿ÚÊÇϵͳµ÷Ó㬶øVFSÓë´ÅÅÌÎļþϵͳÒÔ¼°ÆÕͨÉ豸֮¼äµÄ½Ó¿ÚÊÇfile_operations½á¹¹Ìå³ÉÔ±º¯Êý¡£ÓÉÓÚ×Ö·ûÉ豸µÄÉϲãûÓдÅÅÌÎļþϵͳ£¬ËùÒÔ×Ö·ûÉ豸µÄfile_operations³ÉÔ±º¯ÊýÖ±½ÓÓÉÉ豸Çý¶¯ÌṩÁË£¬file_operationsÕýÊÇ×Ö·ûÉ豸Çý¶¯µÄºËÐÄ£¬Èçͼ£º
 
¶ø¶Ô¿éÉ豸À´Ëµ£¬ext2¡¢fat¡¢jffs2µÈÎļþÏµÍ ......

LinuxÉ豸Çý¶¯¿ª·¢Ïê½â ±Ê¼Ç7 ²¢·¢¿ØÖÆ


ÖÐ¶ÏÆÁ±ÎµÄʹÓ÷½·¨£º
local_irq_disable() //¹ØÖжÏ
local_irq_enable() //¿ªÖжÏ
ÕâÁ½¸öº¯Êý¶¼Ö»ÄܽûÖ¹ºÍʹÄܱ¾cpuÄÚµÄÖжϣ¬Òò´Ë£¬²¢²»Äܽâ¾öSMP¶àcpuÒý·¢µÄ¾ºÌ¬¡£Òò´Ë£¬µ¥¶ÀʹÓÃÖÐ¶ÏÆÁ±Îͨ³£²»ÊÇÒ»ÖÖÖµµÃÍÆ¼öµÄ±ÜÃ⾺̬µÄ·½·¨£¬ËüÊÊÒËÓë×ÔÐýËøÁªºÏʹÓÃ
ÁíÍ⣬local_irq_save(flags)³ýÁ˽øÐнûÖ¹ÖжϲÙ×÷ÒÔÍ⣬»¹± ......

linux Îļþ¼Ð ²Ù×÷ƪ

1.´´½¨Ä¿Â¼
   mkdir [-p][--help][--version][-m <Ŀ¼ÊôÐÔ>][Ŀ¼Ãû³Æ]
   -m¿ÉÒÔ¶ÔĿ¼ÉèÖôæÈ¡È¨ÏÞ,Ò²¿ÉÒÔÓÃchmodeÃüÁîÉèÖÃ,
   -p ¿ÉÒÔÊÇÒ»¸ö·¾¶Ãû³Æ,Èç¹û·¾¶ÖÐÓÐЩĿ¼²»´æÔÚ,ÄÇô»á×Ô¶¯´´½¨
2.ɾ³ý¿ÕĿ¼
    Óï¡¡¡¡·¨£ºrmdir [-p][--hel ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ