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
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
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
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
> 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 :-)
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
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
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
> 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 :-)
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
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
Hi ...einen 19pol., gemeint war natürlich 10pol. MfG Spess
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.