programmer not responding - probleme im makefile?

Hallo zusammen,

ich arbeite gerade mit mbeddr, ein Programm um C-Code für embedded systems automatisch generieren zu lassen.

Für ein Projekt arbeite ich auf Ubuntu 14.04, als virtuelle maschine. Ich probiere gerade ein simples blink Programm auf meinen Arduino Uno hochzuladen. Dafür führe ich einen makefile aus, der von mbeddr automatisch erstellt wird.

CC =avr-gcc
CFLAGS =-Os
OBJCOPY =avr-objcopy -O ihex -R .eeprom
ODIR =./bin
_OBJ_blinker =main.o
OBJ_blinker =$(patsubst %,$(ODIR)/%,$(_OBJ_blinker))
all: removeStuffFromLibraries clean blinker.hex 
debug: all
.PHONY: removeStuffFromLibraries all clean
removeStuffFromLibraries: 
	
$(ODIR)/%.o: %.c
		mkdir -p $(ODIR) 
	$(CC) $(CFLAGS) -mmcu=atmega328 -DF_CPU=16000000UL -I/home/ubu/MPSProjects/mbeddr.arduino.support/lib    -c -o $@ $<  
blinker: $(OBJ_blinker)
	$(CC) $(CFLAGS)  -mmcu=atmega328 -o $@ $^   -L/home/ubu/MPSProjects/mbeddr.arduino.support/lib/out/atmega328 -lmbeddr -lm 
clean: 
	rm -rf $(ODIR) 
upload: blinker.hex
	avrdude -v -v -c avr109 -b 57600 -P/dev/cu.usbmodem1411 -D -p atmega328 -P /dev/ttyACM0 -U flash:w:blinker.hex 
blinker.hex : blinker
	$(OBJCOPY) $< $@

Ein .o, .hex, und executable wurden erstellt. Es wird anscheinend alles richtig kompiliert. Probleme gibt es nur beim hochladen. Da der Arduino nach dem make nicht reagiert hat, habe ich den Befehl zum hochladen ausgeführt

avrdude -v -v -c avr109 -b 57600 -P/dev/cu.usbmodem1411 -D -p atmega328 -P /dev/ttyACM0 -U flash:w:blinker.hex

Wenn ich das mache, meckert der avrdude

ubu@ubuntu:~/MPSProjects/mbeddr.arduino-0.1.7/solutions/arduino.samples/source_gen/arduino/samples/Blinker$ avrdude -v -v -c avr109 -b 57600 -P/dev/cu.usbmodem1411 -D -p atmega328 -P /dev/ttyACM0 -U flash:w:blinker.hex 

avrdude: Version 6.1, compiled on Nov 23 2014 at 21:15:32
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/home/ubu/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyACM0
         Using Programmer              : avr109
         Overriding Baud Rate          : 57600
         AVR Part                      : ATmega328
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : butterfly
         Description     : Atmel AppNote AVR109 Boot Loader

Connecting to programmer: .avrdude: ser_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding

Fehlermeldung:

Connecting to programmer: .avrdude: ser_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding

Die LEDs RX und L auf dem Arduino board fangen an zu leuchten. Dann gehen die LEDs aus und kurze Zeit später kommt die Fehlermeldung

Sieht vielleicht jemand einen Fehler? Ich mache das erste mal etwas mit den makefiles und habe auch zuvor so noch keine Programme auf den Arduino hochgeladen.

Am wenigsten kann ich mit dem "/dev/cu.usbmodem1411" anfangen.

Viele Grüße und Danke,
Robin

update:

habe die .hex Datei mal über den xloader hochgeladen. Das Programm läuft.
Kann also eigentlich nur ein Fehler in dem Makefile sein. Wahrscheinlich mit den Ports?

Arduino UNO ..... AVR109

Das passt nicht.

combie:
Das passt nicht.

Danke für die Hilfe
Der avr109 hat irgendetwas mit dem bootloader zutun. Der ist nicht richtig? Da müsste ein anderer stehen? Oder gar keiner?
Wie wäre denn der Befehl, um das Programm über den avrdude auf einen Arduino Uno hochzuladen - also blinker.hex über Port /dev/ttyACM0?

Grüße,
Robin

Keine Arduino IDE da?
Die weiß, wie sie es zu tun hat....
Tipp: Meldungen aktivieren, dann zeigt sie dir die Kommandozeile

combie:
Keine Arduino IDE da?
Die weiß, wie sie es zu tun hat....
Tipp: Meldungen aktivieren, dann zeigt sie dir die Kommandozeile

Schon, mit der IDE, bzw. dem XLoader klappt es ja... aber mein Ziel ist es, die mit mbeddr automatisch generierten C- und Header-Files direkt über den mit erstellten makefile hochzuladen.

Ich möchte ja nicht extra die erzeugten H- und C-Files wieder in eine .ino Datei einbinden, um die dann mit der IDE hochzuladen.

Das mit den Meldungen ist ein guter Tipp. Das probiere ich später mal aus.

Das uploaden hat geklappt. Das mit dem usbmodem hatte wohl irgendwas mit Mac zutun, was ich eh nicht gebraucht hätte. Ansonsten war der falsche bootloader angegeben und die baudrate hat auch nicht gepasst.

Mit dem Befehl habe ich also die .hex Datei über den avrdude in Ubuntu auf einen Arduino Uno bekommen

avrdude -p m328p -P /dev/ttyACM0 -c arduino -b 115200 -F -u -U flash:w:blinker.hex

Danke für die Hilfe

Glückwunsch!