Forum: Mikrocontroller und Digitale Elektronik Atmel Studio 6.1 erkennt Atmel Evaluationboard 2.01 nicht


von Matthias J. (matze2189)


Lesenswert?

Hallo,
Ich wollte nachdem ich ein Arduino Lernpaket durchgearbeitet habe mal 
richtig Mikrocontroller programmieren.

Habe mir dazu das Atmel Evaluationboard 2.01
https://www.pollin.de/shop/dt/MTY5OTgxOTk-/Bausaetze_Module/Bausaetze/ATMEL_Evaluations_Board_Version_2_0_1_Bausatz.html
besorgt.

Außerdem 2 Mikrocontroller die darauf montiert werden können:
- Atmega8-16PU
- Atmega16-16PU

Ich habe dann erstmal den Bausatz zusammengebaut und einen der 
Mikrocontroller aufgesteckt.
Als Spannungsversorgung habe ich ein Handelsüliches 12V DC Netzteil auf 
die Klemmleiste geklemmt, die Netz-LED leuchtete auch sofort.
Danach habe ich die kostenlose Version der Software Atmel-Studio 6.1 
installiert.

Desweiteren habe ich mir noch eine PCI-Karte für den PC mit serieller 
Schnittstelle (RS232) besorgt und eingebaut, weil ich gehört habe das 
solche Boards oft Probleme mit USB to serial Adaptern haben.

Habe dann die Platine mit dem PC verbunden und Atmel Studio gestartet.
Und viel weiter bin ich bisher nicht gekommen denn dort taucht folgendes 
Problem auf:

Mann kann ja bei AS unter Tools > Add Target das entsprechende 
Entwicklungsboard auswählen und den COM-Port an dem dies angeschlossen 
ist.
Ich kann zwar bei Serial-Port den richtigen Port auswählen an dem das 
Board auch angeschlossen ist, aber bei Tool kann ich nur das 
STK-500-Board auswählen, welches ja ein professionelles 
Entwicklungsboard von Atmel welches ich aber nicht besitze.
Andere Auswahlmöglichkeiten wie z.B. mein Atmel Evaluationsboard 2.01 
werden mir dort nicht angezeigt.

Auch unter Device-Programming > Tool kann ich nur den STK 500 auswählen 
sonst nichts.
Ich kann zwar bei Device den richtigen Mikrocontroller auswählen (Atmega 
8 bzw. Atmega 16) aber wenn ich diese auswähle und auf Apply klicke dann 
bekomme ich die Fehlermeldung: "Unable to connect to tool STK500 (COM1)"

Aber in COM1 steckt ja garnicht das STK500-Board sondern eben mein Atmel 
Evaluationsboard 2.01.

Habe es mit beiden Schnittstellen des Evaluationboards (ISP und RS232) 
versucht, außerdem mit beiden Auswahlmöglichkeiten bei "Interface" in 
Atmel Studio (ISP und HVPP).

Hat vllt. jemand eine Idee wo da das Problem liegen könnte?
Muss ich vllt. für Atmel Studio noch ein Add-On installieren damit es 
das Evaluationsboard unterstützt oder hat es eine andere Ursache?

Mit freundlichen Grüßen
Matze2189

von spess53 (Gast)


Lesenswert?

Hi

>Hat vllt. jemand eine Idee wo da das Problem liegen könnte?

Ja.

>Muss ich vllt. für Atmel Studio noch ein Add-On installieren damit es
>das Evaluationsboard unterstützt oder hat es eine andere Ursache?

Du brauchst einen ISP-Programmer, der vom ATMEL Studio unterstützt wird. 
Als Original ist das der AVR ISP MKII.

MfG Spess

von Matthias J. (matze2189)


Lesenswert?

Hallo spess53,
Danke für die schnelle Antwort.
Ich habe mir schon gedacht das da was fehlt, da die meisten immer 
schreiben: "Ich habe Board x und Programmer y".
Aber mir war jetzt nicht klar dass der zwingend erforderlich ist, weil 
z.B. bei den Arduino-Boards brauch man ja auch keinen.
Aber mit dem müsste es dann auf jeden fall gehn ?
Und Ist es egal ob ich den mit USB-Anschluss oder RS232-Anschluss nehme?
Gruß Matze2189

