linux 0.11 ÄÚºËѧϰ main.c£¬µ÷Óú¯Êý¶øÒÑ¡£
µ½ÁËmain.c£¬Æäʵmain.cÖеĴ󲿷ֵÄÄÚÈÝÊǵ÷Óú¯ÊýÀ´ÊµÏÖ³õʼ»¯µÄ¹¤×÷£¬µ«ÊÇ»¹Êǽ«Ëü¿´ÍêÁË¡£ÏÂÃæ¾ÍÊÇ´úÂëÁË¡£Ö÷Òª²Î¿¼µÄÊÇlinuxÄÚºËÍêȫעÊÍ£¬ÔÚһЩ²»Ì«Ã÷°×µÄµØ·½£¬²Î¿¼ÍøÉϵĽéÉÜ¡£·Ï»°ÉÙ˵¡£»¹Óкܳ¤µÄ·°¡¡£Å¬Á¦°¡O(∩_∩)O~¡£
/*
* main.c¹¦ÄÜÃèÊö¡£
*/
//main.c³ÌÐòµÄÖ÷Òª¹¦ÄÜÊÇÀûÓÃsetup.s³ÌÐòÈ¡µÃµÄϵͳ²ÎÊýÉèÖÃϵͳµÄ
// µÄ¸ùÎļþÉ豸ºÅºÍһЩȫ¾Ö±äÁ¿¡£ÕâЩ±äÁ¿ÖÁÁ½ÃûÁËÄÚ´æµÄ¿ªÊ¼µØÖ·
// ϵͳ°üº¬µÄÄÚ´æÈÝÁ¿ºÍ×÷Ϊ¸ßËÙ»º´æÇøÄÚ´æÄ©¶ËµØÖ·¡£Èç¹û»¹¶¨ÒåÁË
// ÐéÄâÅÌ£¬ÔòÖ÷´æ½«»áÏàÓ¦µÄ¼õÉÙ¡£Õû¸öÄÚ´æµÄ¾µÏñÈçÏ :
//
// -------------------------------------------
// | kernel¡¡| buffer | ramdisk | main memory |
// -------------------------------------------
//
// ¸ßËÙ»º´æ²¿·Ö»¹Òª¿Û³ýÏÔ´æºÍrom biosÕ¼ÓõIJ¿·Ö¡£¸ßËÙ»º³åÇøÖ÷Òª
// ÊÇ´ÅÅ̵ÈÉ豸µÄÁÙʱ´æ·ÅÊý¾ÝµÄ³¡Ëù¡£Ö÷´æµÄÇøÓòÖ÷ÒªÊÇÓÉÄÚ´æ¹ÜÀí
// Ä£¿émmͨ¹ý·ÖÒ³»úÖÆ½øÐÐÄÚ´æµÄ¹ÜÀí·ÖÅ䣬ÒÔ4k×Ö½ÚΪһ¸öÒ³µ¥Î»¡£
// Äں˳ÌÐò¿ÉÒÔÖ±½Ó·ÃÎÊ×ÔÓɵĸßËÙ»º³åÇø£¬µ«ÊǶÔÓÚÒ³ÃæµÄ·ÃÎÊ£¬Ôò
// ÐèҪͨ¹ýmmÄ£¿é²ÅÄÜʵÏÖ½«Æä·ÖÅäµ½ÄÚ´æÒ³Ãæ¡£
//
// È»ºóÄں˽øÐÐËùÓз½ÃæµÄÓ²¼þ³õʼ»¯¹¤×÷¡£ÉèÖÃÏÝÚåÃÅ£¬¿éÉ豸£¬×Ö·ûÉ豸
// ºÍtty£¬°üÀ¨È˹¤´´½¨µÄµÚÒ»¸öÈÎÎñtask 0.´ýËùÓеÄÉèÖù¤×÷Íê³Éʱ£¬¿ªÆô
// Öжϡ£ÔÚÔĶÁÕâЩ³õʼ»¯³ÌÐòʱ×îºÃ¸ú×ÅÕâЩ±»µ÷Óú¯ÊýÉîÈë¿´ÏÂÈ¥¡£
//
// Õû¸öÄں˵ijõʼ»¯Íê³Éºó£¬Äں˽«Ö´ÐÐȨÏÞÇл»µ½Óû§Ä£Ê½£¬¼´ÊÇcpu´Ó
// 0ÌØÈ¨¼¶Çл»µ½3ÌØÈ¨¼¶¡£È»ºóϵͳµÚÒ»´Îµ÷Óú¯Êýfork£¬´´½¨³öµÚÒ»¸öÓÃÓÚ
// ÔËÐеÄinit×Ó³ÌÐò¡£
//
// Ôڸýø³ÌÖÐϵͳ½«ÔËÐпØÖÆÌ¨³ÌÐò¡£Èç¹û¿ØÖÆÌ¨»·¾³¼àÀí³É¹¦£¬ÔòÔÚÉú³ÉÒ»
// ¸ö×Ó½ø³Ì£¬ÓÃÓÚÔËÐÐ/bin/sh.
//
// ¶ÔÓÚlinux¶øÑÔ£¬ËùÓеÄÈÎÎñ¶¼ÊÇÔÚÓû§Ä£Ê½ÏÂÔËÐеġ£°üÀ¨ºÜ¶àϵͳӦÓÃ
// ³ÌÐò£¬ÈëShell³ÌÐò£¬ÍøÂç×Ó³ÌÐòϵͳ¡£
/*
* linux/init/main.c
*
* (C) 1991 Linus Torvalds
*/
#define __LIBRARY__ // ÔÚunistd.hÖÐʹÓÃÁËÈçϵÄÔ¤´¦ÀíÃüÁ#ifdef __LIBRARY__£¬
// ËùÒÔÕâÀï°üº¬Õâ¸ö¶¨Òå¡£
#include <unistd.h>
#include <time.h> // ʱ¼äÀàÐ͵ÄÍ·Îļþ¡£ÆäÖÐ×îÖ÷ÒªµÄÊÇtm
&nb
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,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 ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
1.1.Á´±ílist_head
include/linux/list.h
ºÜ¾µä£¬Á´±íÔÚÄÚºËÖкܳ£Óã¬ÀýÈç¹ÜÀí½ø³Ì£¬½ø³ÌµÄ¸÷¸ö״̬¶ÓÁж¼ÊÇʹÓÃÕâ¸öË«ÏòÁ´±íʵÏֵġ£ÄÚºËÖеÄÁ´±í¶¨Òå³ÉºÍÊý¾ÝÎ޹صÄÐÎʽ£¬¶ø²»ÊÇͨ³£ÎÒÃÇʹÓõÄÁ´±í¸ñʽ£¬ÀýÈç
typedef struct _list{
Elemtype elem;
&nb ......
1.¸Ä±äÕû¸ö¿ØÖÆÌ¨µÄÑÕÉ«
ÓÃ system("color 0A");
ÆäÖÐcolorºóÃæµÄ0ÊDZ³¾°É«´úºÅ£¬AÊÇǰ¾°É«´úºÅ¡£¸÷ÑÕÉ«´úÂëÈçÏ£º
0=ºÚÉ«
1=À¶É«
2=ÂÌÉ«
3=ºþÀ¶É«
4=ºìÉ«
5=×ÏÉ«
6=»ÆÉ«
7=°×É«
8=»ÒÉ«
9=µÀ¶É«
A=µÂÌÉ«
B=µÇ³ÂÌÉ«
C=µºìÉ«
D=µ×ÏÉ«
E=µ»ÆÉ«
F=ÁÁ°×É«
2.¸Ä±äÏÂÒ»¸öÊä³ ......