LinuxÏÂARM»ã±àÓï·¨
µÚÒ»²¿·Ö LinuxÏÂARM»ã±àÓï·¨
¾¡¹ÜÔÚLinuxÏÂʹÓÃC»òC++±àд³ÌÐòºÜ·½±ã£¬µ«»ã±àÔ´³ÌÐòÓÃÓÚϵͳ×î»ù±¾µÄ³õʼ»¯£¬Èç³õʼ»¯¶ÑÕ»Ö¸Õë¡¢ÉèÖÃÒ³±í¡¢²Ù×÷ ARMµÄд¦ÀíÆ÷µÈ¡£³õʼ»¯Íê³Éºó¾Í¿ÉÒÔÌø×ªµ½C´úÂëÖ´ÐС£ÐèҪעÒâµÄÊÇ£¬GNUµÄ»ã±àÆ÷×ñÑAT&TµÄ»ã±àÓï·¨£¬¿ÉÒÔ´ÓGNUµÄÕ¾µã £¨www.gnu.org£©ÉÏÏÂÔØÓйع淶¡£
Ò». Linux»ã±àÐнṹ
Èκλã±àÐж¼ÊÇÈçϽṹ£º
[:] [} @ comment
[:] [} @ ×¢ÊÍ
Linux ARM »ã±àÖУ¬ÈκÎÒÔðºÅ½áβµÄ±êʶ·û¶¼±»ÈÏΪÊÇÒ»¸ö±êºÅ£¬¶ø²»Ò»¶¨·ÇÒªÔÚÒ»ÐеĿªÊ¼¡£
¡¾Àý1¡¿¶¨ÒåÒ»¸ö"add"µÄº¯Êý£¬·µ»ØÁ½¸ö²ÎÊýµÄºÍ¡£
.section .text, “x”
.global add @ give the symbol add external linkage
add:
ADD r0, r0, r1 @ add input arguments
MOV pc, lr @ return from subroutine
@ end of program
¶þ. Linux »ã±à³ÌÐòÖеıêºÅ
±êºÅÖ»ÄÜÓÉa¡«z£¬A¡«Z£¬0¡«9£¬“.”£¬_µÈ×Ö·û×é³É¡£µ±±êºÅΪ0¡«9µÄÊý×ÖʱΪ¾Ö²¿±êºÅ£¬¾Ö²¿±êºÅ¿ÉÒÔÖØ¸´³öÏÖ,ʹÓ÷½·¨ÈçÏ£º
? ±êºÅf: ÔÚÒýÓõĵط½ÏòǰµÄ±êºÅ
? ±êºÅb: ÔÚÒýÓõĵط½ÏòºóµÄ±êºÅ
¡¾Àý2¡¿Ê¹Óþֲ¿·ûºÅµÄÀý×Ó£¬Ò»¶ÎÑ»·³ÌÐò
1:
subs r0,r0,#1 @ÿ´ÎÑ»·Ê¹r0=r0-1
bne 1f @Ìø×ªµ½1±êºÅÈ¥Ö´ÐÐ
¾Ö²¿±êºÅ´ú±íËüËùÔڵĵØÖ·,Òò´ËÒ²¿ÉÒÔµ±×÷±äÁ¿»òÕߺ¯ÊýÀ´Ê¹Óá£
Èý. Linux»ã±à³ÌÐòÖеķֶÎ
£¨1£©.sectionα²Ù×÷
Óû§¿ÉÒÔͨ¹ý.sectionα²Ù×÷À´×Ô¶¨ÒåÒ»¸ö¶Î,¸ñʽÈçÏÂ:
.section section_name [, "flags"[, %type[,flag_specific_arguments]]]
ÿһ¸ö¶ÎÒÔ¶ÎÃûΪ¿ªÊ¼, ÒÔÏÂÒ»¸ö¶ÎÃû»òÕßÎļþ½áβΪ½áÊø¡£ÕâЩ¶Î¶¼ÓÐȱʡµÄ±êÖ¾£¨flags£©,Á¬½ÓÆ÷¿ÉÒÔʶ±ðÕâЩ±êÖ¾¡£(ÓëarmasmÖеÄAREAÏàͬ)¡£
ÏÂÃæÊÇELF¸ñʽÔÊÐíµÄ¶Î±êÖ¾
º¬Òå
a ÔÊÐí¶Î
w ¿Éд¶Î
x Ö´ÐжÎ
¡¾Àý3¡¿¶¨Òå¶Î
.section .mysection @×Ô¶¨ÒåÊý¾Ý¶Î£¬¶ÎÃûΪ “.mysection”
.align 2
strtemp:
.ascii "Temp string \n\0"
£¨2£©»ã±àϵͳԤ¶¨ÒåµÄ¶ÎÃû
.text @´úÂë¶Î
.data @³õʼ»¯Êý¾Ý¶Î
.bss @δ³õʼ»¯Êý¾
Ïà¹ØÎĵµ£º
ÖжϣºcpuÔÚÖ´ÐгÌÐòµÄ¹ý³ÌÖУ¬³öÏÖÁËijЩͻ·¢Ê¼þʱcpu±ØÐëÔÝÍ£Ö´Ðе±Ç°µÄ³ÌÐò£¬×ªÈ¥´¦ÀíÍ»·¢Ê¼þ£¬´¦ÀíÍê±ÏºócpuÓÖ·µ»ØÔ³ÌÐò±»ÖжϵÄλÖò¢¼ÌÐøÖ´ÐÐ
¸ù¾ÝÖжÏÈë¿ÚÌø×ª·½·¨µÄ²»Í¬£¬ÖжϷÖΪÏòÁ¿ÖжϺͷÇÏòÁ¿Öжϡ£
²ÉÓÃÏòÁ¿ÖжϵÄcpuͨ³£Îª²»Í¬µÄÖжϷÖÅ䲻ͬµÄÖжϺţ¬µ±¼ì²âµ½Ä³ÖжϺŵÄÖжϵ½À´ºó£¬¾Í×Ô¶¯Ì ......
typedef void (*lpFunction) ();//¶¨ÒåÒ»¸öÎÞ²ÎÊý£¬ÎÞ·µ»ØÀàÐ͵ĺ¯ÊýÖ¸ÕëÀàÐÍ
//¶¨ÒåÒ»¸öº¯ÊýÖ¸Õ룬ָÏòcpuÆô¶¯ºóËùÖ´ÐеĵÚÒ»ÌõÖ¸ÁîµÄλÖÃ
lpFunction lpReset = (lpFunction)0xF000FFF0;
lpReset();//µ÷Óú¯Êý
MMUÍ£¹©ÐéÄâµØÖ·ºÍÎïÀíµØÖ·µÄÓ³Éä¡¢ÄÚ´æ·ÃÎÊȨÏÞ±£»¤ºÍCache»º´æ¿ØÖƵÈÓ²¼þÖ§³Ö¡£²Ù×÷ϵͳÄں˽èÖ ......
Spca5xx ÉãÏñÍ·Çý¶¯ÒÆÖ²£¨For Linux 2.6.14£©
Ò»£®ÏÂÔØ²¢½âѹSpca5xxÇý¶¯£¬±¾ÎÄʹÓÃÁËgspcav1-20070508°æ±¾¡£
¶þ£®°æ±¾ËµÃ÷£ºÖ®Ç°³¢ÊÔ¹ýspca5xx*µÄ¶à¸ö°æ±¾£¬ËäÈ»ÒÆÖ²Ã»ÓÐÎÊÌ⣬µ«ÊÇÔÚ½øÐÐv4lÓ¦ÓÃʱ£¬³öÏֺܶàĪÃûÆäÃîµÄ´íÎ󣬱ÈÈçISOC data errorµÈ£¬ºóÀ´»»³ÉÁË×îеÄgspca°æ±¾£¬ÎÊÌâÈ«²¿½â¾ö¡£
Èý£®ÍêÕû±àÒëÒÆÖ²ºÃµÄLi ......
ÔÎĵØÖ·£ºhttp://soft.yesky.com/os/lin/326/2237826.shtml
±¾ÎÄÏêϸµØ½éÉÜÁËÔÚ Linux 2.6.13 ÄÚºËÖÐÐÂÒýÈëµÄÎļþϵͳ±ä»¯Í¨Öª»úÖÆ inotify£¬²¢¾ÙÀý˵Ã÷ÁËËüµÄʹÓÃÓëµäÐÍÓ¦Óð¸Àý¡£
Ò»¡¢ÒýÑÔ
ÖÚËùÖÜÖª£¬Linux ×ÀÃæÏµÍ³Óë MAC »ò Windows Ïà±ÈÓÐÐí¶à²»ÈçÈËÒâµÄµØ·½£¬ÎªÁ˸ÄÉÆÕâÖÖ×´¿ö£¬¿ªÔ´ÉçÇøÌá³öÓû§Ì¬ÐèÒªÄÚºËÌṩ ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
´Ëǰ£¬ÖйúµÄ
Linux“
²úÒµ”²¢Î´Óë¹ú¼Ê
Linux
Ô˶¯Õýʽ½Ó¹ì£¬×ÔÐÐÆäÊÇ¡£µ«ÊÇ£¬´Ó´ËÒÔºó£¬Çé¿ö¾Í²»Í¬ÁË¡£ÎªÊ²Ã´£¿
5
ÔÂ
10
ÈÕ£¬¹ú¼Ê
Linu ......