¸½¼þÄÚÈÝ: ³ÌÐòÔ´Â룬MakefileÄ£°å£¬Ïà¹ØÎĵµ¡£
¸½¼þÏÂÔØµØÖ·£º
¾ßÌåÏÂÔØÄ¿Â¼ÔÚ /2012Äê×ÊÁÏ/5ÔÂ/25ÈÕ/LinuxϵÄMCU¿ª·¢Ö®AVRϵÁÐ1-avrϵÁеıàÒëÉÕ¼µ÷ÊÔ·½·¨/
ϵÁÐ˵Ã÷£ºLINUXϳÌÐò¿ª·¢¾ßÓÐÒ»¶¨µÄ³ÉÊìÐÔ£¬°üÀ¨´ó²¿·ÖµÄMCU£¬FPGA,DSPÉõÖÁPCBÖÆÍ¼µÈ¶¼ÊÇ¿ÉÐеġ£±¾ÏµÁн«Õë¶ÔAVRϵÁеÄMCU£¬¶øºóµÄϵÁн«»á¶ÔLinuxÏÂµÄÆäËû·½ÃæÄÚÈݽøÐÐ̽ÌÖ¡£
±¾ÎÄ»·¾³ÈçÏ£º
±àÒëÆ÷ £ºavr-gcc
ÉÕ¼Èí¼þ :avrdude
µ÷ÊÔÈí¼þ:avarice £¬GDBºÍddd £¨¿ÉÊÓ½çÃæ£©
¿ª·¢°å£º
1. xplain(xmega128a1)ÎÞ·¨µ÷ÊÔ£¬Ö»ÄÜÉÕ¼£¬ÒòΪ¹Ù·½Ã»Óй«¿ªÆäµ÷ÊÔµÄÐÒé¡£
2. Mega16¿ª·¢°å¡£
·ÂÕæÆ÷orÉÕ¼Æ÷£ºdragonºÍusbasp£¨Ê¹Óý϶ࣩ
³ÌÐò±àд£ºVim£¨Éý¼¶°æµÄ¼Çʱ¾£¬ºÜºÃÓ㬺ÜÍÆ¼ö£©
¹ØÓÚʹÓÃǰµÄ×¼±¸ºÍ˵Ã÷
ÖÁÓÚΪʲôҪʹÓÃlinuxÏ¿ª·¢avr£¬ÔÒòÖ÷ÒªÊÇÒòΪ±È½ÏÓÐȤ¡£Æä´Î±ãÊÇwinÏµĻ·¾³ÓÃÆðÀ´Æäʵ²¢²»ÊǺܷ½±ã¡£IARÊǸ¶·ÑÈí¼þ£¨µ«ÊǵÄÈ·ºÃÓã©£¬Avr-studioËäÈ»ÊÇÃâ·Ñ°æ£¬²»¹ýÓÅȱµãÊÇÌ«¹ýÅӴ󣬲¢ÇÒÊÇÒÔvc2010Ϊ»ù´¡¿ª·¢£¬Õâ¸öÒ²¾ÍËã²»ÉÏÕæÕýµÄÃâ·ÑÁË¡£ÖÁÓÚwin-avrÆäʵÂù²»´íµÄ¡£winÏÂÒ²¿ÉÒԴÈçÏ»·¾³¡£
×¼±¸£º
Èí¼þ°²×°£¬Èí¼þ°²×°½¨ÒéʹÓÃubuntuµÄÈí¼þÖÐÐÄ£¬±È½Ï·½±ã¡£ÐèÒªavr-gcc£¬avrdude,avarice,gdb,ddd¼´¿ÉÁË¡£Îı¾±à¼Ê²Ã´¶¼ÐС£¿ÉÒÔ¼¯³ÉÔÚcodeblocksºÍeclipseÀïÃæ¡£CodeblocksÈç´Ë×öÓÃÆðÀ´¸Ð¾õ²»´í,eclipseÐèÒªÅäÖ㬵«ÔÀí¶¼ÊÇÒ»ÑùµÄ¡£
¶ÔÓÚÃüÁîÐпÉÒÔÈçϰ²×°
Ç¿ÁÒ½¨Òé˳±ã°²ÉÏÊÖ²á
È»ºó¾Í¶¼°²×°Íê±ÏÁË¡£ÏÂÒ»²½¾Í¿ÉÒÔ¿ªÊ¼ÁË¡£

