Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ARMǶÈëʽLINUXÉ豸Çý¶¯Éè¼ÆÈëÃÅѧϰ

  ¾­¹ýÒ»¶Îʱ¼äµÄѧϰ֮ºó£¬Ò²¿ª·¢ÁËһЩСÐ͵ÄÇý¶¯£¬ÕýÈçÎÒ֮ǰһƪÖÐдµ½µÃ£¬ÏÖÔÚÎÒ¾ÍÀ´Ð´Ò»ÏÂÔÚARMǶÈëʽLINUXÏÂÈçºÎÉè¼ÆÇý¶¯µÄ¿ò¼Ü¡£
        ÔÚÕâÀïÎÒÓõİå×ÓÊÇmicro2440°å×Ó£¬°å×ÓÉϵÄlinux°æ±¾ÊÇ2.6.13¡£ÒòΪÎÒÔÚǰһƪ½éÉÜÁËÇý¶¯±à³ÌµÄÁ½ÖÖ¿ò¼ÜÉè¼Æ£¬ËùÒÔÏÖÔÚÎÒ¾ÍÀ´·Ö±ðдһÏÂÕâÁ½ÖÖ¿ò¼ÜÉè¼ÆµÄ³ÌÐò¡£
¿ª·¢Æ½Ì¨£ºRED HAT LINUX 9£¨Linux 2.4.18£©
¿ª·¢°å£ºmicro2440£¨ÓÑÉÆÖ®±Û£©£¨Linux 2.6.13)
½»²æ±àÒ빤¾ß£ºarm-linux-gcc-3.4.1
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
2.4ÄÚºËÇý¶¯¿ò¼Ü£º
static int __init leds_init(void)
{
 int result;
 int i;
 result = register_chrdev(LED_MAJOR, DEVICE_NAME, &leds_fops);
 if(result < 0){
  printk(DEVICE_NAME "can't register major number\n");
  return result;
 }
 
// static devfs_handle_t devfs_handle;
// devfs_handle = devfs_register(NULL, DEVICE_NAME, DEVFS_FL_DEFAULT, LED_MAJOR, &leds_fops, NULL);
/*
*Ö®ËùÒÔ²»ÓÃdevfs_register£¬¶øÓÃdevfs_mk_cdev£¬Ô­ÒòÊÇÒòΪÔÚlinux2.6ÄÚºËÀïûÓÐdevfs_registerº¯Êý£¬¶ø¸ÄÓÃ*devfs_mk_cdev
*/
 devfs_mk_cdev(MKDEV(LED_MAJOR, 0), S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP, DEVICE_NAME);
 for(i = 0; i < 4; i++){
  s3c2410_gpio_cfgpin(led_table[i], led_cfg_table[i]);
  s3c2410_gpio_setpin(led_table[i], 1);
 }
 printk(DEVICE_NAME "initialized\n");
 return 0;
}
static void __exit leds_exit(void)
{
 devfs_remove(DEVICE_NAME);
 unregister_chrdev(LED_MAJOR, DEVICE_NAME);
}
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
2.6ÄÚºËÇý¶¯¿ò¼Ü£º
static int __init leds_init(void)
{
 int result;
 int i;
&nbs


Ïà¹ØÎĵµ£º

ʵս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±à³Ì£¨ËÄ£© L2CAP²ã±à³Ì

£¨L2CAPЭÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPЭÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼­Á¬½Ó¿ØÖƺÍÊÊÅäЭÒé (L2CAP) ΪÉϲãЭÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àЭÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãЭÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......

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

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

linuxÍøÂç±à³Ì»ù±¾Á÷³Ì

1.        »ù±¾¸ÅÄî
 
˵µ½ÍøÂç±à³Ì,²»µÃ²»ÏÈÌáµ½OSI²Î¿¼Ä£ÐÍ,ÆäÆß²ãÄ£ÐÍ´Óϵ½ÉÏ·Ö±ðΪ
1.ÎïÀí²ã(Physical Layer,PH)
2.Êý¾ÝÁ´Â·²ã(Data Link Layer,DL)
3.ÍøÂç²ã(Network Layer,N)
4.ÔËÊä²ã(Transport Layer,T)
5.»á»°²ã(Session Layer,S)
6.±íʾ²ã(Presentation Layer, ......

linuxÉ豸Çý¶¯Ö®¿ØÖÆÌ¨Çý¶¯

¡¡Ò»:ǰÑÔ
¡¡¡¡ÎÒÃÇÔÚ֮ǰ·ÖÎö¹ýinput×ÓϵͳºÍttyÉ豸Çý¶¯¼Ü¹¹.½ñÌìÐèÒª½«Á½Õß½áºÏÆðÀ´.¿´¿´linuxÖеĿØÖÆÌ¨ÊÇÔõôÑùʵÏÖµÄ.
¡¡¡¡¶þ:¿ØÖÆÌ¨Çý¶¯µÄ³õʼ»¯
¡¡¡¡Ö®Ç°ÔÚ·ÖÎöttyÇý¶¯¼Ü¹¹µÄʱºòÔø·ÖÎöµ½.Ö÷É豸Ϊ4,´ÎÉ豸Ϊ0µÄÉ豸½Úµã,¼´/dev/tty0Ϊµ±Ç°µÄ¿ØÖÆÖÕ¶Ë.
¡¡¡¡ÓÐtty_init()ÖÐ,ÓÐÒÔÏ´úÂë¶Î:
¡¡¡¡static int __ini ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