2015-07-31 48 views
5

Sto lavorando su un Mac con Yosemite OS X e sto cercando di compilare un programma in C che potrei quindi caricare sul mio Arduino. Sto seguendo a tutorial.Impossibile compilare e collegare il programma AVR in OS X

Ho provato a passare e reinstallare avr-gcc, ma ho ottenuto lo stesso risultato. Ho provato a cercare il file crtatmega328p.o sul mio sistema, ma non si trova da nessuna parte e lo stesso vale per la directory.

$ avr-gcc -Os -DF_CPU=16000000UL -mmcu=atmega328p -c -o Program.o Program.c 
$ avr-gcc -mmcu=atmega328p Program.o -o Program 
/usr/local/lib/gcc/avr/5.2.0/../../../../avr/bin/ld: cannot find crtatmega328p.o: No such file or directory 

/usr/local/lib/gcc/avr/5.2.0/../../../../avr/bin/ld: cannot find -latmega328p 
collect2: error: ld returned 1 exit status 
+0

@ Kavanai4 Per quanto ho potuto trovare non c'è modo di programmare in puro C usando l'IDE Arduino –

+0

@ Kavanai4 Al momento ho solo l'Arduino, ma alla fine voglio passare programmazione AVR microcontrollori nel grezzo in cui L'IDE Arduino non sarebbe di aiuto. Prima di spendere i soldi per il nuovo hardware, voglio assicurarmi di poterlo fare prima su Arduino, poiché ne possiedo già uno. –

+0

Da dove hai preso avr-gcc? –

risposta

2

Sono stato colpito da questo problema su GNU/Linux la scorsa settimana.

In realtà, il compilatore funziona correttamente. La causa del problema è un tentativo di collegamento fallito contro avr-libc.

avr-libc-1.8.1 è semplicemente troppo vecchio per lavorare con GCC 5. Anche se 1.8.1 è l'ultima versione di avr-libc, ma è stato rilasciato un anno fa, ... La versione di sviluppo di avr-libc ha aggiornato per raggiungere GCC 5, si potrebbe clonare il repository subversion:

svn co svn://svn.savannah.nongnu.org/avr-libc/trunk 

e compilarlo da soli. Se non hai familiarità su come compilare te stesso toolchain fatti in casa dal codice sorgente, ci sono un sacco di documentazione e tutorial sul web.