linuxÄÚºËÆô¶¯¹ý³Ì——»ùÓÚS3C2410
£¨1£©zImage×Ô½âѹ
±¾ÎÄÒÔÁ÷ÐеÄSamsung¹«Ë¾µÄS3C2410£¬mini2440ƽ̨ºÍlinux-2.6.29ΪÀý£¬½éÉÜÈçºÎÔÚZIXǶÈëʽ¿ª·¢»·¾³ÏÂ̽Ë÷linuxÄÚºËÆô¶¯¹ý³Ì¡£
LinuxÄÚºËÆô¶¯Ò»°ãÓÉÍⲿµÄbootloaderÒýµ¼£¬Ò²¿ÉÒÔÔÚÄÚºËÍ·²¿Ç¶ÈëÒ»¸öloader£¬Êµ¼ÊµÄÓ¦ÓÃÖÐÕâÁ½ÖÖ·½Ê½¶¼»á¾³£Óöµ½¡£ËùÒÔÒªÁ˽âÄÚºËÆô¶¯×ʼµÄ¹ý³Ì£¬±ØÐë¶ÔbootloaderÈçºÎÒýµ¼ÄÚºËÓÐËùÊìϤ¡£ÏÂÃæÎÒÃÇ´Óu-boot¼ÓÔØlinuxÄں˵ĴúÂ뿪ʼ·ÖÎö£¨¹ØÓÚu-boot ×ÔÉíµÄÆô¶¯Á÷³Ì£¬Çë²Î¿¼
u-boot Æô¶¯¹ý³Ì —— »ùÓÚS3C2410
£©¡£
1.´¦ÀíÆ÷Äں˼ÓÔØ´úÂë
ÔÚu-bootµÄ
do_bootm_linuxº¯Êý
ÀʵÏÖÁË´¦ÀíÆ÷¼Ü¹¹Ïà¹ØµÄlinuxÄں˼ÓÔØ´úÂë£¬ÌØ±ðÊÇtags´«µÝ¡£
¸Ãº¯ÊýÖУ¬ÔÚ(u-boot-1.6)lib_arm/armlinux.cµÄ
90ÐÐ
µ÷ÓÃÁËgetenv½«bootargs»·¾³±äÁ¿±£´æÔÚcommandline
char *commandline =
getenv
("bootargs");
È»ºó½âÎöuImageÎļþÍ·£¬²¢ÇÒ°´ÕÕÍ·Öе͍Òå·Ö½âºÍ¼ÓÔØuImage¡£ËùÒÔÕⲿ·Ö´úÂëµÄÔËÐÐÈ¡¾öÓÚuImageÎļþÊÇÈçºÎÉú³ÉµÄ£¬±¾ÎIJ»×ö¹ý¶àÐðÊö£¬¿É²Î¿¼ÁíÎÄÁ˽âu-bootʹÓ᣽ÓÏÂÀ´½øÐÐtagsÉèÖù¤×÷£¬·Ö±ðµ÷ÓÃÁË
setup_start_tag()
setup_memory_tag()
setup_commandline_tag()
setup_initrd_tag()
setup_end_tag()
È»ºó¶ÔTLB¡¢cacheµÈ½øÐÐinvalid²Ù×÷£¬ÕâÊÇͨ¹ýÔÚlib_arm/armlinux.cµÄ
268ÐÐ
µ÷ÓÃ
cleanup_before_linux()
(cpu/arm920t/108)ʵÏÖ£¬È»ºó¼´¿ÉÌøÈë´ÓuImageÖзֽâ³öÀ´µÄÄÚºËImage»òzImageÈë¿Ú
cleanup_before_linux ();
theKernel (0, machid, bd->bi_boot_params);
/* does not return */
return;
ÔÚs3c2410ƽ̨ÉÏ£¬¸ÃÈë¿ÚtheKernelÒ»°ãÊÇÎïÀíµØÖ·0x30008000¡£Èç¹ûÎÒÃÇʹÓÃzImage×Ô½âѹÄÚºËÓ³Ïñ£¬¶ÔÓ¦µÄ´úÂëÕýÊÇ×Ô½âѹͷ£¬Î»ÖÃÔÚÄÚºËÔ´Âëlinux-2.6.29µÄarch/arm/boot/compressed/head.SµÚ 114ÐеÄstart·ûºÅ
start:
.type start,#function
.rept 8
mov r0, r0
.endr
&
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
ÊÖ¶¯ÉèÖÃ
££ifconfig etn0 192.168.1.2,ÉèÖÃÍø¿¨IPµØÖ·
»òÖ±½ÓÔËÐÐifconfig,ÕâʱºòҪעÒâÁË,ÔÚÍøÂç½Ó¿ÚÖÐÓÐÒ»¸ölo½Ó¿Ú,Ò²¾ÍÊÇÍøÂç»Ø»·(loopback).
ÔÙʹÓÃpingÃüÁî
££ping 192.168.1.2 -c 3
²âÊÔ3´Î,¿´ÄÜ·ñÕý³£ÏìÓ¦.
Æô¶¯Óë¹Ø±ÕÍø¿¨
/etc/rc.d/init.d/network restart <===ÖØÐÂÆô¶¯ÍøÂç
ifup eth0 &l ......
¾ÙÀýÀ´Ëµ£¬Ó²Å̵ÄÎļþÃû³Æ¼´Îª /dev/hd[a-d] £¬ÆäÖУ¬ À¨ºÅÄÚµÄ×ÖĸΪ a-d µ±ÖеÄÈκÎÒ»¸ö£¬Ò༴ÓÉ /dev/hda, /dev/hdb, /dev/hdc, ¼° /dev/hdd ÕâËĸöµµ°¸µÄÒâ˼ (×¢£ºÕâÖÖÐÍʽµÄ±íʾ·¨ÔÚºóÃæµÄÕ½ڵ±ÖлáʹÓÃµÃºÜÆµ·±£¬ÇëÌØ±ðÁôÒâ)¡£ ÄÇô¹âÇýÓëÈíÅÌÄØ£¿·Ö±ðÊÇ /dev/cdrom, /dev/fd0 啰£¡ ºÃÁË£¬ÆäËüµÄ½Ó¿ÚÉè±¸ÄØ£¿ ......