viviÓëLinux kernelµÄ²ÎÊý´«µÝÇé¾°·ÖÎö £¨×ª£©
ÔÚÉÏÒ»²¿·ÖÌáµ½¹ýÁË£¬vivi×÷Ϊbootloader£¬ÏòÄں˴«µÝÆô¶¯²ÎÊýÊÇÆä±¾Ö°¹¤×÷Ö®Ò»¡£Òª°ÑÕâ¸öÇé¾°·ÖÎöÇå³þ£¬²»½ö½öÐèÒª·ÖÎöviviµÄ²ÎÊý»ú ÖÆ£¬¶øÇÒÒª·ÖÎöLinux kernelµÄ½ÓÊÕ»úÖÆ¡£ÒòΪÕâÊÇÒ»¸ö¼òµ¥µÄͨÐŹý³Ì£¬±ÈÆ𱾿ÆËùѧϰµÄTCP/IPÀ´¼òµ¥µÄ¶à£¬µ«ÊÇÒòΪ¼òµ¥£¬ËùÒÔÔÚÐÒéÉϲ¢²»¹æ·¶£¬Àí½âÉÏ·´¶ø²»Èç TCP/IPÐÒé¡£ÏÂÃæ¾Í·ÖΪÁ½¸ö·½Ãæ¶Ô´ËÇé¾°·ÖÎö¡£
Ò»¡¢×ÛÊöÄں˲ÎÊý´«µÝ»úÖÆ
ÏÖÔÚÄں˲ÎÊý´«µÝ»úÖÆÓÐÁ½ÖÖ£ºÒ»ÖÖÊÇ»ùÓÚstruct param_struct£¬ÕâÖÖÒѾ±È½ÏÀÏÁË¡£È±µãÊǸýṹÿ¸ö³ÉÔ±µÄλÖÃÊǹ̶¨µÄ£¬ÊÜÏޱȽϴó¡£ÁíÍâÒ»ÖÖ¾ÍÊÇеÄstruct tag way¡£ËµÐÂÊÇÏà¶ÔµÄ£¬Linux kernel 2.4.x¶¼Ï£Íû²ÉÓÃÕâÖÖtagµÄ·½Ê½¡£¹ØÓÚÕâ·½ÃæµÄ×ÊÁÏ£¬¿ÉÒÔÓÐÈçÏ²ο¼£¨Ëù¸ø³öµÄĿ¼ÊÇ»ùÓÚlinux-2.4.18µÄÄںˣ¬ÒÔ¶¥²ãMakefile ËùÔÚĿ¼Ϊµ±Ç°Ä¿Â¼¡£ÕâÀï»ùÓÚARM¼Ü¹¹µÄS3C2410£¬ÆäËûµÄSoC¿ÉÒÔÀà±ÈºÜÈÝÒ׵õ½£©£º
1¡¢¹ØÓÚbootloaderµÄÀí½â--¡¾Documentation/arm/booting¡¿
´ËÎĵµÏêϸµÄ½²ÊöÁËbootloaderµÄ×÷Ó㬾ßÌåÄÚÈÝÈçÏ£º
[armlinux@lqm arm]$ cat Booting
Booting ARM Linux
=================
Author: Russell King
Date : 18 May 2002
The following documentation is relevant to 2.4.18-rmk6 and beyond.
In order to boot ARM Linux, you require a boot loader, which is a small
program that runs before the main kernel. The boot loader is expected
to initialise various devices, and eventually call the Linux kernel,
passing information to the kernel.
Essentially, the boot loader should provide (as a minimum) the
following:
1. Setup and initialise the RAM.
2. Initialise one serial port.
3. Detect the machine type.
4. Setup the kernel tagged list.
5. Call the kernel image.
1. Setup and initialise RAM
---------------------------
Existing boot loaders: MANDATORY
New boot loaders: MANDATORY
The boot loader is expected to find and initialise all RAM that
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌṩÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
ÀýÒ»£º·¢ËÍ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 ......
getenv£¨È¡µÃ»·¾³±äÁ¿ÄÚÈÝ£©
Ïà¹Øº¯Êý putenv£¬setenv£¬unsetenv
±íÍ·Îļþ #include<stdlib.h>
¶¨Ò庯Êý char * getenv(const char *name);
º¯Êý˵Ã÷ getenv()ÓÃÀ´È¡µÃ²ÎÊýname»·¾³±äÁ¿µÄÄÚÈÝ¡£²ÎÊýnameΪ»·¾³±äÁ¿µÄÃû³Æ£¬Èç¹û¸Ã±äÁ¿´æÔÚÔò»á·µ»Ø ......
¸ß¼¶ Linux ÃüÁָͨÄÏ£¬µÚ 3 ²¿·Ö£º×ÊÔ´¹ÜÀí
×÷ÕߣºArup Nanda
2009 Äê 1 Ô·¢±í
Ôڴ˲¿·ÖÖУ¬Á˽âÓÃÓÚ¼àÊÓÎïÀí×é¼þµÄ¸ß¼¶ Linux ÃüÁî
Linux ϵͳÓÉÈô¸ÉÖ÷ÒªÎïÀí×é¼þ×é³É£¬Èç CPU¡¢ÄÚ´æ¡¢Íø¿¨ºÍ´æ´¢É豸¡£ÒªÓÐЧµØ¹ÜÀí Linux »·¾³£¬ÄúÓ¦¸ÃÄܹ»ÒÔºÏÀíµÄ¾«¶È²âÁ¿ÕâЩ×ÊÔ´µÄ¸÷ÖÖÖ¸±ê — ÿ¸ö×é¼þ´¦Àí¶àÉÙ×ÊÔ´¡¢ ......
Linux϶¯Ì¬¿âµÄÉú³É¼°Á´½Ó·½·¨ £¨1£©
Linux ϶¯Ì¬¿âÎļþµÄÀ©Õ¹ÃûΪ".so"£¨Shared Object£©¡£°´ÕÕÔ¼¶¨£¬ËùÓж¯Ì¬¿âÎļþÃûµÄÐÎʽÊÇlibname.so£¨¿ÉÄÜÔÚÃû×ÖÖмÓÈë°æ±¾ºÅ£©¡£ÕâÑù£¬Ï̺߳¯Êý¿â±»³Æ×÷ ......