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
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
´ÓLinux 2.6ÆðÒýÈëÁËÒ»Ì×еÄÇý¶¯¹ÜÀíºÍ×¢²á»úÖÆ:Platform_deviceºÍPlatform_driver¡£
LinuxÖд󲿷ֵÄÉ豸Çý¶¯£¬¶¼¿ÉÒÔʹÓÃÕâÌ×»úÖÆ, É豸ÓÃPlatform_device±íʾ£¬Çý¶¯ÓÃPlatform_driver½øÐÐ×¢²á¡£
Linux platform driver»úÖÆºÍ´«Í³µÄdevice driver »úÖÆ(ͨ¹ýdriver_registerº¯Êý½øÐÐ×¢²á)Ïà±È£¬Ò»¸öÊ®·ÖÃ÷ÏÔ ......
Ò»¡¢ ʲôÊÇϵͳµ÷ÓÃ
ÔÚLinuxµÄÊÀ½çÀÎÒÃǾ³£»áÓöµ½ÏµÍ³µ÷ÓÃÕâÒ»ÊõÓËùνϵͳµ÷Ó㬾ÍÊÇÄÚºËÌṩµÄ¡¢¹¦ÄÜÊ®·ÖÇ¿´óµÄһϵÁеĺ¯Êý¡£ÕâЩϵͳµ÷ÓÃÊÇÔÚÄÚºËÖÐʵÏֵģ¬ÔÙͨ¹ýÒ»¶¨µÄ·½Ê½°Ñϵͳµ÷ÓøøÓû§£¬Ò»°ã¶¼Í¨¹ýÃÅ(gate)ÏÝÈë(trap)ʵÏÖ¡£ÏµÍ³µ÷ÓÃÊÇÓû§³ÌÐòºÍÄں˽»»¥µÄ½Ó¿Ú¡£
¶þ¡¢ ϵͳµ÷ÓõÄ× ......
ÒÔÏÂÊÇÎÒ´Ó±ðµÄblogÉÏ×ªÔØµÄ, ¹ØÓÚLinuxϵķɸë¼òÒªÉè¼Æ¿ò¼Ü, Ö®ËùÒÔ˵ÊÇLinuxϵÄ, ÒòΪ´úÂëÊÇLinuxϵÄ. µ«ÊÇ, Éè¼Æ¿ò¼Ü½«×ñÑwindows°æ·É¸ë´«ÊéµÄÐÒéºÍ¿ò¼Ü.Êý¾Ý°ü¸ñʽ£º
°æ±¾ºÅ£º°ü±àºÅ£ºÓû§Ãû£º»úÆ÷Ãû£ºÃüÁî×Ö£º¸½¼ÓÐÅÏ¢
Èç 1£º2067943£ºliu £ºd14£º32£ºhello
ÒÔÉÏÊÇÒ»¸ö·¢ËÍÏûÏ¢µÄÊý¾Ý°ü¸ñʽ ......
ÎÒµÄϵͳÊÇFedora 11
1. ÅäÖñ¾»úµÄIPµØÖ·
±ÈÈçÎÒµÄIPµØÖ·ÊÇ192.168.1.220
ÃüÁîÐУº
sudo ifconfig eth0 192.168.1.220 netmask 255.255.255.0
ÕâÊÇÁÙʱµÄÉèÖã¬ÖØÆôºó¾Í¶ªÊ§ÁË¡£Èç¹ûÏë±£´æÉèÖ㬾ÍÐÞ¸ÄÅäÖÃÎļþ£º
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
ÓÃ#×¢µôBOOTPROTO=dhcp£¬²¢ÇÒÌí¼Ó»òÉèÖÃÒ ......