¹ØÓÚ s3c2416 hspi spi linux Çý¶¯
×î½üÔÚ×ösamsung
s3c2416
ÔÚlinuxϵÄspiÇý¶¯³ÌÐò£¬²âÊÔÁËÏÂsamsung·¢²¼µÄspiµÄÄÚºËÔ´´úÂ룬ÎÞÂÛÊDzÉÓÃdma»òÕß·Çdmaģʽ¶¼ÎÞ·¨¹¤×÷¡£ÔĶÁ¸ÃÇý¶¯´úÂ룬·¢ÏÖ
ÕâÂëÓ¦¸ÃÊÇÒ»¸öδÍê³ÉµÄ°æ±¾£¬´æÔںܶàµÄbug¡£ÓÚÊÇÔÚÕâ¸ö°æ±¾µÄ»ù´¡ÉϽøÐÐÐ޸ģ¬ÖØÐ´Ò»¸ö¿ÉÓõġ¢Ö§³Öȫ˫¹¤µÄͨѶµÄÇý¶¯¡£Ä¿Ç°²âÊÔ»ù±¾Äܹ»Õý³£¹¤×÷£¬
Ö§³Ö°ëË«¹¤¡¢È«Ë«¹¤¡¢spiÓ²¼þÖжÏģʽºÍdmaģʽ¡£
¶Ôhspi-s3c2443.[ch]Ô´Îļþ¸ù¾ÝÊý¾Ý·¢ËͺͽÓÊÕµÄÁ÷³Ì½øÐзÖÎö£¬ÔÚδ²ÉÓÃdmaģʽÏ£¬º¯Êýµ÷ÓõÄÁ÷³Ì£ºs3c_spi_xfer
-> s3c_spi_doxfer -> s3c_spi_message_start ->
down_interruptible(&spi->sem)£¬µ½ÕâÀӲ¼þ»á²úÉúspiÖжϣ¬½øÈëµ½ÖжϷþÎñ³ÌÐò
s3c_spi_irq ÖУ¬ÖжϺ¯Êýµ÷Óà spi_s3c_irq_nextbyte
½øÐÐÊý¾Ý·¢ËÍ£¬¸ù¾Ýspi->stateµÄÖµ×öÏàÓ¦µÄ²Ù×÷£¬Êý¾Ý·¢ËÍ»ò½ÓÊÕÍê³Éºó£¬µ÷Óà s3c_spi_stop
¹Ø±Õspi£¬²¢up(&spi->sem)£¬³ÌÐòÁ÷³Ì»Øµ½ÁËs3c_spi_doxferº¯ÊýµÄ
down_interruptible(&spi->sem)£¬º¯Êý·µ»ØÍ˳ö£¬Ò»¸öspiµÄÊý¾ÝÊÕ·¢Á÷³ÌÍê³É¡£
ÔÚÕâ¸ö·¢ËͽÓÊÕÁ÷³ÌÖУ¬ÖжϷþÎñ³ÌÐò´æÔںܶ಻×ãµÄµØ·½¡£
ÏÈ¿´spi·¢ËÍ£¬·¢ËÍ×îÖÕµ÷ÓõÄÊÇ£º
while(!(tx_msgend(spi)))
s3c_spi_write_fifo(spi);
ÕâÁ½ÐдúÂëµÄ¹¦ÄÜÊÇÅжÏд»º³åÀïÊÇ·ñ»¹ÓÐÊý¾Ý£¬Óеϰ¾ÍдÈëµ½spi·¢ËͼĴæÆ÷(S3C_SPI_TX_DATA)ÖС£ÎÒÃÇÖªµÀspiµÄÓ²¼þÄܹ»»º³å64
¸ö×Ö½ÚµÄÊý¾Ý£¬Èç¹ûÎÒÃÇÒ»´Î·¢Ë͵ÄÊý¾Ý³¤¶ÈСÓÚ64¸ö×Ö½Ú£¬²¢ÇÒÏÂÒ»´Î·¢ËÍÊý¾Ýʱ»º³åÖеÄÊý¾Ý·¢ËÍÍê³É£¬ÄÇôÕâ¶Î´úÂë±íÃæÉÏÓ¦¸ÃÊÇûʲôÎÊÌâ¡£Èç¹ûÎÒÃÇ·¢
Ë͵ÄÊý¾Ý³¤¶È´óÓÚ64¸ö×Ö½Ú£¬ÄÇôÕâ¶Î´úÂëÖÁÉÙÔì³ÉµÄºó¹ûÊDzúÉúÒ»¸öSPI transmit over run error¡£
ÔÚ¿´spi½ÓÊÕ£¬½ÓÊÕµ÷ÓõĴúÂëÊÇ£º
while(!(rx_msgend(spi))){
spi->msg->rbuf[spi->msg_rd_pt
Ïà¹ØÎĵµ£º
ÔÚÍê³ÉÁËÇý¶¯³ÌÐò´úÂëµÄ±àд֮ºó£¬½ÓÏÂÀ´µÄÈÎÎñ¾ÍÊDZàÒë¡£linuxÄں˱àÒëµÄ¹ý³ÌÊÇͨ¹ýÄÚºËÔ´ÂëµÄ¸ùĿ¼ºÍ¸÷×ÓĿ¼ÖеÄMakefile·Ö¼¶¹ÜÀíµÄ¡£ÆäÖиùĿ¼µÄMakefileÊÇ×îÖØÒªµÄ£¬Ëü¿ÉÒÔ¿´³ÉÊÇÆäËûMakefile×î³õµÄÈë¿Ú¡£Ëü¸ºÔð¶¨ÒåËùÓÐÓëÌåϵ½á¹¹Î޹صıäÁ¿ºÍÄ¿±ê£¬¶ÁÈ¡.configÎļþ£¬²¢¸ù¾ÝÆäÐÅÏ¢×îÖÕÉú³Évmlinux(elf¸ñʽµÄ ......
LinuxϵͳϵĶàÏß³Ì×ñÑPOSIXÏ߳̽ӿڣ¬³ÆÎªpthread¡£±àдLinuxϵĶàÏ̳߳ÌÐò£¬ÐèҪʹÓÃÍ·Îļþpthread.h£¬Á¬½Óʱ
ÐèҪʹÓÿâlibpthread.a¡£Ë³±ã˵һÏ£¬LinuxÏÂpthreadµÄʵÏÖÊÇͨ¹ýϵͳµ÷ÓÃclone£¨£©À´ÊµÏֵġ£clone£¨£©ÊÇLinux
ËùÌØÓеÄϵͳµ÷Óã¬ËüµÄʹÓ÷½Ê½ÀàËÆfork£¬¹ØÓÚclone£¨£©µÄÏêϸÇé¿ö£¬ÓÐÐËȤµÄ¶ÁÕß¿ÉÒÔÈ¥² ......
Linux® ¿É¼ÓÔØÄÚºËÄ£¿é£¨´ÓÄÚºËµÄ 1.2 °æ±¾¿ªÊ¼ÒýÈ룩ÊÇ Linux Äں˵Ä×îÖØÒª´´ÐÂÖ®Ò»¡£ËüÃÇÌṩÁË¿ÉÉìËõµÄ¡¢¶¯Ì¬µÄÄںˡ£Ì½Ë÷Òþ²ØÔڿɼÓÔØÄ£¿éºóÃæµÄÔÀí£¬²¢Ñ§Ï°ÕâЩ¶ÀÁ¢µÄ¶ÔÏóÈçºÎ¶¯Ì¬µØ×ª»»³É Linux Äں˵ÄÒ»²¿·Ö¡£
Linux ¾ÍÊÇͨ³£Ëù˵µÄµ¥Äںˣ¨monolithic kernel£©
£¬¼´²Ù×÷ϵͳµÄ´ó²¿·Ö¹¦Äܶ¼±»³ÆÎªÄÚº ......
.Wub131 { display:none; }
±¾½²Ö÷Òª¸ÅÊöLinuxÉ豸Çý¶¯¿ò¼Ü¡¢Çý¶¯³ÌÐòµÄÅäÖÃÎļþ¼°³£ÓõļÓÔØÇý¶¯³ÌÐòµÄ·½·¨£»²¢ÇÒ½éÉÜRed Hat Linux°²×°³ÌÐòÊÇÈçºÎ¼ÓÔØÇý¶¯µÄ£¬Í¨¹ýÁ˽âÕâ¸ö¹ý³Ì£¬ ÎÒÃÇ¿ÉÒÔ×Ô¼º½«Çý¶¯³ÌÐò·Åµ½Òýµ¼ÅÌÖУ»°²×°Íêϵͳºó£¬Ê¹ÓÃkudzu×Ô¶¯ÅäÖÃÓ²¼þ³ÌÐò¡£
54com.cn
LinuxÉ豸Çý¶¯¸ÅÊö
ÖйúÍø¹ÜÁªÃËwww ......