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

¹ØÓÚ 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


Ïà¹ØÎĵµ£º

Linux¶¨Ê±Æ÷——setitimer()

setitimer()ÊDZȽϾ«×¼µÄ¶¨Ê±Æ÷£¬ÊÇLinuxµÄAPI
ÒÔÏ´úÂëÊǸöµ¹¼ÆÊ±Àý×Ó£º
#include <signal.h>
#include <sys/time.h>
static int time_count=30;
static void sigalrm_handler(int sig)
{
time_count--;
printf("timer signal.. %d\n", time_count);
}
struct itimerval v; ......

Linux¶àÏ̱߳à³Ì»ù´¡

LinuxϵͳϵĶàÏß³Ì×ñÑ­POSIXÏ߳̽ӿڣ¬³ÆÎªpthread¡£±àдLinuxϵĶàÏ̳߳ÌÐò£¬ÐèҪʹÓÃÍ·Îļþpthread.h£¬Á¬½Óʱ
ÐèҪʹÓÿâlibpthread.a¡£Ë³±ã˵һÏ£¬LinuxÏÂpthreadµÄʵÏÖÊÇͨ¹ýϵͳµ÷ÓÃclone£¨£©À´ÊµÏֵġ£clone£¨£©ÊÇLinux
ËùÌØÓеÄϵͳµ÷Óã¬ËüµÄʹÓ÷½Ê½ÀàËÆfork£¬¹ØÓÚclone£¨£©µÄÏêϸÇé¿ö£¬ÓÐÐËȤµÄ¶ÁÕß¿ÉÒÔÈ¥² ......

ÔÚlinuxϰ²×°Óöµ½µÄ»·¾³±äÁ¿ÎÊÌâ

 ½ñÌìÔÚ°²×°oracle¹ý³ÌÖУ¬²ÎÕÕÍøÉÏÏÂÔØµÄ×ÊÁÏÔÚRHEL5Éϰ²×°oracle£¬Õû¸ö¹ý³Ì±È½Ï˳Àû£¬µ«ÊÇÈ´Óöµ½ÁËÒ»µãÎÊÌ⣬ËäÈ»²»ÊǺÜÑÏÖØ£¬µ«ÊDZϾ¹ÊǸöÎÊÌâÐÄÀﻹÊDz»ºÜÊæ·þ£¬ÔÚ´ËÇë·¹ýµÄ½â¾ö¡£
      Ö÷ÒªÎÊÌâÊÇoracleÓû§µÄ»·¾³±äÁ¿£¬ÔÚ°²×°oracle¹ý³ÌÖУ¬ÓÐÒ»²½ÊÇÐèÒªÒÔoracleÓû§µÇ¼£¬È»ºó±à¼­ ......

Linux ÏÂʹÓÃÃüÁîÐз¢ËÍÓʼþ×î¼òʵÀý

ÍøÉϵÄÎÄÕ¿ÉÄܹýÓÚÉîÈ룬²»Ì«ÊʺÏÐÂÊÖ¿´£¬ÕâÀï½éÉÜ×î¼òµ¥µÄ¼¸ÌõSMTPÖ¸Á½öÐèÒªÊäÈëºÜÉÙµÄÃüÁî¼´¿É³É¹¦·¢ËÍÒ»·âÓʼþ¡£
ÆäÖдÖÌ岿·ÖΪÊäÈëµÄÃüÁÀ¶É«²¿·ÖΪ¿É±äÄÚÈÝ£¬»ÒɫΪ·þÎñÆ÷Ó¦´ðÄÚÈÝ©¤©¤
[root@localhost ~]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Esc ......

vim script ·ÖÏí£¨Ð´c/c ³ÌÐò´úÂ룩


×Ô¼ºÊ¹ÓÃvim±à¼­´úÂëÒ²ÊÇÓÐÒ»¶Îʱ¼äÀ´£¬Ä¿Ç°ÔĶÁ¡¢Ð޸ġ¢Ð´´úÂë»ù±¾¶¼Àë²»¿ªËûÁË¡£±¾ÈËʹÓùýµÄ±à¼­Æ÷ºÜÉÙ£¬ÒÔǰһ°ã¶¼ÊÇʹÓóÌÐò¿ª·¢IDE×Ô´øµÄ±à¼­Æ÷Щ´úÂ룬û¾õµÃʲô·½±ã¡£¿ªÊ¼Ê¹ÓÃvimµÄ¸Õ¸Õ½Ó´¥linux³ÌÐò¿ª·¢µÄʱºò£¬ÄÇʱ¿´µ½ÆäËûÈËÒ»°ã¶¼ÊÇÔÚwindowsÏÂʹÓÃSource Insight ±à¼­´úÂ룬ȻºóÔÚÐéÄâ»úlinuxÏÂmake¡£ÎұȽ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