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

ubootÔÚÒýµ¼linux֮ǰҪ×öµÄÊÂ

Æô¶¯armlinux£¬bootloader±ØÐëÌṩÏÂÃæ¼¸²½£º
 
1£®  ÉèÖò¢³õʼ»¯ram
2£®  ³õʼ»¯Ò»¸ö´®¿Ú
3£®  ¼ì²â´¦ÀíÆ÷ÀàÐÍ
4£®  ÉèÖÃÄں˱ê¼ÇÁбí
5£®  µ÷ÓÃÄÚºËÓ³Ïñ
 
1.       ÉèÖò¢³õʼ»¯ram
 
bootloaderÒªÕÒµ½²¢³õʼ»¯ÏµÍ³ÖÐËùÓеÄram£¬Äں˽«ÕâЩramÓÃÓڿɱäÊý¾ÝµÄ´æ´¢¡£
 
2.       ³õʼ»¯Ò»¸ö´®¿Ú
 
bootloaderÓ¦¸ÃÔÚÄ¿±ê°åÉϳõʼ»¯²¢Ê¹ÄÜÒ»¸ö´®´®¿Ú¡£Õ⽫ÔÊÐíÄں˴®¿ÚÇý¶¯×Ô¶¯¼ì²âËüÓ¦¸ÃÓÃÄĸö´®¿Ú×÷ΪÄں˿ØÖÆÌ¨¡£
 
ÁíÍ⣬bootloaderÒ²¿Éͨ¹ý±ê¼ÇÁÐ±í´«µÝÏà¹ØµÄ”console=”Ñ¡Ïîµ½ÄÚºËÀ´Ö¸¶¨´®¿ÚÒÔ¼°´®¿Ú¸ñʽ£¨ÆæÅ¼Î»£¬Í£Ö¹Î»µÈ£©
 
3.       ¼ì²â´¦ÀíÆ÷ÀàÐÍ
 
bootloaderÓ¦¸Ãͨ¹ýijÖÖ·½·¨¼ì²âËüËùÔËÐеĴ¦ÀíÆ÷µÄÀàÐÍ£¬Ëü×îÖÕ±ØÐëÄܹ»ÏòÄÚºËÌṩһ¸öMACH_TYPE_xxxÖµ¡£
 
4£®ÉèÖÃÄں˱ê¼ÇÁбí
 
bootloader±ØÐë´´½¨²¢³õʼ»¯Äں˱ê¼ÇÁÐ±í¡£Ò»¸öÓÐЧµÄ±ê¼ÇÁбíÆðʼÓÚATAG_CORE¶øÖÕÖ¹ÓÚATAG_NONE¡£ÈκÎÊýÁ¿µÄ±ê¼Ç¶¼¿ÉÒÔ¼ÓÈëÕâ¸öÁÐ±í¡£bootloaderÖÁÉÙÒªÏòÄں˴«ËÍϵͳÄÚ´æµÄ´óСºÍλÖÃÒÔ¼°¸ùÎļþϵͳµÄλÖá£
 
±ê¼ÇÁÐ±í±ØÐë·ÅÔÚij¸öÄÚ´æÇøÓò£¬Õâ¸öÇøÓò¼È²»Äܱ»Äں˽âѹÆ÷ÖØÐ´£¬Ò²²»Äܱ»initrd ‘boot0’ ³ÌÐòÖØÐ´¡£ÍƼöµÄλÖÃÊÇRAM¿ªÍ·µÄ16K¡£
 
5.  µ÷ÓÃÄÚºËÓ³Ïñ
 
ÓÐÁ½ÖÖµ÷ÓÃkernel zImageµÄÑ¡Ôñ¡£Èç¹ûzImage´æ´¢ÔÚflashÖУ¬²¢ÇÒ±»ÕýÈ·µÄÁ¬½Ó´ÓflashÔËÐУ¬ÄÇô¶ÔÓÚbootloaderÀ´Ëµ£¬Ö±½Ó´Óflashµ÷ÓÃzImageÊǺϷ¨µÄ¡£
 
zImageÒ²¿ÉÒԷŵ½ÏµÍ³RAMÖÐÈκÎλÖò¢ÔÚÄǸöλÖõ÷Óá£×¢Ò⣬ÄÚºËʹÓÃÕâ¸öÓ³ÏñÏÂÃæµÄ16K RAM´æ´¢Ò³±í¡£ÍƼö½«Ó³Ïñ´æ·ÅÔÚRAMµÄ32KλÖô¦¡£
 
ÔÚÈκÎÇé¿öÏ£¬ÏÂÃæµÄÖØÒªÌõ¼þ¶¼±ØÐëÂú×㣺
 
