×ðÁú¿­Ê±¹ÙÍøµÇ¼

LinuxÏÂʹÓÃGCC¾ÙÐÐǶÈëʽARM»ã±àÓÅ»¯µÄÍƼöÉèÖÃ

linuxÏÂʹÓÃgcc¾ÙÐÐǶÈëʽarm»ã±àÓÅ»¯µÄÍƼöÉèÖÃ

СÐò£º

ǶÈëʽϵͳÔÚÏÖ´ú¿Æ¼¼ÖÐÆð×ÅÖ÷Òª×÷Ó㬶øARM¼Ü¹¹×÷Ϊ×î³£ÓõÄǶÈëʽ´¦ÀíÆ÷¼Ü¹¹Ö®Ò»£¬»ñµÃÁËÆÕ±éµÄÓ¦Óá£ÔÚǶÈëʽ¿ª·¢ÖУ¬ÓÅ»¯´úÂëµÄÐÔÄÜÊÇÖÁ¹ØÖ÷ÒªµÄ£¬¶øʹÓÃGCC¾ÙÐÐARM»ã±àµÄÓÅ»¯ÊÇÒ»ÖÖ³£ÓõÄÒªÁì¡£±¾ÎĽ«ÏÈÈÝÔõÑùÔÚLinuxÏÂÉèÖÃGCC¾ÙÐÐǶÈëʽARM»ã±àÓÅ»¯£¬²¢ÌṩÏà¹Ø´úÂëʾÀý¡£

ÉèÖÃGCC£º

×°ÖÃGCC

Ê×ÏÈ£¬È·±£ÔÚLinuxϵͳÖÐÒÑ×°ÖÃÁËGCC¡£ÈôÊÇûÓÐGCC£¬¿ÉÒÔͨ¹ýÒÔÏÂÏÂÁîÀ´×°Öãº

sudo apt-get install gcc

µÇ¼ºó¸´ÖÆ

ÉèÖÃGCCµÄARM½»Ö¯±àÒ빤¾ßÁ´

ÔÚÉèÖÃGCC֮ǰ£¬ÐèÒªÏÈ»ñÈ¡ARMµÄ½»Ö¯±àÒ빤¾ßÁ´¡£¿ÉÒÔͨ¹ýÔÚÖÕ¶ËÖ´ÐÐÒÔÏÂÏÂÁîÀ´»ñÈ¡£º

sudo apt-get install gcc-arm-linux-gnueabihf

µÇ¼ºó¸´ÖÆ

´ËÏÂÁװÖÃARM¼Ü¹¹ÏµĽ»Ö¯±àÒ빤¾ßÁ´¡£×°ÖÃÍê³Éºó£¬¿ÉÒÔʹÓÃarm-linux-gnueabihf-gccÏÂÁîÀ´Å²ÓÃARM¼Ü¹¹ÏµÄGCC¡£

ÉèÖÃGCCµÄÓÅ»¯Ñ¡Ïî

GCCÌṩÁ˸»ºñµÄÓÅ»¯Ñ¡ÏÒÔÌá¸ßÌìÉúµÄ»úеÂëµÄЧÂÊ¡£ÔÚARM¼Ü¹¹ÖУ¬³£ÓõÄÓÅ»¯Ñ¡ÏîÓÐ-O2ºÍ-O3¡£-O2Ñ¡ÏîÊdz£ÓõÄÑ¡Ôñ£¬Ëü»á¶Ô´úÂë¾ÙÐÐÖм¶ÓÅ»¯£¬Ìá¸ßÖ´ÐÐЧÂÊ¡£-O3Ñ¡Ïî»á¾ÙÐиüÉîÌõÀíµÄ´úÂëÓÅ»¯£¬µ«¿ÉÄܻᵼÖ±àÒëʱ¼ä±ä³¤¡£ÔÚÉèÖÃGCCʱ£¬¿ÉÒÔƾ֤ÏêϸÐèÇóÑ¡Ôñ²î±ðµÄÓÅ»¯Ñ¡Ïî¡£ÀýÈ磬¿ÉÒÔÔÚÏÂÁîÐÐÖÐʹÓÃÒÔÏÂÏÂÁîÀ´¾ÙÐÐÉèÖãº

