LinuxÇý¶¯µÄһЩ»ù±¾²Ù×÷
LinuxÇý¶¯µÄһЩ»ù±¾²Ù×÷
LinuxÄÚºËÖж¨ÒåÁ˺ܶàºê£¬¶ÔÓ²¼þ¶Ë¿ÚºÍ¼Ä´æÆ÷½øÐвÙ×÷£¬´ÓÍøÉÏËѼ¯ÁËһЩºê¶¨ÒåµÄÐÅÏ¢£º
1. __REG¼òµ¥µÄ˵¾ÍÊÇ»ñµÃºóÃæËùʾÎïÀíµØÖ·Ó³ÉäºóµÄÐéÄâµØÖ·£¬ÀýÈ磺
#define GPLR0 __REG(0x40E00000) /* GPIO Pin-Level Register GPIO<31:0> */
#define GPLR1 __REG(0x40E00004) /* GPIO Pin-Level Register GPIO<63:32> */
#define GPLR2 __REG(0x40E00008) /* GPIO Pin-Level Register GPIO<80:64> */
pxa´¦ÀíÆ÷ÄÚ²¿¼Ä´æÆ÷µÄÎïÀíµØÖ·ºÍÄں˿ռäµÄÐéÄâµØÖ·¶ÔÓ¦¹ØÏµÈçÏÂ:
Intel PXA internal I/O mappings:* 0x40000000 - 0x41ffffff <--> 0xf8000000 - 0xf9ffffff
* 0x44000000 - 0x45ffffff <--> 0xfa000000 - 0xfbffffff
* 0x48000000 - 0x49ffffff <--> 0xfc000000 - 0xfdffffff
2. #define GPLR(x) __REG2(0x40E00000, ((x) & 0x60) >> 3).
»¹ÓÐÒ»¸öת»»µÄ¾ä×Ó#define GPIO_bit(x) (1 << ((x) & 0x1f))
GPIO¹²ÓÐ80¸ö,ËùÒÔ32bitµÄ¼Ä´æÆ÷Ö»ºÃû×é×ö3¸ö. GPIO_BIT¾ÍÊÇ1×óÒÆxλ(²¢ÇÒ²»Òª³¬¹ý32);¶øGPLR(X)ÔòÊǸù¾ÝxµÄÊýÖµ(Õâ¸öÊÇGPIOºÅ,Èç16,37,72)µÃµ½3¸öGPLRÖÐÊôÓÚ¸ÃGPIOµÄGPLRµÄÆðʼµØÖ·,(__REG2¾ÍÊÇ»ñµÃÁ½¸öµØÖ·µÄºÍ).ÕâÑù×Ó¿ÉÒÔͨ¹ýÏÂÃæµÄ¸³Öµ·½·¨:
GPSR(GPIO48_nPOE) = GPIO_bit(GPIO48_nPOE) | GPIO_bit(GPIO49_nPWE);À´ÉèÖÃGPIO48ËùÔÚGPSRµÄ2¸öλ.Õâôһ´ó¶Ñ,ÊÇΪÁËÓõ½GPIOºÅ¶¨ÒåºÃµÄºê.¼òµ¥µÄGPSR3=XXXX|XXXXÒ²ÊÇ¿ÉÒÔµÄ.
3. side effect£¨ÒëΪ±ß¼ÊЧӦ»ò¸±×÷Óã©£ºÊÇÖ¸¶Áȡij¸öµØÖ·Ê±¿ÉÄܵ¼Ö¸õØÖ·ÄÚÈÝ·¢Éú±ä»¯£¬±ÈÈ磬ÓÐЩÉ豸µÄÖжÏ״̬¼Ä´æÆ÷Ö»ÒªÒ»¶ÁÈ¡£¬±ã×Ô¶¯ÇåÁã¡£I/O¼Ä´æÆ÷µÄ²Ù×÷¾ßÓÐside effect£¬Òò´Ë£¬²»ÄÜ¶ÔÆä²Ù×÷²»ÄÜʹÓÃcpu»º´æ
Ïà¹ØÎĵµ£º
1¡¢ freemind ˼¿¼Èí¼þ
sudo pacman -S freemind
2¡¢ gnomesword Ê¥¾Ñ§Ï°Èí¼þ# clucene-0.9.21b-1 sword-1.6.1-1 xiphos-3.1.2-1
sudo pacman -S gnomesword
3¡¢exaileÒôÀÖ²¥·ÅÆ÷
sudo pacman -S exaile
4¡¢°²×° mp3blaster
sudo pacman -S mp3blaster
5 ¡¢°²×°msnÈí¼þ
sud ......
1£¬-c ±àÒëÄ¿±ê´úÂë
gcc -o hello.o -c hello.c //-o Ö»ÊÇÖ¸¶¨Éú³ÉÄ¿±êÎļþÃû
»ò
gcc -c hello.c
¶¼Éú³Éhello.oÎļþ£¬²»¿ÉÒÔÖ´ÐС£
gcc -o hello hello.o
ÓÃÄ¿±êÎļþÉú³Éhell ......
1 ÒýÑÔ
¡¡¡¡Ị̈߳¨thread£©¼¼ÊõÔçÔÚ60Äê´ú¾Í±»Ìá³ö£¬µ«ÕæÕýÓ¦ÓöàÏ̵߳½²Ù×÷ϵͳÖÐÈ¥£¬ÊÇÔÚ80Äê´úÖÐÆÚ£¬solarisÊÇÕâ·½ÃæµÄٮٮÕß¡£´«Í³µÄUnixÒ²Ö§³ÖÏ̵߳ĸÅÄµ«ÊÇÔÚÒ»¸ö½ø³Ì£¨process£©ÖÐÖ»ÔÊÐíÓÐÒ»¸öỊ̈߳¬ÕâÑù¶àÏ߳̾ÍÒâζ×Å¶à½ø³Ì¡£ÏÖÔÚ£¬¶àÏ̼߳¼ÊõÒѾ±»Ðí¶à²Ù×÷ϵͳËùÖ§³Ö£¬°üÀ¨Windows/NT£¬µ±È»£¬Ò²°üÀ¨Linux¡£
......
Ö÷Òª¿´ÁËLinuxÍêȫעÊÍÄDZ¾Ê飬ÖÕÓÚ×¼±¸¹¥¶ÁLinuxÄÚºËÔ´ÂëÁË£¬ÏÈ¿´Á˵ڶþÕŵÄ×ÜÌå¸ÅÄ¸Ð¾õ²Ù×÷ϵͳÓкܶණÎ÷»¹ÕæÊÇ´óͬСÒ죬¼ÇµÃucos¾ÍÊÇÓÐÒ»¸ö½Ð×ö¿ì±íµÄ¶«Î÷£¬ÀïÃæ×î¶à¿ÉÒÔ±íʾ64¸ö½ø³Ì£¬¶øÔç°æµÄLinux£¨0.11£©Ò²ÓÐÕâ¸öһ˵µÄ¶«Î÷¡£
ÔÚLinuxÖÐÒ²ÓÐÒ»¸öPCBÀ´±íʾÿ¸ö½ø³Ì£¬ÔÚÕâ¸ö½á¹¹ÌåÖУ¬ÓÐÖ¸ÏòÈÎÎñ´úÂëµÄÖ ......