¨D¨DÆÁ±ÎËùÓоßÓÐDMA¹¦ÄܵÄÉ豸£¬ÒÔ±ãÄÚ´æ²»»á±»Î±ÔìµÄÍøÂç°ü»ò´ÅÅÌÊý¾ÝÎ󵼡£Õ⽫´ó´ó½ÚÔ¼ÄãµÄµ÷ÊÔʱ¼ä
 
¨D¨Dcpu¼Ä´æÆ÷ÉèÖÃ
r0 = 0,
r1 = ´¦ÀíÆ÷ÀàÐͺÅ
r2 = ±ê¼ÇÁбíÔÚϵͳÄÚ´æÖеÄÎïÀíµØÖ·
 
       ubootÖе÷ÓÃÄÚºËʱ£º
       theKernel (0, bd->bi_arch_number, bd->bi_boot_params);
ÕâÀïµÚ1¡¢2¡¢3¸ö²ÎÊý¾Í·Ö±ð´æ´¢ÔÚr0¡¢r


Ïà¹ØÎĵµ£º

[תÌû]LinuxÇý¶¯¿ª·¢Ñ§Ï°µÄһЩ±ØÒª²½Öè

 1. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......

linuxϵͳ²Ã¼ô

 Ëµµ½²Ã¼õLinux£¬ÎÞ·ÇÊÇΪÁ˼õС´ÅÅÌÕ¼ÓûòÕßÊÇΪÁËÄ³Ð©ÌØ¶¨³¡ºÏµÄÓ¦Óã¨ÈçǶÈëʽϵͳ£©¡£ÒÔRedHat 7.3ΪÀý£¬Æä×îС°²×°ÈÔÈ»´ïµ½ÁË300M£¬Õâ²»µÃ²»ÈÃÈ˶ÔÒ»Ö±ºÅ³ÆÐ¡¶øÈ«µÄLinuxϵͳ¸Ðµ½ÒÉ»ó¡£
×÷Ϊ×Ô¼ºÊÖÖпÎÌâµÄÒ»¸öÆÌµæ£¬²»¾ÃǰÎÒ³¢ÊÔÁ˶ÔLinux½øÐвüõ£¬ËäȻûÓдﵽԤÆÚµÄÒ»ÕÅÈíÅÌ´óС£¬µ«½á¹ûÒ²Ï൱ÓÐÎüÒýÁ¦¡£Ï ......

linux ÖжÏ


Õª×Ô£ºhttp://www.kerneltravel.net/journal/viii/01.htm
¼ÆËã»úϵͳʵÏÖÖжϻúÖÆÊǷdz£¸´ÔÓµÄÒ»¼þ¹¤×÷£¬ÔÙÔõô˵È˶¼ÊǸ߶ÈÖÇÄÜ»¯µÄÉúÎ¶ø¼ÆËã»ú×÷Ϊһ¸öÌú¸í´ñ£¬Ã»ÓгÌÐòµÄ½Ìµ¼¾ÍÒ»ÊÂÎ޳ɡ£¶ø´¦ÀíÒ»¸öÖжϹý³Ì£¬ËüÊܵ½µÄÏÞÖÆºÍÐèҪѧϰµÄ¶«Î÷Ì«¶àÁË¡£
Ê×ÏÈ£¬¼ÆËã»úÄܹ»½ÓÊÕµÄÍⲿÐźÅÐÎʽ·Ç³£ÓÐÏÞ¡£PC¸øËùÓеÄÍⲿ´ ......

linux ϵͳµ÷ÓÃ


Ò»¡¢ ʲôÊÇϵͳµ÷ÓÃ
 
ÔÚLinuxµÄÊÀ½çÀÎÒÃǾ­³£»áÓöµ½ÏµÍ³µ÷ÓÃÕâÒ»ÊõÓËùνϵͳµ÷Ó㬾ÍÊÇÄÚºËÌṩµÄ¡¢¹¦ÄÜÊ®·ÖÇ¿´óµÄһϵÁеĺ¯Êý¡£ÕâЩϵͳµ÷ÓÃÊÇÔÚÄÚºËÖÐʵÏֵģ¬ÔÙͨ¹ýÒ»¶¨µÄ·½Ê½°Ñϵͳµ÷ÓøøÓû§£¬Ò»°ã¶¼Í¨¹ýÃÅ(gate)ÏÝÈë(trap)ʵÏÖ¡£ÏµÍ³µ÷ÓÃÊÇÓû§³ÌÐòºÍÄں˽»»¥µÄ½Ó¿Ú¡£
 
¶þ¡¢ ϵͳµ÷ÓõÄ× ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