o: ±àÒëµÄÄ¿±êÎļþ
a: ¾²Ì¬¿â£¬Æäʵ¾ÍÊǰÑÈô¸ÉoÎļþ´òÁ˸ö°ü
so: ¶¯Ì¬Á´½Ó¿â£¨¹²Ïí¿â£©
lo: ʹÓÃlibtool±àÒë³öµÄÄ¿±êÎļþ£¬Æäʵ¾ÍÊÇÔÚoÎļþÖÐÌí¼ÓÁËһЩÐÅÏ¢
la: ʹÓÃlibtool±àÒë³öµÄ¿âÎļþ£¬ÆäʵÊǸöÎı¾Îļþ£¬¼Ç¼ͬÃû¶¯Ì¬¿âºÍ¾²Ì¬¿âµÄÏà¹ØÐÅÏ¢
1 libtoolµÄ¹¤×÷ÔÀí
libtool ÊÇÒ»¸öͨÓÿâÖ§³Ö½Å±¾£¬½«Ê¹Óö¯Ì¬¿âµÄ¸´ÔÓÐÔÒþ²ØÔÚͳһ¡¢¿ÉÒÆÖ²µÄ½Ó¿ÚÖУ»Ê¹ÓÃlibtoolµÄ±ê×¼·½·¨£¬¿ÉÒÔÔÚ²»Í¬Æ½Ì¨ÉÏ´´½¨²¢µ÷Óö¯Ì¬¿â¡£¿ÉÒÔÈÏΪlibtoolÊÇgccµÄÒ»¸ö³éÏ󣬯ä°ü×°ÁËgcc£¨»òÕ߯äËûµÄ±àÒëÆ÷£©£¬Óû§ÎÞÐèÖªµÀϸ½Ú£¬Ö»Òª¸æËßlibtoolÐèÒª±àÒëÄÄЩ¿â¼´¿É£¬libtool½«´¦Àí¿âµÄÒÀÀµµÈϸ½Ú¡£libtoolÖ»Óëºó׺ÃûΪlo¡¢laΪµÄlibtoolÎļþ´ò½»µÀ¡£
libtoolÖ÷ÒªµÄÒ»¸ö×÷ÓÃÊÇÔÚ±àÒë´óÐÍÈí¼þµÄ¹ý³ÌÖнâ¾öÁË¿âµÄÒÀÀµÎÊÌ⣻½«·±ÖصĿâÒÀÀµ¹ØÏµµÄά»¤¹¤×÷³Ðµ£ÏÂÀ´£¬´Ó¶øÊÍ·ÅÁ˳ÌÐòÔ±µÄÈËÁ¦×ÊÔ´¡£libtoolÌṩͳһµÄ½Ó¿Ú£¬Òþ²ØÁ˲»Í¬Æ½Ì¨¼ä¿âµÄÃû³ÆµÄ²îÒìµÈϸ½Ú£¬Éú³ÉÒ»¸ö³éÏóµÄºó׺ÃûΪla¸ß²ã¿âlibxx.la£¨ÆäʵÊǸöÎı¾Îļþ£©£¬²¢½«¸Ã¿â¶ÔÆäËü¿âµÄÒÀÀµ¹ØÏµ£¬¶¼Ð´ÔÚ¸ÃlaµÄÎļþÖС£¸ÃÎļþÖеÄdependency_libs¼Ç¼¸Ã¿âÒÀÀµµÄËùÓп⣨ÆäÖÐÓÐЩÊÇÒÔ.laÎļþµÄÐÎʽ¼ÓÈëµÄ£©£»libdirÔòÖ¸³öÁË¿âµÄ°²×° ......
×÷ÕߣºÒ×ËÉ»ª,»ªÇåÔ¶¼ûǶÈëʽѧԺ½²Ê¦¡£
ÔÚ»ªÇåÔ¶¼ûÉϿιý³ÌÖУ¬·¢ÏÖ¾²Ì¬Ó³Éä·½Ãæ³õѧÕ߱ȽÏÄÑÓÚÕÆÎÕºÍÀí½â£¬ÏÂÃæ·ÖÎöһϾ²Ì¬Ó³Éä»úÖÆµÄÔÀí²¢Í¨¹ýGPIOºÍUSB¡¢LCDµÈµÄ¾²Ì¬Ó³Éä×÷ΪÀý×ÓÀ´ËµÃ÷ÈçºÎͨ¹ýÕâÖÖ¾²Ì¬Ó³ÉäµÄ·½Ê½·ÃÎÊÍâÉè×ÊÔ´¡£
ÄÚºËÌṩÁËÒ»¸öÖØÒªµÄ½á¹¹Ìåstruct machine_desc ,Õâ¸ö½á¹¹ÌåÔÚÄÚºËÒÆÖ²ÖÐÆðµ½Ïàµ±ÖØÒªµÄ×÷ÓÃ,ÄÚºËͨ¹ýmachine_desc½á¹¹ÌåÀ´¿ØÖÆÏµÍ³Ìåϵ¼Ü¹¹Ïà¹Ø²¿·ÖµÄ³õʼ»¯¡£machine_desc½á¹¹ÌåµÄ³ÉÔ±°üº¬ÁËÌåϵ¼Ü¹¹Ïà¹Ø²¿·ÖµÄ¼¸¸ö×îÖØÒªµÄ³õʼ»¯º¯Êý£¬°üÀ¨map_io,init_irq, init_machineÒÔ¼°phys_io , timer³ÉÔ±µÈ¡£
machine_desc½á¹¹Ì嶨ÒåÈçÏ£º
struct machine_desc {
/*
* Note! The first four elements are used
* by assembler code in head-armv.S
&nbs ......
Ò»¡¢ÏÂÔØ°²×°³ÌÐò
1¡¢ ÏÂÔØÄÚºËÔ´Â루linux-2.6.33.tar.bz2£©£¬Î»Öãºhttps://www.kernel.org
2¡¢ ÏÂÔØ×îаæµÄmodule-init-tools£¨module-init-tools-3.8.tar.bz2£©ºÍmodutils£¨modutils-2.4.26-1.src.rpm£©µÄÔ´Âë
λÖãºhttp://www.kernel.org/pub/linux/kernel/people/rusty/modules/
λÖãºhttp://www.kernel.org/pub/linux/utils/kernel/modutils/
3¡¢ ÎÒÓõİ汾ÊÇCentOS 5.4 32bitºÍSL 5.4 64bit£¬ÐèÒª¹âÅÌÖеģºgcc¡¢glibc¡¢make¡¢ncurses-develµÈ°²×°Îļþ
¶þ¡¢°²×°
1¡¢ °²×°module-init-tools
½âѹ£ºtar -jxvf module-init-tools-3.8.tar.bz2
ÉèÖãºcd ./module-init-tools-3.8
./configure –prefix=/sbin
make
su –
make install
2¡¢ ½âѹmodutils
Ö±½ÓÔËÐУº
rpm –ivh modutils-2.4.26-1.src.rpm
µ«ÓеÄʱºò» ......
Ôø×ö¹ýsignalÏà¹ØµÄÒ»µã¶ù¿ª·¢£¬Ì¸Ì¸ÎÒµÄһЩÀí½â¡£
Ê×ÏÈ£¬ÐèÒªÀí½â¼¸¸ösignalÏà¹ØµÄº¯Êý¡£
sigaddset(sigset_t* sigSet, int sigNum ) : ½«ÐźÅsigNum Ìí¼Óµ½Ðźż¯ sigSet ÖУ»
sigdelset(sigset_t* sigSet, int sigNum) : ½«ÐźŠsigNum ´ÓÐźż¯ sigSet ÖÐɾ³ý£»
sigemptyset(sigset_t* sigSet) : Çå¿ÕÐźż¯£»
sigfillset(sigset_t* sigSet) : ÔÚÐźż¯Öдò¿ªËùÓеÄÐźš£
µ«ÊÇÕâ¸öʱºòÖ»ÊǶ¨ÒåºÃÁËÈç´ËÒ»¸öÐźż¯£¬»¹ÓжÔÐźŵIJÙ×÷º¯Êý£º
pthread_sigmask(int opCode, sigset_t* sigSet, sigset_t* oldSigSet) :
opCode Ö¸¶¨ÁËÈçºÎ¶Ô sigSet ÀïµÄÐźŽøÐд¦Àí¡£opCode ÓÐÈý¸öÖµ: SIG_BLOCK
(½«sigSetÖеÄÐźżӵ½µ±Ç°Ïß³ÌµÄÆÁ±Î¼¯ÖÐ)£¬SIG_UNBLOCK (½«sigSet
ÖеÄÐźŴӵ±Ç°Ïß³ÌÆÁ±Î¼¯ÖÐɾ³ý)£¬SIG_SETMASK (½«sigSet ÉèΪµ±Ç°Ïß³ÌµÄÆÁ±Î¼¯)¡£ ÈôoldSigSet !=
NULL£¬Ôò½«Ö®Ç°µÄÐÅºÅÆÁ±Î¼¯´æÈëÆäÖС£
ÁíÍ⻹Óиöº¯Êý sigprocmask() Ò²ÓÐÀàËÆ¹¦ÄÜ¡£Çø±ðÊÇ£ºpthread_sigmask()
ÊÇÏ߳̿⺯Êý£¬ÓÃÓÚ¶àÏ߳̽ø³Ì¡£sigprocmask() ÊǾɵÄʵÏÖ£¬ÓÃÓÚµ¥Ï̵߳Ľø³Ì¡£
& ......
´ËÎÄÓÚ2010-02-26±»ÍƼöµ½CSDNÊ×Ò³
ÈçºÎ±»ÍƼö£¿
×î½üÔÚÑо¿ Linux
Äں˵Äʱ¼ä×Óϵͳ£¬ÎªÏÂһƪ³¤ÎÄ¡¶·þÎñÆ÷³ÌÐòÖеÄÈÕÆÚÓëʱ¼ä¡·×ö×¼±¸£¬ÎÞÒâÖÐ×¢Òâµ½ÁË Linux
ÐÂÔöµÄ¼¸¸öϵͳµ÷ÓõĶԱàд·þÎñÆ÷´úÂëµÄÓ°Ï죬ÏÈ´óּǼÔÚÕâÀï¡£ÕâÆª²©¿ÍÒ²¿ÉËã×÷ǰһƪ¡¶¶àÏß
³Ì·þÎñÆ÷µÄ³£Óñà³ÌÄ£ÐÍ¡·
µÄÒ»¸ö×¢½Å¡£
< type="text/javascript">
1. ·þÎñÆ÷³ÌÐòµÄ·ç¸ñ¿ÉÄÜÔÚ±ä
еĴ´½¨ÎļþÃèÊö·ûµÄ
syscall Ò»°ã¶¼Ö§³Ö¶îÍâµÄ flags ²ÎÊý£¬¿ÉÒÔÖ±½ÓÖ¸¶¨ O_NONBLOCK ºÍ FD_CLOEXEC£¬ÀýÈ磺
accept4 – 2.6.28
eventfd2 – 2.6.27
inotify_init1
– 2.6.27
pipe2 – 2.6.27
signalfd4 – 2.6.27
timerfd_create 2.6.25
ÒÔÉÏ 6 ¸ö
syscalls£¬³ýÁË×îºóÒ»¸öÊÇй¦ÄÜ£¬ÆäÓàµÄ¶¼ÊÇÔöÇ¿ÔÓеĵ÷Ó㬰ÑÊý×ÖβºÅÈ¥µô¾ÍÊÇÔÀ´µÄ syscall¡£
O_NONBLOCK
µÄ¹¦ÄÜÊÇ¿ªÆô“·Ç×èÈûIO”£¬¶øÎļþÃèÊö·ûĬÈÏÊÇ×èÈûµÄ¡£
ÕâЩ´´½¨ÎļþÃèÊö·ûµÄϵͳµ÷ÓÃÄÜÖ±½ÓÉ趨 O_NONBLOCK
Ñ¡Ï»òÐíÄÜ·´Ó³µ±Ç° Linux £¨·þÎñ¶Ë£©¿ª·¢µÄ·çÏò£¬ÄǾÍÊÇÎÒÔÚǰһƪ²©¿Í¡¶¶àÏß
³Ì·þÎñÆ÷µÄ³£Óñà³ÌÄ£ÐÍ¡·
ÀïÍÆ¼öµÄ one loop per thread + (non-blocking IO wit ......
ѧУ·þÎñÆ÷µÄÒ»¸öwindowsÐéÄâ»ú¿ªÆôÁËDesktop¹²Ïí£¬ÕâÑù¿ÉÒÔÔÚÅäÖò»¸ßµÄÖÕ¶ËʹÓøßÐÔÄܵĻúÆ÷£¬³ýÁËwindows¿Í»§¶Ë·ÃÎÊÍ⣬ÔÚUbuntuÀï¿ÉÒÔͨ¹ý×Ô´øµÄ rdesktop·ÃÎÊ£¬¸Ã³ÌÐòΪÃüÁîÐÐÐÎʽ¡£²ÎÊý½Ï¶à£¬±È½ÏÓÐÓõÄÊÇÌṩԶ³ÌÓë±¾µØ½»»¥µÄ-r²ÎÊý¡£
È磺
rdesktop -r disk:floppy=/home/xiajing/t 192.168.111.111 ......