von spess53 (Gast)


Lesenswert?

Hi

>Aber mir war jetzt nicht klar dass der zwingend erforderlich ist, weil
>z.B. bei den Arduino-Boards brauch man ja auch keinen.

Arduinos haben Bootloader. Wenn du einen Arduino per ISP programmieren 
willst ist auch ein separater Programmer fällig.

Wenn du eine 'echte' serielle Schnittstelle hast, kannst du das Board 
auch darüber programmieren. Allerdings nicht direkt aus dem Studio 
heraus. Dazu brauchst du noch Ponyprog (Beschreibung vom Board S.7).

MfG Spess

von Stefanus (Gast)


Lesenswert?

> Wenn du eine 'echte' serielle Schnittstelle hast

Hat er ja extra dazu gekauft. Also kann er Ponyprog benutzen.

Das Geld wäre in eine ISP programme jedoch besser investiert gewesen. 
Hinterher weiss man immer mehr :-)

von Paul Baumann (Gast)


Lesenswert?

Vorschlag:
Baue Dir einen sog. USBASP-Programmer:
http://www.fischl.de/usbasp/

Brenne dort aber nicht die Original-Firmware daruf, sondern die dafür
modifizierte Version von "AVRDOPER"
http://www.obdev.at/products/vusb/avrdoper.html

Die ist dort im Archiv unter dem Namen "AVR_DOPER_Mega8_12Mhz.hex" zu
finden.

Damit taucht das Gerät dann im AVR-Studio als "STK500V.2" auf.

Du hast ja im Moment die Möglichkeit, einen Atmega8 auf dem Pollinbord
zu brennen.

MfG Paul

von Martin V. (oldmax)


Lesenswert?

Hi
Gut, du kannst mit PonyProg arbeiten. Ein USB-ISP Progger aus der Bucht 
für ca. 16 € macht aber mehr Spaß. Ich weiß aber nicht, ob Studio 6 die 
Dinger erkennt. Wenn du da sicher gehen willst, schaff dir den MK2 an. 
Ist auch schon des Öfteren beschrieben worden. Das geht dann flott vom 
Studio aus und nicht so langsam wie mit PonyProg über die serielle 
Schnittstelle. Meine ersten Versuche waren ja ganz nett, aber irgendwann 
sind 20 bis 30 Sekunden schon eine lange Zeit....
Gru? oldmax

von Matthias J. (matze2189)


Lesenswert?

Hallo,
Habe mir den MK 2 bestellt mit USB-Anschluss.
Verstehe ich das richtig dass ich dann die 1 Seite des Programmers 
direkt mit dem PC verbinde und den ISP Port mit der ISP Schnittstelle 
auf dem Evaluation-Board und dann die direkte Verbindung zwischen 
Evalutaionboard und PC über RS232 weglassen kann ?

Außerdem habe ich mal PonyProg installiert.
War zwar etwas Knauperei, weil ich eine besondere 64bit Version für Win7 
installieren musste aber ging dann doch.

Habe es auch geschafft eine Firmware in den Atmega 8 reinzuschreiben.

Was ich allerdings ned hinbekommen hab war über den Atmega 8 ein EEPROM 
anzusprechen das ich mir noch besorgt habe und das man ja auch auf das 
Board montieren kann.

Ist es eigentlich normal, dass eine Firmware immer einen 
Programm-Memory(FLASH)-Teil hat und einen Data-Memory(EEPROM)-Teil?
Ich dachte eigentlich ein Mikrocontroller hat immer entweder ein 
FLASH-EEPROM oder ein normales EEPROM, aber offensichtlich kann der auch 
beides zusammen haben ?
Also zumindest war es jetzt so das Pony Prog mir nen großen 
Adressbereich aus lauter grünen FF angezeigt hat (Programm-Memory) und 
ganz unten noch einen kleinen Teil aus blauen FF (Data-Memory) und in 
jeden Teil würde ein Teil der Firmware geschrieben.

