linux spiÇý¶¯
linux spiÇý¶¯
Äں˰汾£ºlinux-2.6.29
Ö÷ÒªµÄ¼¸¸ö½á¹¹
platform_device platform_driver s3c24xx_spi spi_master spi_bitbang spi_device spi_driver spidev_data s3c_spi_info
µÚÒ»²½£º×¢²áplatform_device
ÔÚarch/arm/mach-s3c2410/mach-qt2410.c ÖÐ×¢²áplatform_device £¬ÆäÖÐs3c2410_spi_info ×÷Ϊplatform_device.private_data. platform_device.name Ϊ"s3c2410-spi".
ͬʱÔÚmach-qt2410.c ÖÐ×¢²áspi_board_info, ÆäÖÐspi_board_info.bus_num=0, Óës2c2410_spi_info ÖеÄbus_num Ïàͬ, ÒÔºó»áͨ¹ýbus_num ±È¶ÔÀ´Æ¥Åä¡£
µÚ¶þ²½£º×¢²áplatform_driver
ÔÚdriver/spi/spi_s3c24xx.c ÖÐ×¢²áplatform_driver (s3c24xx_spi_driver) £¬Õâ¸öplatform_driver µÄÃû×ÖΪ"s3c2410-spi" £¬ÕâÑùÃû×ÖÓëplatform_device µÄÏàͬ£¬ÔÚ×¢²áµÄʱºò»áÆ¥Åäµ½Ò»Æð¡£²¢µ÷ÓÃs3c24xx_spi_driver.probe º¯Êýs3c24xx_spi_probe ¡£
µÚÈý²½£º×¢²áspi_device
ÔÚ.probe º¯ÊýÖд´½¨s3c24xx_spi £¬¸Ã½á¹¹ÖаüÀ¨ÁËÒ»¸öspi_bitbang, Ò»¸öspi_master £¬
ÅäÖÃÁËһЩ»¥Ïà¹ØÁªµÄÏîÒÔºó( ½«3c2410_spi_info.bus_num ×÷Ϊspi_master.bus_num) £¬¼´É¨Ãè×¢²áµÄspi_board_info Á´±í£¬²éÕÒËùÓÐspi_board_info.bus_num Óëspi_master.bus_num ÏàµÈµÄÏ²¢ÎªÃ¿Ò»Ïî×¢²áspi_device £¬ÆäÖÐspi_device µÄÃû×ÖΪspi_board_info. Modalias ¡£
µÚËIJ½£º×¢²á×Ö·ûÉ豸£¬×¢²áspi_driver
ÔÚdriver/spi/spidev.c ÖУ¬ÏÈ×¢²á ÁËÒÔSPIDEV_MAJOR ΪÖ÷É豸ºÅ£¬spidev_ops ΪÎļþ²Ù×÷¼¯µÄ×Ö·ûÉ豸 ¡£
×¢²áspi_driver . ÔÚdriver/spi/spidev.c ÖУ¬ÆäÖÐspi_driver µÄÃû×ÖΪ”spidev” £¬ÕâÑùÓë¸Õ²Å×¢²áµÄspi_device ÏàÆ¥Å䣬ÔÚspi_driver.probe ²¢ÎªÃ¿¸öÆ¥ÅäµÄspi_device ´´½¨ÁËÒ»¸öspidev_data £¬²¢ÔÚsys ϵͳÖÐ×¢²áÒ»¸ö´øÓÐÒÔSPIDEV_MAJOR ΪÖ÷É豸ºÅ£¬ÒÔ£°¿ªÊ¼µÄµÝÔöµÄÊý×ÖΪ¸±É豸ºÅµÄÉ豸µã£¬ÕâÑùÈç¹ûÓÐudev ÔËÐеϰ»áÔÚ/dev ÏÂÃæ½Úµã¡£
ºÃÁË£¬ËùÓеŤ×÷×¼±¸¾ÍÐ÷ÁË£¬Óû§¿ÉÒÔͨ¹ý·ÃÎÊ/dev/ ϵĽڵãÀ´Ê¹ÓÃÕâ¸öÇý¶¯ÁË¡£
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
LinuxµÄÍøÂçÐÒéÕ»
LinuxµÄÐÒéÕ»ÆäʵÊÇÔ´ÓÚBSDµÄÐÒéÕ»£¬ËüÏòÉÏÒÔ¼°ÏòϵĽӿÚÒÔ¼°ÐÒéÕ»±¾ÉíµÄÈí¼þ·Ö²ã×éÖ¯µÄ·Ç³£ºÃ¡£
LinuxµÄÐÒéÕ»»ùÓÚ·Ö²ãµÄÉè¼ÆË¼Ï룬×ܹ²·ÖΪËIJ㣬´ÓÏÂÍùÉÏÒÀ´ÎÊÇ £ºÎïÀí²ã£¬Á´Â·²ã£¬ÍøÂç²ã£¬Ó¦Óò㡣
& ......
1.1 coreÎļþµÄ¼òµ¥½éÉÜ
ÔÚÒ»¸ö³ÌÐò±ÀÀ£Ê±£¬ËüÒ»°ã»áÔÚÖ¸¶¨Ä¿Â¼ÏÂÉú³ÉÒ»¸öcoreÎļþ¡£coreÎļþ½ö½öÊÇÒ»¸öÄÚ´æÓ³Ïó(ͬʱ¼ÓÉϵ÷ÊÔÐÅÏ¢)£¬Ö÷ÒªÊÇÓÃÀ´µ÷ÊԵġ£
1.2 ¿ªÆô»ò¹Ø±ÕcoreÎļþµÄÉú³É
ÓÃÒÔÏÂÃüÁîÀ´×èֹϵͳÉú³ÉcoreÎļþ:
ulimit -c 0
Ò²¿ÉÒÔÐÞ¸ÄϵͳÎļþÀ´µ÷ÕûcoreÑ¡Ïî
ÔÚ/etc/profileͨ³£»áÓÐÕâÑùÒ»¾ä»°À´½ûÖ¹²úÉú ......