Danke Schumi, werds mir duchlesen...nur habe ich das mit dem Makefile noch nicht so recht kapiert ..
Gerhard
Danke Schumi, werds mir duchlesen...nur habe ich das mit dem Makefile noch nicht so recht kapiert ..
Gerhard
Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint
Hallo Gerhard,
ich mach das eigentlich nur unter Linux mit dem folgenden Makefile:
In dem Fall handelt es sich eben um einen Atmega168p/16MHz welcher mit avrdude und einem AvrISPmkII programmiert wird. Die Quelldateien sind main.c und rc5.cCode:CC=avr-gcc RM=rm -f OBJCOPY=avr-objcopy AVRDUDE=sudo avrdude -p m168 -c avrispmkii -P USB -e -U flash:w: AVRSIZE=avr-size MCU=atmega168p F_CPU=16000000 CFLAGS=-g -DF_CPU=$(F_CPU) -Wall -Os -mcall-prologues OBJ = main.o rc5.o BIN = ir.bin HEX = ir.hex MAP = ir.map .phony: all all: $(OBJ) $(RM) $(HEX) $(BIN) $(MAP) $(CC) -mmcu=$(MCU) $(CFLAGS) -o $(BIN) -Wl,-Map,$(MAP) $(OBJ) $(OBJCOPY) -R .eeprom -O ihex $(BIN) $(HEX) %.o: %.c $(CC) -mmcu=$(MCU) $(CFLAGS) -c $< clean: $(RM) $(OBJ) $(BIN) $(HEX) $(MAP) flash: $(OBJ) $(AVRDUDE)$(HEX) size: $(BIN) $(AVRSIZE) -C --mcu=$(MCU) $(BIN)
ir.hex/ir.map/ir.bin sind die Übersetzten Dateien. Das Hexfile wird aus der bin Datei extrahiert.
Oben ist die Konfiguration, welche relativ einfach angepasst werden kann.
mit
wird alles bereinigt, übersetzt und anschliessend auf den Zielprozessor geflasht.Code:make clean all flash
Mitkannst du dir den SPeicherverbrauch auf dem Ziel anzeigen lassen. Flash und Ram.Code:make size
Bei Fragen, einfach fragen
Gruß
Georg
Geändert von schorsch_76 (17.09.2013 um 14:09 Uhr)
Hallo Georg !
ich möchte Dir herzlichst danken für die Mühen, die Du Dir für meine Frage gemacht hast. Mir ist das Arbeiten auf Konsolenebene nicht unangenehm, nur das ich darin in Sachen AVR-Programmierung überhaupt keine Erfahrungen habe. ich gebe zu meine grössten Schwäche ist die Unkenntnis der englischen Sprache, aber in meinem Alter und nur für s Hobby möchte ich nicht noch eine Abendschule besuchen...
Ich werde mich mal mit der Materie befassen und wenn Fragen sind , wie Du schon erwähnt hast frage ich nochmals nach.
Danke + Gruss
Gerhard
Das wird mein Problem werden, weil ich den Programmer nicht besitze:
AVRDUDE=sudo avrdude -p m168 -c avrispmkii -P USB -e -U flash:w:
Geändert von oderlachs (17.09.2013 um 14:24 Uhr)
Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint
Welchen Programmer hast du denn? Avrdude kann praktisch alle ansprechen.
Nun hast Du mir aber in die Enge getriebenIch habe ne ganze Menge, weil ich (anfangs) zu dumm war(bin) den Richtigen gleich zu kaufen
Die Nummer 1 ist eigendlich das STK500 Board, dann habe ich noch den "USB ASP", den USB ISP 500 von Olimex, den USBTinyISP, einen für den Parallelport(STK200kompatible) und einen Äquivalent zum Atmel ISP Programmer...aber besten komme ich mit dem STK500 aus, den die anderen werden nicht von jeder Software (AVR-Studio, Bascom, Arduino-IDE) unterstützt.
Der "AVR-ISP" hier zu sehen hier der von Olimex
Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint
Für deinen STK500 lautet dann die Zeile:
Eventuell muss noch der /dev/ttyS0 Part angepasst werden. Jenachdem was für eine serielle Schnittstelle du hast. FTDI basierte Adapter haben oft /dev/ttyUSBS0 Das siehst du aber wenn du den Adapter einsteckts und direkt danach auf der KonsoleCode:AVRDUDE=sudo avrdude -p m168 -c stk500 -P /dev/ttyS0 -e -U flash:w:
eingibst.Code:dmesg | tail
Gruß
Georg
Edit: Soweit ich weis ist der von Olimex zum AvrispmkII kompatibel ... bin mir aber nicht sicher. Der Attiny basierte Programmer geht auch. Mit
kannst du die alle Kommandozeilen Optioen erklären lassen. Gibt auch eine Option welche alle unterstützen Programmer anzeigt.Code:man avrdude
Ja danke vielmals Georg !!!
Ich werde mal probieren. Gibt es zwingend ein VZ wo ich die Quellcode ablegen muss oder kann ich da in meinem HOME VZ einfach einen Ordner für die Quellcode anlegen ?
Na ja ich muss ja nicht gleich heute und morgen alles verstanden haben, bzw. auch vollbracht haben. Durch Fehler und probieren lernt man ja noch dabei was..
Gruss Gerhard
wenn ich den USB-ISP anstecke sagt mir dmesg | tail :
und das beim USB ASP:gerhard@ubuntu12:~$ dmesg | tail
[ 816.754627] type=1400 audit(1379425330.586:26): apparmor="DENIED" operation="capable" parent=1 profile="/usr/sbin/cupsd" pid=535 comm="cupsd" pid=535 comm="cupsd" capability=36 capname="block_suspend"
[ 3061.168030] USB 8-1: new full-speed USB device number 2 using uhci_hcd
[ 3061.347067] USB 8-1: New USB device found, idVendor=16c0, idProduct=2a9b
[ 3061.347074] USB 8-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3061.347079] USB 8-1: Product: AVR-ISP
[ 3061.347083] USB 8-1: Manufacturer: ERFOS
[ 3061.952051] cdc_acm 8-1:1.0: This device cannot do calls on its own. It is not a modem.
[ 3061.952152] cdc_acm 8-1:1.0: ttyACM0: USB ACM device
[ 3061.955256] usbcore: registered new interface driver cdc_acm
[ 3061.955262] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
gerhard@ubuntu12:~$ dmesg | tail
[ 3061.952051] cdc_acm 8-1:1.0: This device cannot do calls on its own. It is not a modem.
[ 3061.952152] cdc_acm 8-1:1.0: ttyACM0: USB ACM device
[ 3061.955256] usbcore: registered new interface driver cdc_acm
[ 3061.955262] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 3247.976078] USB 8-1: USB disconnect, device number 2
[ 3258.520033] USB 8-1: new low-speed USB device number 3 using uhci_hcd
[ 3258.691075] USB 8-1: New USB device found, idVendor=16c0, idProduct=05dc
[ 3258.691081] USB 8-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3258.691086] USB 8-1: Product: USBasp
[ 3258.691090] USB 8-1: Manufacturer: www.fischl.de
gerhard@ubuntu12:~$
Geändert von oderlachs (17.09.2013 um 15:23 Uhr)
Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint
Lesezeichen