¹ØÓÚqt embedded phonon °²×°ÎÊÌâ¡£
¿ÉÄÜÔÚ°²×°$sudo ./configure -phonon -phonon-backend .....µÄʱºò»á˵ÕÒ²»µ½phonon ,
ºÜÃ÷ÏÔÒòΪûÓÐÕâ¸öphononÕâ¸ö¿â£¬µ±È»¾Í»áÕÒ²»µ½£¬ÔÚ±àÒëµÄʱºò£¬
ÌØ±ðÊÇ./configure -phonon -phonon-backendµ±±àÒëºÜ¶Îʱ¼äºó»á˵£ºPhonon support cannot ...Õâ¸öʱºò¾Í¾ÍÇëÄã¼ÓÉÏ'-v'£»$sudo ./configure -phonon -phonon-backend -v Õâ¸öÑ¡ÏËû»áÌáʾÄãʲôµØ·½´íÎóÁË£¬Õâ¸öʱºòËü»áÌáʾ£ºgstreamer ´íÎ󣬵±È»Ò²ÓпÉÄܲ»Õâ¸öµØ·½£¬Õâ¸öÖ»ÌṩһÖÖ·½·¨,ºÜÃ÷ÏÔ£¬ÔÚ±àÒëphononʱËüÕÒ²»µ½gstreamer ²å¼þ£¬Õâ¸öʱºòÎÒÃǾÍÔÚÐÂÁ¢µÂÀïÃæ²éÕÒ£¬½á¹ûÀïÃæÕæµÄÓÐÕâЩ£¬ËµÃ÷ûÓа²×°ÄÇЩÒÀÀµ°ü£¡¶øÇÒÄãÔÚqt creater °ïÖúÎĵµÀïÃæ(help)Ò²»á¿´¼û £¬ÔÚhelp ÀïÃæÊäÈëphononÔÚÏÂÀ²Ëµ¥ÖУ¬Ëü¾Í»áÏÔʾPhonon Overview È»ºóÄãµã»÷½øÈ¥£¬ÔÚinstallint Phonon Õâ¸öµØ·½ÓÐlinux°²×°PhononËùÐèµÄ°ü£¬µ±È»ÕâÀïÒ²windows °²×°ËùÐèµÄ°ü£¬ÔÚlinuxϵİüÓÐËĸö 1¡¢libgstreamer0.10_0.10 2¡¢libgstreamer0.10_0.10-devel 3¡¢libgstreamer-plugins-base0.10 4¡¢libgstreamer-plugins-base0.10-devel ÔÚÐÂÁ¢µÂÊÕË÷gstreamer ÀïÃæÓк ......
ÒòΪLINUX
µÄÄÚºË
»úÖÆ£¬Ò»°ãÇé¿öϲ»ÐèÒªÌØÒâÈ¥ÊÍ·ÅÒѾʹÓõÄcache¡£ÕâЩcacheÆðÀ´µÄÄÚÈÝ¿ÉÒÔÔö¼ÓÎļþÒÔ¼°µÄ¶ÁдËÙ¶È¡£
ÏÈ˵ÏÂfreeÃüÁîÔõô¿´ÄÚ´æ
[root@ahsq proc]# free
total used free shared buffers cached
Mem: 515588 295452 220136 0 2060 64040
-/+ buffers/cache: 229352 286236
Swap: 682720 112 682608
ÆäÖеÚÒ»ÐÐÓÃÈ«¾Ö½Ç¶ÈÃèÊöϵͳʹÓõÄÄÚ´æ×´¿ö£º
total——×ÜÎïÀíÄÚ´æ
used——ÒÑʹÓÃÄڴ棬һ°ãÇé¿öÕâ¸öÖµ»á±È½Ï´ó£¬ÒòΪÕâ¸öÖµ°üÀ¨ÁËcache+Ó¦ÓóÌÐòʹÓõÄÄÚ´æ
free——Íêȫδ±»Ê¹ÓõÄÄÚ´æ
shared——Ó¦ÓóÌÐò¹²ÏíÄÚ´æ
buffers——»º´æ£¬Ö÷ÒªÓÃÓÚĿ¼·½Ãæ,inodeÖµµÈ£¨ls´óĿ¼¿É¿´µ½Õâ¸öÖµÔö¼Ó£©
cached——»º´æ£¬ÓÃÓÚÒÑ´ò¿ªµÄÎļþ
note:
total=used+free
used=buffers+cached (maybe add shared also)
µÚ¶þÐÐÃèÊöÓ¦ÓóÌÐòµÄÄÚ´æÊ¹Óãº
ǰ¸öÖµ±íʾ-buffers/cache——Ó¦ÓóÌÐòʹÓõÄÄÚ´æ´óС£¬used¼õÈ¥»º´æÖµ
ºó¸öÖµ±íʾ+buffers/cache——ËùÓпɹ©Ó¦ÓóÌÐòʹÓõÄÄÚ´æ´óС£¬free¼ÓÉÏ»º´æÖµ
note:
-buffers/cache=used-buffers-cached
+buff ......
Linux ÎļþºÍĿ¼µÄÊôÐÔ
×÷Õߣº±±ÄÏÄϱ±
À´×Ô£ºhttp://www.linuxsir.org/main/?q=node/196
ÕªÒª£º±¾ÎĽ²ÊöµÄÊÇÎļþ»òĿ¼µÄÊôÐÔ£¬±ÈÈç½Úµãinode¡¢ÎļþÀàÐÍ¡¢ÎļþȨÏÞ¼°¹éÊô£»»¹¶Ôsetuid¡¢setgid¼°Õ³Ìùλ½øÐÐÁËÒ»°ãÐԵĽ²½â¡£¶Ôln
¡¢chmod¡¢umask¡¢chown¡¢chgrp ¡¢touch µÄÓ÷¨Ò²½øÐÐÁ˱ȽÏÏêϸµÄ˵Ã÷ºÍ¾ÙÀý£»
Ŀ¼
1¡¢ Linux ÎļþµÄÊôÐÔ¸Å˵£»
2¡¢
¹ØÓÚinode£»
2.10 inode ÏàͬµÄÎļþÊÇÓ²Á´½ÓÎļþ£»
2.11 ´´½¨Ó²Á´½Ó£¬Ó²Á´½ÓºÍÔ´Îļþ¹ØÏµ£»
2.12 ÈíÁ´½ÓµÄ´´½¨£¬¼°Èí½ÓÓëÔ´ÎļþµÄ¹ØÏµ£»
3¡¢ÎļþÀàÐÍ£»
4¡¢ÎļþµÄȨÏÞ£»
4.21 ͨ¹ý chmod °Ë½øÖÆÓï·¨À´¸Ä±äÎļþ»òĿ¼µÄȨÏÞ£»
4.22 ͨ¹ý chmod Öú¼ÇÓï·¨À´¸Ä±äÎļþ»òĿ¼µÄȨÏÞ£»
4.1 ¹ØÓÚȨÏÞλ£»
4.2
¸Ä±äȨÏÞµÄÃüÁî chmod £»
4.3 ĬÈÏȨÏÞ·ÖÅäµÄÃüÁî umask £»
5¡¢setuidºÍsetgid λ£»
5.1 setuidºÍsetgidµÄ½â˵ £»
5.2 setuidºÍsetgidµÄʵÀýÓ¦Óã»
5.3 setuidºÍsetgidµÄÉèÖ÷½·¨£»
6¡¢Õ³Ìùλ¼°ÉèÖ÷½·¨£»
7¡¢Îļþ»òĿ¼µÄ¹éÊô¹ØÏµ£»
7.1 ¸Ä±äÎļþµÄµ±Êô¹ØÏµµÄ¹¤¾ß chown £»
7.2 ¸Ä±äÎļþµÄÊô×鹤¾ß chgrp £»
7.3 ÎļþÊôÖ÷ºÍÊô×éµÄÌØÊâÇé¿ö £»
8¡¢Ó°ÏìÎļþµÄ¶ÁдִÐеÄÒòËØ£» ......
GPIO£¨General Purpose Input/OutputµÄËõд£©¾ÍÊÇоƬµÄÒý½Å£¬Òý½ÅÊǿɱà³ÌµÄ¿É¶ÔÒý½ÅµÄ¹¤×÷ģʽ½øÐÐÉèÖãºÊäÈëģʽ(¼ì²âÊäÈëÐźÅ)£¬Êä³öģʽ(Êä³ö0»ò1)£¬¸ß×è״̬(³£ÓÃÓÚADת»»)£¬»¹ÓнûÖ¹»òÔÊÐíÉÏÄÚ²¿ÏÂÀµç×è(ÉÏÀ£º¹Ü½Åͨ¹ýµç×è½Ó¸ßµçƽ£¬ÏÂÀ£º¹Ü½Åͨ¹ýµç×è½ÓµØ£¬Ò²¿ÉÒÔÍⲿ½ÓÉÏÀ»òÏÂÀµç×è)£¬»¹ÓйܽŸ´Óõȹ¦ÄÜ£¬¼´Í¨¹ý¶ÔÄÚ²¿¼Ä´æÆ÷µÄÉèÖÃʹÒý½Å¼È¿ÉÒÔ¹¤×÷ÔÚÒ»°ãģʽ£¬×÷ΪÆÕͨµÄGPIO¿ÚʹÓã¬Ò²¿ÉÒÔ¹¤×÷ÔÚÌØÊâģʽ£¬±ÈÈç×÷ΪÍⲿÖжÏÐźÅÊäÈëÒý½ÅµÈµÈ¡£Èç¹û²»ÉèÖÃGPIOÒý½Å£¬CPU¹¤×÷ʱÓÐÒ»¸ö³õʼ»¯Ä£Ê½£¬¿ÉÒÔ´Ódatasheet£¨Ð¾Æ¬ÊֲᣩÉÏÁ˽⡣¶ÔGPIOµÄ¿ØÖÆÊDZàдÇý¶¯³ÌÐò×î³£¼ûºÍÖØÒªµÄÒ»Ï×÷ÄÚÈÝ¡£
ÔÚLinux2.6.25Äں˴úÂëÖУ¬ÒѾÌṩÁËÕë¶ÔÈýÐÇS3C2410/S3C2440µÈоƬGPIOµÄ¿ØÖÆ£¬ÏÂÃæÀ´·Ö±ð½éÉÜÒ»°ãÈçºÎÅäÖᢹÜÀíGPIO¡£
ÏÂÃæµÄº¯ÊýÊÇÓÃÀ´¸ù¾ÝÐµĹ¦ÄÜÐèÇóÅäÖÃÒ»¸öGPIOÒý½Å£¨¶¨ÒåÔÚarch/arm/plat-s3c24xx/gpio.c£©£º
1 void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function)
2 {
3&nb ......
GPIO£¨General Purpose Input/OutputµÄËõд£©¾ÍÊÇоƬµÄÒý½Å£¬Òý½ÅÊǿɱà³ÌµÄ¿É¶ÔÒý½ÅµÄ¹¤×÷ģʽ½øÐÐÉèÖãºÊäÈëģʽ(¼ì²âÊäÈëÐźÅ)£¬Êä³öģʽ(Êä³ö0»ò1)£¬¸ß×è״̬(³£ÓÃÓÚADת»»)£¬»¹ÓнûÖ¹»òÔÊÐíÉÏÄÚ²¿ÏÂÀµç×è(ÉÏÀ£º¹Ü½Åͨ¹ýµç×è½Ó¸ßµçƽ£¬ÏÂÀ£º¹Ü½Åͨ¹ýµç×è½ÓµØ£¬Ò²¿ÉÒÔÍⲿ½ÓÉÏÀ»òÏÂÀµç×è)£¬»¹ÓйܽŸ´Óõȹ¦ÄÜ£¬¼´Í¨¹ý¶ÔÄÚ²¿¼Ä´æÆ÷µÄÉèÖÃʹÒý½Å¼È¿ÉÒÔ¹¤×÷ÔÚÒ»°ãģʽ£¬×÷ΪÆÕͨµÄGPIO¿ÚʹÓã¬Ò²¿ÉÒÔ¹¤×÷ÔÚÌØÊâģʽ£¬±ÈÈç×÷ΪÍⲿÖжÏÐźÅÊäÈëÒý½ÅµÈµÈ¡£Èç¹û²»ÉèÖÃGPIOÒý½Å£¬CPU¹¤×÷ʱÓÐÒ»¸ö³õʼ»¯Ä£Ê½£¬¿ÉÒÔ´Ódatasheet£¨Ð¾Æ¬ÊֲᣩÉÏÁ˽⡣¶ÔGPIOµÄ¿ØÖÆÊDZàдÇý¶¯³ÌÐò×î³£¼ûºÍÖØÒªµÄÒ»Ï×÷ÄÚÈÝ¡£
ÔÚLinux2.6.25Äں˴úÂëÖУ¬ÒѾÌṩÁËÕë¶ÔÈýÐÇS3C2410/S3C2440µÈоƬGPIOµÄ¿ØÖÆ£¬ÏÂÃæÀ´·Ö±ð½éÉÜÒ»°ãÈçºÎÅäÖᢹÜÀíGPIO¡£
ÏÂÃæµÄº¯ÊýÊÇÓÃÀ´¸ù¾ÝÐµĹ¦ÄÜÐèÇóÅäÖÃÒ»¸öGPIOÒý½Å£¨¶¨ÒåÔÚarch/arm/plat-s3c24xx/gpio.c£©£º
1 void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function)
2 {
3&nb ......
´°Ìå¶¥¶Ë
Ë÷Òý£º
1.fork¡¢execºÍexit¶ÔIPC¶ÔÏóµÄÓ°Ïì
2.fcntl¼ÇÂ¼Ëø
3.¹ÜµÀºÍFIFOµÄÊôÐÔ
4.¹ÜµÀºÍFIFOµÄÏÞÖÆ
5.pipeº¯Êý
6.popenºÍpclose
7.mkfifoº¯Êý
8.System V IPC¹²ÐÔÃèÊö
9.msqid_ds½á¹¹
10.msggetº¯Êý
11.msgsndº¯Êý
12.msgrcvº¯Êý
13.msgctlº¯Êý
14.ÔÚSystem VÏûÏ¢¶ÓÁÐÉÏʹÓÃselectºÍpoll
15.semid_ds½á¹¹
16.semgetº¯Êý
17.semopº¯Êý
18.semctlº¯Êý
19.shmid_ds½á¹¹
20.shmgetº¯Êý
21.shmatº¯Êý
22.shmdtº¯Êý
23.shmctlº¯Êý
24.mmapº¯Êý
25.munmapº¯Êý
26.msyncº¯Êý
27.ÄäÃûÄÚ´æÓ³Éä
1.fork¡¢execºÍexit¶ÔIPC¶ÔÏóµÄÓ°Ïì
IPCÀàÐÍ
fork
exec
_exit
¹ÜµÀºÍFIFO
×Ó½ø³ÌÈ¡µÃ¸¸½ø³ÌµÄËùÓдò¿ª×ŵÄÃèÊö×ֵĿ½±´
ËùÓдò¿ªµÄÃèÊö×Ö¼ÌÐø´ò¿ª×Å£¬³ý·ÇÒÑÉèÖÃÃèÊö×ÖµÄFD_CLOEXECλ
¹Ø±ÕËùÓдò¿ª×ŵÄÃèÊö×Ö£¬×îºóÒ»¸ö¹Ø±Õʱɾ³ý¹ÜµÀ»òFIFOÖвÐÁôµÄËùÓÐÊý¾Ý
PosixÏûÏ¢¶ÓÁÐ
×Ó½ø³ÌÈ¡µÃ¸¸½ø³ÌµÄËùÓдò¿ª×ŵÄÏûÏ¢¶ÓÁÐÃèÊö×ֵĿ½±´
¹Ø±ÕËùÓдò¿ª×ŵÄÏûÏ¢¶ÓÁÐÃèÊö×Ö
¹Ø±ÕËùÓдò¿ª×ŵÄÏûÏ¢¶ÓÁÐÃèÊö×Ö
System VÏûÏ¢¶ÓÁÐ
ûÓÐЧ¹û
ûÓÐЧ¹û
ûÓÐЧ¹û
Posix»¥³âËø¡¢Ìõ¼þ±äÁ¿¡¢¶ÁÐ´Ëø¡¢»ùÓÚÄÚ´æµÄÐÅ ......
Ò». ʲôÊÇÐźÅÁ¿
ÐźÅÁ¿(Semaphore)-- Ï൱һ¸öÐźŵƣ¬³ÌÐòÀïÊÇÒ»¸ö·Ç¸ºÕûÊý£¬±íʾ״̬.
¿ÉÒÔÓÃÀ´±£»¤Á½¸ö»ò¶à¸ö¹Ø¼ü´úÂë¶Î£¬ÕâЩ¹Ø¼ü´úÂë¶Î²»Äܲ¢·¢µ÷Óá£ÔÚ½øÈëÒ»¸ö¹Ø¼ü´úÂë¶Î֮ǰ£¬Ï̱߳ØÐë»ñȡһ¸öÐźÅÁ¿¡£
Èç¹û¹Ø¼ü´úÂë¶ÎÖÐûÓÐÈκÎỊ̈߳¬ÄÇôÏ̻߳áÁ¢¼´½øÈë¸Ã¿òͼÖеÄÄǸö²¿·Ö¡£Ò»µ©¸Ã¹Ø¼ü´úÂë¶ÎÍê³ÉÁË£¬ÄÇô¸ÃÏ̱߳ØÐëÊÍ·ÅÐźÅÁ¿¡£
ÆäËüÏë½øÈë¸Ã¹Ø¼ü´úÂë¶ÎµÄÏ̱߳ØÐëµÈ´ýÖ±µ½µÚÒ»¸öÏß³ÌÊÍ·ÅÐźÅÁ¿¡£ÎªÁËÍê³ÉÕâ¸ö¹ý³Ì£¬ÐèÒª´´½¨Ò»¸öÐźÅÁ¿£¬
È»ºó½«Acquire Semaphore ÒÔ¼°Release Semaphore ·Ö±ð·ÅÖÃÔÚÿ¸ö¹Ø¼ü´úÂë¶ÎµÄÊ×Ä©¶Ë¡£È·ÈÏÕâЩÐźÅÁ¿ÒýÓõÄÊdzõʼ´´½¨µÄÐźÅÁ¿¡£
ÐźÅÁ¿£ºÒ»¸öÕûÊý£»
´óÓÚ»òµÈÓÚ0ʱ´ú±í¿É¹©²¢·¢½ø³ÌʹÓõÄ×ÊԴʵÌåÊý£»
СÓÚ0ʱ´ú±íÕýÔڵȴýʹÓÃÁÙ½çÇøµÄ½ø³ÌÊý£»
ÓÃÓÚ»¥³âµÄÐźÅÁ¿³õʼֵӦ´óÓÚ0£»
Ö»ÄÜͨ¹ýP¡¢VÔÓï²Ù×÷¶ø¸Ä±ä£»
ÐźÅÁ¿ÔªËØ×é³É£º
1¡¢±íʾÐźÅÁ¿ÔªËصÄÖµ£»
2¡¢×îºó²Ù×÷ÐźÅÁ¿ÔªËصĽø³ÌID
3¡¢µÈ´ýÐźÅÁ¿ÔªËØÖµ+1µÄ½ø³ÌÊý£»
4¡¢µÈ´ýÐźÅÁ¿ÔªËØÖµÎª0µÄ½ø³ÌÊý£»
¶þ¡¢Ö÷Òªº¯Êý
1.1 ´´½¨ÐźÅÁ¿
int semget(
key_t key, //±êʶÐźÅÁ¿µÄ¹Ø¼ü×Ö£¬ÓÐÈýÖÖ·½·¨£º1¡¢Ê¹ÓÃIPC——PRIVATEÈ ......