3gÍø¿¨ linux¼ÓËÙ
ÏÖÔÚ´ó¶àÊý¸ßËÙÎÞÏßÉÏÍø¿¨¶¼ÄÚÖô洢¿Õ¼ä£¬ÓÃÓÚ´æ´¢Çý¶¯³ÌÐòºÍ²¦ºÅÈí¼þµÈ¡£µ±Ê״ν«ÕâÖÖÉ豸²åÈëUSB½Ó¿Úʱ£¬¸ÃÉ豸±»Ê¶±ðΪCD£ROM£¬Çý¶¯³ÌÐòºÍ²¦
ºÅÈí¼þ¾ÍÔÚÆäÖС£µ±°²×°ÍêÍø¿¨µÄÇý¶¯³ÌÐòºó£¬Ôٴν«Æä²åÈëʱ£¬Ôò±»Ê¶±ðΪModemµÈÉ豸£¬ÎÒµÄÕâ¸öÍø¿¨»¹¿ÉÒÔ²åMicro-SD¿¨£¬Í¬Ê±×÷UÅÌÓá£ÒÔÉÏ
ÕâЩºÃÏñ³ÆÎªZeroCD¼¼Êõ¡£
ÔÚÉÏÍøµÄ¹ý³ÌÖУ¬»á³öÏÖËÙ¶ÈÎÞ·¨³¬¹ý62KBµÄÎÊÌ⣬ÓÖGoogleÒ»·¬ºó£¬ÔÀ´Ê¹ÓõÄusbserialÊÇÕë¶ÔµÍËÙµÄÉ豸Éè¼ÆµÄ£¬Ê¹ÓõĻº³åÇøºÜС£¬²¢
û¿¼ÂÇÏÖÔÚÕâÖÖ¸ßËÙÉÏÍøÉ豸£¬Òò´ËÔì³ÉÍøËÙÓÐÏÞÖÆ¡£¿ÉÒÔͨ¹ýÐÞ¸ÄusbserialµÄÔ´´úÂ룬ʹÆä¾ßÓдóС¿É±äµÄ»º³åÇø£¨²Î¿¼
www.evdoforums.com/thread4381.html£©£¬Æä²½ÖèÈçÏ£º
1¡¢ÏÂÔØ°²×°ÄÚºËÔ´Âë¡£
2¡¢copyµ±Ç°ÄÚºËÅäÖÃÎļþÖÁÄÚºËÔ´´úÂëĿ¼Ï£¬
cp /boot/config-$(uname -r) /usr/src/linux-2.6.28/.config
3¡¢cdµ½ÄÚºËÔ´ÂëĿ¼£¬Îª±àÒëÄ£¿é´´½¨ÅäÖÃÎļþ¡£
cd /usr/src/linux-source-2.6.24/ && make menuconfig
4¡¢´´½¨Ò»¸öusbserial.cµÄ²¹¶¡Îļþ/root/usbserial.c.patch£¬ÄÚÈÝÈçÏ£º
--- linuxold/drivers/usb/serial/usb-serial.c 2006-12-31 17:40:28.000000000 -0600
+++ linux/drivers/usb/serial/usb-serial.c 2009-05-02 23:55:08.000000000 -0600
@@ -58,4 +58,5 @@
*/
+static ushort maxRSize, maxWSize, maxISize;
static int debug;
static struct usb_serial *serial_table[SERIAL_TTY_MINORS]; /* initially all NULL */
@@ -817,4 +818,6 @@
}
buffer_size = le16_to_cpu(endpoint->wMaxPacketSize);
+ if (buffer_size < maxRSize)
+ buffer_size = maxRSize;
port->bulk_in_size = buffer_size;
port->bulk_in_endpointAddress = endpoint->bEndpointAddress;
@@ -841,4 +844,6 @@
}
buffer_size = le16_to_cpu(endpoint->wMaxPacketSize);
+ if (buffer_size < maxWSize)
+ buffer_size = maxWSize;
port->bulk_out_size = buffer_size;
port->bulk_out_endpointAddress = endpoint->bEndpointAddress;
@@ -866,4 +871,6 @@
}
buffer_size = le16_to_cpu(endpoint->wMaxPacketSize);
+ if (buffer_size < maxISize)
+ buffer_size = maxISize;
port->interrupt_in_endpointAddress = endpoint->bEndpointAddress;
port->interrupt_in_buffer = kmalloc (buffer_size, GFP_KERNEL);
Ïà¹ØÎĵµ£º
LINUX Ï̺߳¯Êý´óÈ«
Ïß³Ì
´´½¨Ò»¸öȱʡµÄÏß³Ì
ȱʡµÄÏ̵߳ÄÊôÐÔ£º
l ·Ç°ó¶¨
l δ·ÖÀë
l Ò»¸öȱʡ´óСµÄ¶ÑÕ»
l &nb ......
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <pthread.h>
#include <assert.h>
void * routine(void * arg);
int pool_add_job(void *(*process)(void * arg),void *arg);
int pool_init(unsigned int thread_num);
int po ......
±àÒëµ¥¸öÔ´Îļþ
ΪÁ˽øÐвâÊÔ£¬Äã¿ÉÒÔ´´½¨“Hello World”³ÌÐò£º
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
printf(”Hello world!\n”);
exit(0);
}
ʹÓÃÈçÏÂÃüÁî±àÒë²¢²âÊÔÕâ¸ö´úÂ룺
# gcc -o hello hello.c
# ./hello
Hello wordl!
ÔÚÄ ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
×ÀÃæ
Linux
ÊÇʲô£¿Ëµµ½µ×£¬×ÀÃæ
Linux
Ó¦¸ÃÊÇÔõÑùµÄ£¿Õâ¸öÎÊÌâËäÈ»¼òµ¥£¬ÕýÈ·»Ø´ðÈ·Êô²»Òס£ÎªÊ²Ã´£¿
ÈËʹÓüÆËã»ú±ÜÃâ²»ÁËʹÓÃ×Àà ......