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»º´æ
Ïà¹ØÎĵµ£º
²Î¼û£ºhttp://www.ibm.com/developerworks/cn/linux/l-proc.html
ʹÓà /proc ÎļþϵͳÀ´·ÃÎÊ Linux Äں˵ÄÄÚÈÝ
Õâ¸öÐéÄâÎļþϵͳÔÚÄں˿ռäºÍÓû§¿Õ¼äÖ®¼ä´ò¿ªÁËÒ»¸öͨÐÅ´°¿Ú
ÎĵµÑ¡Ïî
<tr
valign="top"><td width="8"><img alt="" height="1" width="8& ......
Ò»¡¢Í·Îļþ
gcc ÔÚ±àÒëʱѰÕÒËùÐèÒªµÄÍ·Îļþ £º
¡ùËÑѰ»á´Ó-I¿ªÊ¼
¡ùÈ»ºóÕÒgccµÄ»·¾³±äÁ¿ C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH
¡ùÔÙÕÒÄÚ¶¨Ä¿Â¼
/usr/include
/usr/local/include
/usr/lib/gcc-lib/i386-linux/2.95.2/include
/usr/lib/gcc-lib/i386-l ......
ÔÚÇ°ÃæµÄ×¼±¸¹¤×÷Íê³ÉÖ®ºó£¬ÏÈʵÑéһϣ¬Ì¸²»ÉÏÕæÕýµÄÒÆÖ² £¬ÒòΪ´úÂ붼ûÓиĵġ£
Ê×ÏÈÐ޸Ķ¥²ãµÄMakefile£¬ÐÞ¸ÄARCH,CROSS_COMPLIE±äÁ¿¡£
#ARCH ?= $(SUBARCH)
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
Ö´ÐÐmake smd ......
LinuxÉÏTCP¶ªÊ§Ð¡°ü²»¿É¼ûµÄ½â¾ö
×÷ÕߣºÇ§Àï¹ÂÐÐ(http://blog.csdn.net/yanghehong)
ÓÐÍøÓÑÔÚ×öÒ»¸öLinuxÉϵĿͻ§¶ËÅöµ½ÕâÑùµÄÎÊÌ⣺
ÎÒÃÇÔÚLinuxÏ¿ª·¢Ò»¸öÍøÂç¿Í»§¶Ë³ÌÐò£¨·þÎñÆ÷ÊDz»¿ÉÐ޸ĵģ©£¬²»¶ÏÏò·þÎñÆ÷²»¶¨ÆÚ·¢ËÍһЩºÜСµÄ°ü£¨Ò»°ãÖ»Óм¸Ê®×Ö½Ú£©£¬ÏÖÔÚ³öÏÖÕâÖÖÇé¿ö£º´ó²¿·Ö°üÕý³£·¢ËÍ£¬µ«Êǵ±ÎÞÏßModem ......
ºÍ
WindowsϵͳһÑùLinuxÒ²Óо²Ì¬/¶¯Ì¬Á´½Ó¿â£¬ÏÂÃæ½éÉÜ´´½¨ºÍʹÓ÷½·¨£º
¼ÙÉèÓÐÏÂÃæ¼¸¸öÎļþ£º
Í·ÎļþString.h£¬ÉùÃ÷Ïà¹Øº¯ÊýÔÐΣ¬ÄÚÈÝÈçÏ£º
Strlen.c£º
º¯ÊýStrlenµÄʵÏÖ£¬»ñÈ¡¸ø¶¨×Ö·û´®µÄ³¤¶È£¬ÄÚÈÝÈçÏ£º
Strlnen.c£ºº¯Êý
StrNlenµÄʵÏÖ£¬»ñÈ¡¸ø¶¨×Ö·û´®µÄ³¤¶È£¬Èç¹ûÊäÈë×Ö·û´®µÄ³¤¶È´óÓÚÖ¸¶¨µÄ×î´ó³¤¶È£¬Ô ......