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

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/ ϵĽڵãÀ´Ê¹ÓÃÕâ¸öÇý¶¯ÁË¡£
 
 


Ïà¹ØÎĵµ£º

ʵս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 2.6 ×Ö·ûÉ豸Çý¶¯³ÌÐò


Linux 2.6 ×Ö·ûÉ豸Çý¶¯³ÌÐò
¡ð¡¢ËµÃ÷
±Ê¼ÇÊÊÓÃÓÚLinuxµÄ2.6.10ÒÔºóµÄÄںˡ£
±Ê¼ÇÒÔLinux
Device
Driver3ÌṩµÄscull³ÌÐò(scullĿ¼ÖеÄmain.cºÍscull.h)Ϊ¼Ç¼Ö÷Ïߣ¬²¢ÒÔ¸ÃÇý¶¯³ÌÐòÖеĸ÷ÖÖϵͳµ÷Óúͺ¯Êýµ÷ÓÃÁ÷³ÌΪ¼Ç
¼˳Ðò¡£±ÈÈ磬module_init( )ºÍmodule_exit(
)ΪÏà¶ÔÓ¦µÄÒ»¶Ôϵͳµ÷Óã¬Ò»°ãÊé¼®Öж¼»á·ÅÔÚÒ ......

Linux ½Å±¾±àд»ù´¡(Ò»)

1.1 Óï·¨»ù±¾½éÉÜ
1.1.1 ¿ªÍ·
³ÌÐò±ØÐëÒÔÏÂÃæµÄÐпªÊ¼£¨±ØÐë·½ÔÚÎļþµÄµÚÒ»ÐУ©£º
#!/bin/sh
·ûºÅ#!ÓÃÀ´¸æËßϵͳËüºóÃæµÄ²ÎÊýÊÇÓÃÀ´Ö´ÐиÃÎļþµÄ³ÌÐò¡£ÔÚÕâ¸öÀý×ÓÖÐÎÒÃÇʹÓÃ/bin/shÀ´Ö´ÐгÌÐò¡£
µ±±à¼­ºÃ½Å±¾Ê±£¬Èç¹ûÒªÖ´Ðиýű¾£¬»¹±ØÐëʹÆä¿ÉÖ´ÐС£
Ҫʹ½Å±¾¿ÉÖ´ÐУº
±àÒë chmod +x filename ÕâÑù²ÅÄÜÓÃ./filena ......

Linux ½Å±¾±àд»ù´¡(Èý)

3) Á÷³Ì¿ØÖÆ
1.if
"if" ±í´ïʽ Èç¹ûÌõ¼þÎªÕæÔòÖ´ÐÐthenºóÃæµÄ²¿·Ö£º
if ....; then
....
elif ....; then
....
else
....
fi
´ó¶àÊýÇé¿öÏ£¬¿ÉÒÔʹÓòâÊÔÃüÁîÀ´¶ÔÌõ¼þ½øÐвâÊÔ¡£±ÈÈç¿ÉÒԱȽÏ×Ö·û´®¡¢ÅжÏÎļþÊÇ·ñ´æÔÚ¼°ÊÇ·ñ¿É¶ÁµÈµÈ…
ͨ³£ÓÃ" [ ] "À´±íʾÌõ¼þ²âÊÔ¡£×¢ÒâÕâÀïµÄ¿Õ¸ñºÜÖØÒª¡£ÒªÈ·±£· ......

LinuxÏÂcoreÎļþ

1.1 coreÎļþµÄ¼òµ¥½éÉÜ
ÔÚÒ»¸ö³ÌÐò±ÀÀ£Ê±£¬ËüÒ»°ã»áÔÚÖ¸¶¨Ä¿Â¼ÏÂÉú³ÉÒ»¸öcoreÎļþ¡£coreÎļþ½ö½öÊÇÒ»¸öÄÚ´æÓ³Ïó(ͬʱ¼ÓÉϵ÷ÊÔÐÅÏ¢)£¬Ö÷ÒªÊÇÓÃÀ´µ÷ÊԵġ£
1.2 ¿ªÆô»ò¹Ø±ÕcoreÎļþµÄÉú³É
ÓÃÒÔÏÂÃüÁîÀ´×èֹϵͳÉú³ÉcoreÎļþ:
ulimit -c 0
Ò²¿ÉÒÔÐÞ¸ÄϵͳÎļþÀ´µ÷ÕûcoreÑ¡Ïî
ÔÚ/etc/profileͨ³£»áÓÐÕâÑùÒ»¾ä»°À´½ûÖ¹²úÉú ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