Hallo Ich nutze einen ATmega8 µC um wieder ein wenig Boden unter den Füßen in der µC Welt zu bekommen. Soweit so gut. Ich programiere im AVR-Studio 4.x, teste meine Programme dort, nehme das HEX-File und brenne es über "avrdude" (Juchu jetzt auch mit GUI) in den Flash des µC. Auch noch gut :) Mein Test-Board (www.myavr.de) hat über den Centronics-Port ISP Funktionalität (ist das richtig ausgedrückt?). Aber jetzt mal ganz ehrlich, ich habe keine Ahnung, was ich da mache. Was ist SP12, was genau versteht man unter ISP (InSystemProgrammable), wie schaut es mit MOSI etc. aus. Ich habe den nie vorhandenen Überblick verloren. Ich habe hier schon im Tutorial geschaut, sowie in Datasheets von Atmel aber auch in anderen Tutorials (www.rowalt.de etc.). Ich würde mich freuen, wenn mir das jemand erklären könnte. Vielen Dank Thomas
Also OK... was SP12 sein soll kann ich dir nicht sagen. ISP ist eine möglichkeit einen µC (o.ä.) IM SYSTEM (d.h. ohne ihn in ein separates programmiergerät zu stecken) beschreiben kann. Über den ISP kann man den Flash, Das EEprom und die Fuses (Einstellungsbits des µC) beschreiben. Das ISP muss natürlich auch über irgendeine schnittstelle laufen und da kommt bei den AVRs SPI (Seriell) zum einsatz. SPI besteht aus 3 Leitungen (MOSI, MISO und SCK). auf MOSI (des µC) Empfängt der AVR die daten die über das ISP laufen. Auf MISO antwortet er auf anfragen und der SCK dient als Takt. Nun muss man um in den ISP modus zu gelangen den reset auf low setzen daher kommt noch eine leitung. D.h. um ein Programm über den ISP in den µC zu übertragen braucht man 4 Leitungen. Nochmal kurz: das ISP ist ein richtiges Protokoll, das auf dem SPI aufgesetzt ist. (wie z.B. IP auf Ethernet ausgesetzt ist) SPI widerrum benötigt 3 Leitungen + 1 Reset. Über die funktionsweisen von SPI informierst du dich besser wo anders. MfG PS: Darf ich fragen wie alt du bist ?
Hallo Thomas, SP12 ist eine weit verbreite Schaltung für einen ISP-Programmer von Steve Bolt (hier mal quellen: http://www.xs4all.nl/~sbolt/e-spider_prog.html, http://rpmfind.net/linux/RPM/sourceforge/c/cd/cdk4avr/cdk-avr-avrdude-doc-sp12-4.3.0-20040229.i386.html) Gruß Jahn PS: eigentlich ist die Problematik bei ROWALT recht gut erklärt :-/ lies mal das hier (geht zwar nicht um SP12 aber um SPI/ISP): http://www.myavr.de/download/myTinyProg.pdf
SP12 (zumindest der xs4all-Link) ist somit die "beliebte" Gurkenschaltung mit Serienwiderständen zwischen Parallelport und AVR. Von der ist abzuraten. Statt dessen sollte die Schaltung mit einem Treiberbaustein (STK200/Kanda) verwendet werden, deren Schaltplan in der Bascom-Dokumentation enthalten ist und außerdem von mir hier bereits des öfteren gepostet worden.
@Jahn, danke - das hat mir doch schon weiter geholfen. @Rufus - ich werde mich auf die Suche nach dem Schaltplan begeben. Oder mal bei eBay nach "STK200" suchen (jetzt hätte ich schon beinahe "bei eBay googlen" geschrieben). Ach nochwas, wenn ich so einen Adapter selber baue, sollte es doch möglich sein, den eigentlichen Schreibvorgang über SCK auf eine LED zu bringen, oder? Vielen Dank
Nur so, weil Du geschrieben hast: "wieder ein wenig Boden gewinnen" klingt als du schonmal was mit µCs am hut hattest. SP12 -> hab garnet gewusst das man die schlatung so nennt. die ging bei mir nicht, dann hab ich die STK200 mitr den 74HC244 gebaut...die ging super und das mit 1,5m kabel vom ISP bis zum Controller...für den anfang ist die super geeignet und super einfach. Nur wenn der Code etwas grösser wird treten machmal fehler auf. Ab 10 Kb ging bei mir NICHTS mehr auch nach 20 Schreibvorgängen. Dann sollte man sich einen AVR ISP zulegen...des Teil ist echt super! Die investition lohnt sich auf jeden fall! (ca. 40 EUR, Reichelt). Des Teil hat ne RS232 Schnitstelle und ist mit dem AVR Studio kompatibel. d.h dein AVDDUDE wird überflüssig (wenn es auch als kommandozeile und ISP TOOL für AVRGCC super geeignet ist). Übrigends: wenn du dich grad einarbeitest, lass die finger von dem Reset-Enable signal deines Mega8ers denn wenn du des umstellst, kann der AVR nicht mehr resettet werden und Du kannst ihn somit nicht mehr in ISP modus beschreiben. Dann heisst es High Voltage Programming und dazu brauchst Du wider ein anderes gerät (z.B. STK 500 für rund 110 EUR) Ich hoff, ich konnt helfen ! MfG
Hi DAs STK500 habe ich gestern für 85 bei eBay erstanden, allerdings werde ich es wohl gleich wieder einstellen, denn mir fehlt der Nutzen zur Zeit dazu - denke ich zumindest. Das Teil von Reichelt werde ich mir mal anschauen. Ich nutze selber das AVR-Studio - das wäre echt genial, wenn man so dann nur noch mit einer Software arbeiten brauch. Wie schaut es dort denn dann mit der EEPROM Programmierung aus? Gruß
@Simon ... bei ner schaltung mit dem 74er treiber gibts probleme mit größeren HEX-Files? PANIK ich wollt mir so einen adapter zulegen !?!? :-/ also meine einfache SP12 Schaltung hat da noch nie Probleme gemacht warum sollte die mit Treiberbaustein welche machen???? ist das nur bei dir so oder generell? WARUM?
Hi. @Alex: Nein normalerweise geht das mit den größeren HEX files schon nur denke ich ist mein Kabel dafür zu lange(1,5m). Ich denk mal wenn ich es halbiert hätt, hät es funktioniert. Thomas: Ja Genau das Teil ! Du kannst im AVR Studio natürlich ne datei auswählen um auf das EEPROM zu schreiben. Also garkein Problem. Das AVR Studio bring sowiso einen unglaubleichen komfort in sachen Programmierung. z.B. kann man bei den Fuses nicht mehr viel falsch machen, da alles in ner liste steht und man einfach die einstellungen ändern kann. indem man z.B. einen hacken vor "8Mhz internal RC..." setzt. einfach Genial ! MfG
In der nächsten Zeit werde ich zum Experimentieren erstmal noch beim avrdude bleiben, das ist eigentlich auch ziemlich Simpel, vorallem dank dem GUI. Solange ich nicht über solche von Dir genannten Probleme stolpere passt das eigentlich. Mit den Fuses habe ich noch nichts gemacht, da muss ich mich erstmal einlesen - da weiß ich bisher nur, dass ich auch Schreibschutz setzen kann. Was mir beim AVR-Studio gefällt, dass ist die Test-Umgebung, einfach fein - für eine Freeware, ich hoffe, das bleibt auch so als Freeware, was ich mir auf Dauer kaum vorstellen kann. Ach, nochmal wg. meinem Alter. Ich habe früher (mit 17 :)) ein 8051 Board gehabt, sowie auch wieder vor kurzem in der Techniker-Schule. Nicht vergleichbar mit dem Atmega. Ich denke aber, dass ich mit dem Atmega einen besseren Weg als mit einem 8051 (o. 8031) eingeschlagen bin.
@Thomas: Der Schreibschutz ist eigentlich ein Fuse mit dem man die ISP Programmierung ausschlaten kann. Dies kann man allerdings nicht, wenn man im ISP-Modus Programmiert (um aussperren zu verhindern). aber wie bereits gesagt kann man sich durch das Reset bit (ist beim maga 8 vorhanden, beim mega16 nicht) aussperren. (dann kann man seinen controller nur noch über eine andere Programmiermethode wieder ISP fähig machen. Dann kann man z.B. noch Leseschütze setzen um zu verhindern, dass jemaan den Code "Klaut"...auch schreibschütze sind möglich allerdings kann man diese durch ein Chip_Erase wieder auflösen. Ja, das AVR Studio is schon was nettes ;) ich denk mal des wird schon kostenlos bleiben, sonst bleibt man halt bei einer älteren Version. MfG PS: -> "Ich habe früher (mit 17 :))" Ich bin 17 ;)
Betr. Kabellänge: Wenn man denn schon lange Kabel verwendet, dann sollte das Kabel zwischen PC und ISP-Adapter lang sein, nicht aber das zwischen ISP-Adapter und AVR.
Also, dann habe ich eine Frage an Dich - wenn Du 17 bist, womit beschäftigst Du dich sonst noch? Scheinst recht Fitt auf dem Gebiet zu sein. Wie bist Du zu dem ganzen Zeug, Elektronik µC's hingekommen?
Ja, aber ich hatt ein LPT stecker in den ich den 74HC244 so geschickt reinquetschen konnte...und dann hab ichs halt so gamacht. Hat ja auch funktioniert. Klar, dass es andersrum (technisch) "besser" gewesen wäre.
Main vater ist elektroniker...und dann hab ich halt mit so zeug immer schon rumgespielt. Was ich sonst noch so mache ? Ich Programmiere schon ein paar jahre in C / C++. Am Anfang Visual Basic. Assembler beherrsch ich auch ein wenig. Mit PHP hab ich auch schon einiges gemacht. Und halt µC Programmierung (hauptsächlich in C und ein bisschen in ASM). Mach grad ne Ausbildung zum Elektroniker und bin im ersten lehrjahr (voll langweilig). Wenn du noch fragen hast zu µCs, dann kannst mir auch ne mail schrieben: sf2005 [at] gmx [punkt] de MFG
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.