arm-linux-gnueabihf-gcc -O2 -o output_file input_file.c

µÇ¼ºó¸´ÖÆ

ÒÔÉÏÏÂÁʹÓÃ-O2ÓÅ»¯Ñ¡ÏîÀ´±àÒëinput_file.c£¬²¢ÌìÉú¿ÉÖ´ÐÐÎļþoutput_file¡£

ǶÈëʽARM»ã±àÓÅ»¯Ê¾Àý£º

ÒÔÏÂÊÇÒ»¸ö¼òÆӵĻã±àÓÅ»¯Ê¾Àý£¬Õ¹Ê¾ÁËÔõÑùʹÓÃGCC¾ÙÐÐǶÈëʽARM»ã±àÓÅ»¯¡£

.global _start

.section .data

msg:
    .ascii "Hello, World!
"

.section .text

_start:
    mov r0, #1
    ldr r1, =msg
    ldr r2, =13
    mov r7, #4
    swi 0

exit:
    mov r0, #0
    mov r7, #1
    swi 0

µÇ¼ºó¸´ÖÆ

ÒÔÉÏʾÀýÊÇÒ»¸ö¾­µäµÄ¡°Hello, World!¡±³ÌÐò£¬Ê¹ÓÃARM»ã±àÓïÑÔ±àд¡£ÆäÖУ¬.data¶Î´æ·Å×Å×Ö·û´®³£Á¿£¬.text¶ÎÔò´æ·Å×ųÌÐòµÄ´úÂë¡£ÔÚ´úÂëÖУ¬Ê¹ÓÃÁËһЩARM¼Ü¹¹ÏµĻã±àÖ¸ÁÈçmovºÍldr£¬ÒÔ¼°ÏµÍ³Å²ÓÃÖ¸Áîswi¡£Õâ¶Î´úÂë»á½«×Ö·û´®¡°Hello, World!¡±´òÓ¡µ½Öնˡ£

ΪÁ˱àÒëÒÔÉÏʾÀý£¬¿ÉÒÔʹÓÃÒÔÏÂÏÂÁ

arm-linux-gnueabihf-gcc -o hello_world hello_world.s

µÇ¼ºó¸´ÖÆ

ÒÔÉÏÏÂÁÌìÉú¿ÉÖ´ÐÐÎļþhello_world£¬ÆäÖÐhello_world.sÊÇ»ã±àÔ´Îļþ¡£

½áÂÛ£º

ͨ¹ýÉèÖÃGCC£¬²¢ÍŽáÊʵ±µÄÓÅ»¯Ñ¡Ï¿ÉÒÔÌá¸ßǶÈëʽARM»ã±à´úÂëµÄÐÔÄÜ¡£±¾ÎÄÏÈÈÝÁËÔÚLinuxÏÂÉèÖÃGCC¾ÙÐÐǶÈëʽARM»ã±àÓÅ»¯µÄÍƼöÒªÁ죬²¢ÌṩÁËÏà¹ØµÄ´úÂëʾÀý¡£Í¨¹ýÏàʶGCCµÄÓÅ»¯Ñ¡ÏîºÍ»ã±àÓÅ»¯ÊÖÒÕ£¬¿ª·¢Õß¿ÉÒÔƾ֤ÏêϸÐèÇ󣬾ÙÐÐÕë¶ÔÐÔµÄÓÅ»¯£¬ÌáÉýǶÈëʽϵͳµÄÐÔÄÜ¡£

ÒÔÉϾÍÊÇLinuxÏÂʹÓÃGCC¾ÙÐÐǶÈëʽARM»ã±àÓÅ»¯µÄÍƼöÉèÖõÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí£¬°æȨÕùÒéÓë±¾Õ¾Î޹أ¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±¹ÙÍøµÇ¼ÂËÓÍ»úÍø¹Ù·½Ì¬¶È£¬Çë¶ÁÕß½ö×ö²Î¿¼¡£±¾ÎĽӴýתÔØ£¬×ªÔØÇë˵Ã÷À´ÓÉ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢£¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢£¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼ʵʱÐÞÕý»òɾ³ý¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎ壬9:30-18:30£¬½ÚãåÈÕÐÝÏ¢

QR code
ÍøÕ¾µØͼ