Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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 Bluetooth±à³Ì£¨Èý£© HCI²ã±à³Ì

1. HCI²ãЭÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI)  ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈЭÒé ......

ʵսLinux Bluetooth±à³Ì (Æß) SDPЭÒé

Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖЭÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀЭÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......

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

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

linuxµÄplatformÇý¶¯

´ÓLinux 2.6ÆðÒýÈëÁËÒ»Ì×еÄÇý¶¯¹ÜÀíºÍ×¢²á»úÖÆ:Platform_deviceºÍPlatform_driver¡£
LinuxÖд󲿷ֵÄÉ豸Çý¶¯£¬¶¼¿ÉÒÔʹÓÃÕâÌ×»úÖÆ, É豸ÓÃPlatform_device±íʾ£¬Çý¶¯ÓÃPlatform_driver½øÐÐ×¢²á¡£
 
Linux platform driver»úÖÆºÍ´«Í³µÄdevice driver »úÖÆ(ͨ¹ýdriver_registerº¯Êý½øÐÐ×¢²á)Ïà±È£¬Ò»¸öÊ®·ÖÃ÷ÏÔ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