¿ªÊ¼Ö®Ç°ÐèÒªÏÈдһ¸ö.cµÄ³ÌÐò
´úÂë»áÔÚÎÄÕÂ×îºóºÍ¸½¼þÀïÌá³ö¡£ÕâÊÇÒ»¸öºÜ¼òµ¥ÈÃÒ»¸öledÁÁµÄ³ÌÐò¡£
Ö®ºó½éÉÜÒ»¸ömakefileµÄ¶«Î÷£¬´ËÎïÊǼò»¯²Ù×÷Á÷³ÌµÄÒ»¸ö¶«Î÷¡£ÈÃÇúöàÐÐÃüÁî²ÅÄÜÍê³ÉµÄÖ»Ðè¼òµ¥µÄÒ»¾ä»°¾ÍÐÐÁË¡£¸½¼þÀï»á°üº¬Ò»¸ömakefileµÄÄ£°å£¬ÊÇwinavrÏÂÄ£°å¸ÄµÄ¿ÉÓð档¾ßÌåµÄÄÚÈÝÊÇÈçºÎʵÏֵģ¬¿ÉÒÔ·ÔĹٷ½makefileÊÖ²áºÍ°Ù¶È£¬¹È¸è¡£
¼òµ¥½éÉÜMakefileÀïÃæµÄ¼¸¸öÃüÁÓйý¾Ñé¿ÉÒÔÎÞÊÓ
ÉÏÃæÕâЩ¶¼ÊǶ¨Òå±äÁ¿£¬makefileÀïµÄ
µ±ÎÒÃÇÊäÈëmake programʱ¾Í»áÖ´ÐÐÉÏÃæÕâ¾ä֮ǰµÄ¶¼²»ÓùØÐÄÁË¡£·Òë¹ýÀ´¾Í±ä³ÉÁË(Èç¹û½Ðmain.hex)
¾ÍÊÇ˵ÓÃusbϵÄusbaspÉÕ¼m16µÄflash£¬ÄÚÈÝΪmain.hex
Èç¹ûÓÃdragonµÄ»°Ò»°ãÓÃjtag¾ÍÊÇ-c dragon_jtag¡£¾ßÌå¿ÉÒԲ鿴avrdudeÊֲᡣ
Á˽âÖ®ºóÏÈ´ò¿ªÖÕ¶Ë£¬ÕÒµ½.cÎļþĿ¼Ï¡£MakefileÎļþ·ÅÔÚͬһĿ¼ÏÂ
¸ù¾ÝÐèÒª¸ü¸ÄÆäÄÚÈÝ
ÊäÈëmake

±ã»áÊä³öһЩÐÅÏ¢£¬×îºó»áÓÐÌáʾ±àÒë³É¹¦
Ö®ºó¾Í¿ÉÒÔÉÕ¼ÁË
ÉÕ¼֮ǰ¿´Ò»ÏÂÉÕ¼Æ÷ÊÇ·ñÔÚ
ÊäÈëlsusb

ÏÔÈ»£¬usbasp´æÔÚ¡£ÄÇôÊäÈësudo make program

»áÔںܿìµÄʱ¼äÄÚÉÕ¼³É¹¦£¬±Èwin¿ìµÄ¶à¡£×îºóÌáʾÄãÉÕ¼³É¹¦

ÖÁÓÚdebug£¬usbaspûÓÐÕâ¸ö¹¦ÄÜ¡£ÐèÒªÓÃdragonµÄjtag¡£
ס£ºDebugÆäʵ²»ÊǺÜÍÆ¼öʹÓã¬ËäÈ»±È½Ï¸ßЧ£¬½¨ÒéÀûÓô®¿ÚµÄÐÅÏ¢ÊäÈëÊä³ö£¨ÒÔºó»á½éÉÜ£©£¬ÕâÊÇÒòΪÔÚ½øÈëϵͳµÄǶÈëºó£¬³£¹æµÄdebug¾³£»áÎÞ·¨Ê¹Óá£
ʵ¼ÊµÄÃüÁî»áÊÇ
²»¹ýÈç¹ûmakefileÀïÒѾдºÃµÄ»°Ö±½ÓÊäÈësudo make debug¾Í¿ÉÒÔÁË
ÏÂÃæÎªÃüÁîµÄ½á¹û

ÏÖÔÚÊôÓڵȴýGDB£¬¿ÉÊÓ»¯µÄ»°¾ÍÊÇDDDµÄ״̬ÖÐÁË
±ÈÈçÔÚgdb.confÖÐÌí¼Ó
file main.elf
target remotelocalhost:4242
Æô¶¯DDD
ddd¨C-debugger ¡°avr-gdb -x gdb.conf¡±

Ò²¿ÉÒÔÊÖÆð¶¯£¬È»ºóÅäÖã¬ui½çÃæ±È½ÏÓѺá£
»¹ÓÐÒ»¾ä»°¡£makefileÀïÃæÒѾ°ÑÉϲ½Öè¶¼×öºÃÁË¡«µ±È»»á¸ù¾ÝÐèÇóÒªÇó¸ü¸ÄµÄ¡£ÓÈÆäÊÇdebugµÄʱºò¡£
×ܽ᣺±¾ÎÄËù˵ÓÐЩ¼òÂÔÁË£¬Linux¿ª·¢µÄÀ§ÄÑÖ÷ÒªÔÚÓڴ»·¾³£¬Òò´ËÐèÒª¶à¿´Ò»ÏÂÏà¹ØµÄ¹Ù·½Êֲᡣ
²âÊÔ´úÂ룺
main.c