2010 3 16ÈÕ×ܽᣨlinuxµÄ½ø³Ì¹ÜÀí1£©
Ö÷Òª¿´ÁËLinuxÍêȫעÊÍÄDZ¾Ê飬ÖÕÓÚ×¼±¸¹¥¶ÁLinuxÄÚºËÔ´ÂëÁË£¬ÏÈ¿´Á˵ڶþÕŵÄ×ÜÌå¸ÅÄ¸Ð¾õ²Ù×÷ϵͳÓкܶණÎ÷»¹ÕæÊÇ´óͬСÒ죬¼ÇµÃucos¾ÍÊÇÓÐÒ»¸ö½Ð×ö¿ì±íµÄ¶«Î÷£¬ÀïÃæ×î¶à¿ÉÒÔ±íʾ64¸ö½ø³Ì£¬¶øÔç°æµÄLinux£¨0.11£©Ò²ÓÐÕâ¸öһ˵µÄ¶«Î÷¡£
ÔÚLinuxÖÐÒ²ÓÐÒ»¸öPCBÀ´±íʾÿ¸ö½ø³Ì£¬ÔÚÕâ¸ö½á¹¹ÌåÖУ¬ÓÐÖ¸ÏòÈÎÎñ´úÂëµÄÖ¸Õ룬ÓÐÖ¸ÏòÈÎÎñÊý¾ÝµÄÖ¸Õ룬»¹ÓÐÖ¸Ïò¶ÑÕ»¶ÎµØÖ·£¨Õâ¸öÕ»¿Õ¼äÓÃÀ´±£´æ¸Ã½ø³ÌÔÚCPUÖеĸ÷¸ö¼Ä´æÆ÷µÄÖµ£¬ÔÚ½ø³Ìµ÷¶ÈµÄʱºòʹÓã¬ÊÇÔÚÄÚºËÕ»¿Õ¼äÉϵģ©£¬»¹Óнø³ÌµÄÈÎÎñ״̬¶ÎÐÅÏ¢½á¹¹£¨tss_struct£©
ÒÔÉÏÊÇLinux²Ù×÷ϵͳÖнø³ÌËùÓµÓеĸ÷ÖÖ״̬ºÍÏ໥¹Øϵ£¨0.11Äںˣ©
ÆäÖУº¿ÉÖжÏ˯ÃßÊÇ¿ÉÒÔ±»ÈíÖÕ¶ËËù»½Ðѵģ¬ÎÒÏÖÔÚµÄÀí½âÊÇ¿ÉÒÔ±»Óû§¿Õ¼äµÄ³ÌÐòËù»½ÐÑ¡£²»¿ÉÖжÏ˯Ãß״̬ÊDz»Äܱ»ÈíÖն˻½Ðѵģ¬ËûÖ»Äܵȴýµ÷¶È³ÌÐòµÄ»½ÐÑ»òÕßÓ²Öжϵĵ½À´¡£
½ø³Ì¼äÇл»£º
ÔÚÕâÀïÃæÓм¸¸ö¸ÅÄîÏȽâÊÍÒ»ÏÂ
GDT£ºÈ«¾ÖÃèÊö·û±í ÔÚÎÒÀí½âÀ´¿´¾ÍÊÇ´æ·ÅËùÓнø³ÌPCBµÄÖ¸Õë»òÕß¾ÍÏóͼÀïÃ滵ÄÊÇ Ã¿¸ö½ø³ÌµÄTSSµÄÃèÊö·û¡£
TSS£ºÈÎÎñ״̬¶Î ÈÎÎñ״̬¶ÎÓÃÓÚ±£´æÏàÓ¦½ø³ÌÔÚCPUÖеļĴæÆ÷µÄÖµ
LDT£º¾Ö²¿ÃèÊö·û ´æ´¢ÔÚÈ«¾ÖÃèÊö±íÖУ¬·ÖΪÊý¾Ý¶ÎºÍ´úÂë¶Î£¬È»ºóÊý¾Ý¶ÎÖ¸ÏòÓû§¿Õ¼äµÄÒ»¶Î±£´æ¸Ã½ø³ÌÊý¾ÝµÄµØÖ·£¬´úÂë¶ÎÖ¸ÏòÓû§¿Õ¼äµÄ±£´æ¸Ã½ø³Ì´úÂëµÄÄÚ´æµØÖ·¡££¨ÈçÏÂͼ£©
ÔÚ½ø³ÌÇл»Ê±£¬Ö´ÐÐʵ¼Ê½ø³ÌÇл»µÄÈÎÎñÓÉswich_to£¨£©ºêËù¶¨ÒåµÄÒ»¶Î»ã±à´úÂëÀ´Íê³É¡£ÔÚÇл»Ö®Ç°£¬swich_toÊ×Ïȼì²éÒªÇл»µÄ½ø³ÌÊÇ·ñΪµ±Ç°½ø³Ì£¬Èç¹ûÊÇÔòʲôҲ²»×ö£¬Ö±½ÓÍ˳ö¡£·ñÔò¾ÍÏȽ«ÄÚºËÈ«¾Ö±äÁ¿currentÖÃΪÐÂÈÎÎñµÄÖ¸Õ룬ȻºóÌøתµ½ÐÂÈÎÎñµÄÈÎÎñ״̬¶ÎTSS×é³ÉµÄµØÖ·´¦£¬Ôì³ÉCPUÖ´ÐÐÈÎÎñÇл»²Ù×÷¡£È»ºó¾ÍÈçµÚ¶þ·ùͼ¿ªÊ¼½øÐÐѹջºÍµ¯Õ»²Ù×÷£¬¿ªÊ¼Ö´ÐÐеÄÈÎÎñ¡£
Linux²ÉÓõÄÊǶÎҳʽµÄµØÖ·Ó³É䣬ͨ¹ý¼ÆË㣬ÎÒ½ñÌìÖªµÀÁËÿ¸öÄÚ´æµ¥ÔªÄÜ´æ´¢4bitµÄÊý¾Ý¡£Linux£¨0.11Äںˣ©ÎªÃ¿¸ö½ø³Ì¶¼Ô¤ÁôÁË64MµÄÐéÄâÄÚ´æ¿Õ¼ä¡£
Ïà¹ØÎĵµ£º
ÓÃpscp ÔÚWindowsÓëLinuxÖ®¼ä´«ÊäÎļþ
putty¹¤¾ßÔÚÎÒµÄÏÂÔØÖÐÓÐ
²½ÖèÈçÏ£º
1. Õû¸öÁ÷³ÌÊÇÕâÑù£¬ÔÚwindowsµÄÃüÁîÐÐÏ£¬ÓÃpscpÃüÁî°ÑÎļþ´ÓwindowsÖ¸¶¨Ä¿Â¼·¢Ë͵½linuxÖ¸¶¨Ä¿Â¼£»»òÕßÊÇÎļþ´ÓlinuxÖ¸¶¨Ä¿Â¼ÏÂÔص½windowsÖ¸¶¨Ä¿Â¼ÖС£
Á½ÖÖ´«ÊäÎļþµÄ·½Ê½¶¼ÊÇÔÚWindowsϵͳϲÙ×÷µÄ£¬linuxÏµÍ ......
LINUX ÃüÁî´óÈ«
LinuxËäÈ»ÊÇÃâ·ÑµÄ£¬µ«ËüµÄÈ·ÊÇÒ»¸ö·Ç³£ÓÅÐãµÄ²Ù×÷ϵͳ£¬ÓëMS£WINDOWSÏà±È¾ßÓпÉ
¿¿¡¢ Îȶ¨¡¢ËٶȿìµÈÓŵã,ÇÒÓµÓзḻµÄ¸ù¾ÝUNIX°æ±¾¸Ä½øµÄÇ¿´ó¹¦ÄÜ¡£ÏÂÃ棬×÷Ϊһ
¸öµäÐ͵ÄDOS ºÍWINDOWSÓû§£¬ÈÃÎÒÃÇÒ»ÆðÀ´Ñ§Ï°LinuxµÄһЩÖ÷ÒªÃüÁϣÍû´ó¼ÒÄܾ¡
¿ì½øÈëµ½LinuxµÄÊÀ½çÀï¡£
¡¡¡¡Ò»¡¢Æô¶¯
......
1£¬-c ±àÒëÄ¿±ê´úÂë
gcc -o hello.o -c hello.c //-o Ö»ÊÇÖ¸¶¨Éú³ÉÄ¿±êÎļþÃû
»ò
gcc -c hello.c
¶¼Éú³Éhello.oÎļþ£¬²»¿ÉÒÔÖ´ÐС£
gcc -o hello hello.o
ÓÃÄ¿±êÎļþÉú³Éhell ......
ÏÂÃæµÄÎļþµÄʹÓ÷½·¨ÊÇ£º½«ÏÂÃæµÄÎļþ±£´æÔÚlinuxÄÚºËÔ´ÂëĿ¼ÖУ¬ÎļþµÄÃû³ÆÊÇ.config£¬È»ºómake menuconfig,ÔÚ³öÏÖ
µÄÅäÖýçÃæÖÐÑ¡ÔñLoad ConfiguratioÑ¡ÏȻºó¿ÉÒÔÔÚÕâ¸ö»ù´¡ÉÏÐÞ¸Ä×Ô¼ºµÄkernel¡£ÏÂÃæµÄÅäÖÃÊÇ»ùÓÚs3c2410£¬Ö§³Öyaffs2
Îļþϵͳ¡£ÎÒ¿´ÁËһϱàÒë³öÀ´µÄuImage´ó¸ÅÔÚ800k×óÓÒ£¬ºÇºÇôÕâÊDZ¾È˵ÚÒ»´Î³É ......
ÔÚÇ°ÃæµÄ×¼±¸¹¤×÷Íê³ÉÖ®ºó£¬ÏÈʵÑéһϣ¬Ì¸²»ÉÏÕæÕýµÄÒÆÖ² £¬ÒòΪ´úÂ붼ûÓиĵġ£
Ê×ÏÈÐ޸Ķ¥²ãµÄMakefile£¬ÐÞ¸ÄARCH,CROSS_COMPLIE±äÁ¿¡£
#ARCH ?= $(SUBARCH)
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
Ö´ÐÐmake smd ......