PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [erledigt] AVR-Board unter Linux in betrieb nehmen



RedEagle
21.10.2010, 18:15
Hi
Ich muss ein µC-Board in betrieb nehmen und habe keine Ahnung wie :) Leider ist google mir keine große Hilfe da ich nicht wirklich weiß wonach ich suchen muss und welche Fakten wie wichtig sind.

Der µC ist ein ATmega128
lsusb nennt mir Folgendes: "Bus 002 Device 008: ID 0403:6010 Future Technology Devices International, Ltd FT2232C Dual USB-UART/FIFO IC"

Aufgeführt wird das Board, bzw dessen Interface als
/dev/serial/by-id/usb-Dirk_${MEINE_FH}-if00-port0
/dev/serial/by-id/usb-Dirk_${MEINE_FH}-if01-port0
bzw ttyUSB*

Aus Sicht des µC ist dies einmal eine RS232-Schnittstelle und ein JTAG-Interface. (Bei winavr wird als Programmer "JTAG-ICE" gewählt)


Als Kompiler verwende ich den avr-gcc. Wie bekomme ich dessen output auf den Controller?

(Mein System: openSuSE 11.3 x86-64)

just4fun
23.10.2010, 23:33
hier ist das ganze ganz gut erklärt:
http://wiki.ctbot.de/index.php/AVR_ISP_Programmer#BlueMP3_bzw._STK200_kompatible_ Flasher

Gruß,

just4fun

Besserwessi
24.10.2010, 01:27
Es gibt ein JTAG interface mit dem FT2232C. Allerdings ist das Interface da wohl nicht das des JATG-ICE.

Man hat im Prinzi 2 Möglichkeiten den Code zu übertragen:
1) mit einem eventuell schon auf dem µC vorhandenem Bootloader über die RS232. Das sollte ggf. in der Anleitung zu m Board stehen, incl. der BEschreibung wie man die Daten hinschickt - wenn man Pech hat nur als Windows Porgramm.

2) Über das JATG interface und AVRDUDE. Es gab da wohl zumindest mal Unterstützung für den FT2232.

RedEagle
25.10.2010, 21:17
Danke für eure Antworten.

Im Moment bin ich noch mit dem Compiler beschäftige - der cross-compiler von openSUSE für AVRs ist wohl nicht so gut - zumal alle header und libs fehlen(?)

wenn ich alles am laufen habe werde ich mal mein build-script hier Posten.

--- Nachtrag: ---

wie folgt versuche ich testweise den flash-speicher auszulesen:

avrdude -v -v -p m128 -c jtagmki -P /dev/ttyUSB1 -U flash:r:read.hex:i
beim ersten mal scheint er sich zu verbinden, und zeigt mir auch zahlreiche Informationen über den µC an (wie memorymap) die auch stimmen.
Dann versucht er allerdings die Baudrate zu ändern und von da an gibt unzählige Fehler: "programmer is not responding".

Rufe ich den Befehl erneut auf, bekomme ich diese Fehlermeldung schon zu beginn.

-B 10 und -b 9600 sowie -b 19200 ändern nichts an dem verhalten :(

Woran könnte das liegen? Am Programmer, am System?

--- Nachtrag 2: ---
Jetzt läuft es. Das Problem war wohl, dass ich in einer VM arbeitete. :-b

Danke für eure Hilfe