Ich dachte eigentlich DATEN würden beim uC immer in ein RAM geschrieben 
während ein Programm abgearbeitet wird, warum brauch der dann noch einen 
Datenspeicher im ROM? oder habe ich da was falsch verstanden?

Boah jetzt sinds doch mehr Fragen geworden als ich wollte sorry ;)

Gruß Matze2189

von Stefanus (Gast)


Lesenswert?

> Verstehe ich das richtig dass ...  die direkte Verbindung
> zwischen Evalutaionboard und PC über RS232 weglassen kann ?

Ja.

> Ist es eigentlich normal, dass eine Firmware immer einen
> Programm-Memory(FLASH)-Teil hat und einen Data-Memory(EEPROM)-Teil?

Nein, nicht immer. Das ist ein optionales Feature.
Viele Programme liegen nur im Flash - selbst wenn sie das EEprom zum 
Ablegen von Daten nutzen.

> offensichtlich kann der auch beides zusammen haben ?

Bei AVR liegt das Programm im Flash. Das EEprom kann nur für Daten 
verwendet werden, die it spezielen Befehlen geladen/gespeichert werden.

Der Flash Speicher muss vor dem Beschreiben gelöscht werden, was nur 
Blockweise geht. Das EEprom kann in einzelnen Bytes beschrieben werden. 
Es ist auch für 10x mehr Schreibzyklen ausgelegt, als der Flash 
Speicher.

>  warum brauch der dann noch einen Datenspeicher im ROM?

Ich glaube da verwechselt du was.

Variablen liegen im RAM. Sie sind also nicht Teil der Firmware.
Aber wenn Du eine Variable initialisierst, dann befindet sich der 
Initialisierungs-Wert ebenfalls im Programmspeicher.
1
int a=34
Befor vor main() Funktion ausgeführt wird, werden alle statischen 
Variablen initialisiert. Die Initialisierungswerte aller Variablen 
befinden sich zusammenhängend irgendwo im Programmspeicher (außer 
Null-Werte).
Darüber hinaus können Daten auch im EEProm liegen. Dort sind sie 
veränderlich, aber nicht flüchtig (bei Stromausfall).

Du solltest das mal durchlesen: 
http://www.nongnu.org/avr-libc/user-manual/pages.html

Warscheinlich wirst DU anfangs nur Teile davon verstehen, deswegen lohnt 
es sich, den Kram nach einigen Wochen Erfahrung erneut zu lesen. Und 
dann nochmal jedes halbe Jahr :-)

von Atmega8 (Gast)


Lesenswert?

Matthias J. schrieb:
> Hallo,
> Habe mir den MK 2 bestellt mit USB-Anschluss.


Sei froh, das war eine gute Entscheidung.
Spätestens beim 64 Bit OS wär der Ärger angefangen.

So kannst Du Dich aufs Wesentliche konzentrieren.
Sinnvoll ist es den MKii zu modifizieren, damit Du dein Zielsystem ( 
hier Pollin Board) direkt mit dem MKii mit Spannung versorgen kannst.
Das ist sehr komfortabel.

Umbauanleitungen findest Du im Netz

von spess53 (Gast)


Lesenswert?

Hi

>So kannst Du Dich aufs Wesentliche konzentrieren.

Nicht ganz. Der AVR ISP MKII hat einen 6pol. Steckverbinder. Das Pollin 
Board einen 19pol.

MfG Spess

von spess53 (Gast)


Lesenswert?

Hi

...einen 19pol., gemeint war natürlich 10pol.

MfG Spess

von Matthias J. (matze2189)


Lesenswert?

Hallo,

das habe ich auch gerade gemerkt und mir noch den 6-10pol Adapter 
geholt.

Also habe ich das jetzt richtig verstanden?

Bei allen AVR Controllern ist das Programm das ich geschrieben habe oder 
auch eine Firmware im Flash-Speicher.
Das EEPROM wird nur zum speichern besonderer Befehle benutzt die das 
Programm durchführt während es ausgeführt wird.
Und im RAM sind die Variablen und Konstanten und Arrays etc. in denen 
während dem Programmablauf Werte zwischengespeichert werden?

Gruß Matze2189

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.