Hallo! Ich fange gerade mit dem Franzis Lernpaket "Microcontroller in C programmieren" an. Leider ist hier nicht beschrieben, wie ich das compilierte Programm auf den uC (Franzis-Versuchs-LP) übertragen bekomme. Fa.Franzis hat sich bis jetzt nicht zurück gemeldet.
Welchen controller? Wahrscheinlich wird dir ein Atmel MK II Programmiergerät für ca. 40,- weiterhelfen.
Es geht mir weniger um den Controler, sondern um die Funktion (Menüpunkt) innerhalb des Studio 6.2 Der Programmer und ATmega88 ist auf der Franzis-LP integriert.
__Son´s B. schrieb: > Der Programmer und ATmega88 ist auf der Franzis-LP integriert. Es gibt geschätzt 2 Dutzend verschiedene Programmer, manche sind kompatibel mit irgendwelchen Atmel-Programmern, manche (die meisten) sind komplett anders aufgebaut und gehen nur mit avrdude. Ohne zu wissen was für ein Programmer da eingebaut ist (oder evtl vielleicht nur ein Bootloader der einen von den alten AVR-Programmern emuliert, wie es z.B. beim Arduino gehandhabt wird), ohne zu wissen was genau da verbaut ist ist es nicht leicht zu sagen wo Du klicken musst oder ob das überhaupt ohne zusätzliche Software und spezielle Konfiguration im Atmelstudio möglich sein wird. War da kein Buch oder dergleichen dabei?
:
Bearbeitet durch User
irgendwie ist nicht mehr bekannt, dass das Schlüsselfile für die Programmierung von Kontrollern das sogenannte Intel-file ist, das die übliche Endung .hex hat. Nahezu jeder Assembler oder Compiler kann so eingestellt werden, dass er ein .hex file erzeugt. Hat man erst das .hex-file, gibt es viele Möglichkeiten, dieses auf den Kontroller zu übertragen: ISP-Verbindung: Im AVR-Tutorial gibt es Hinweise auf unzählige Möglichkeiten das .hex file per ISP auf einen Kontroller zu bringen. Bootloader auf dem Chip: Es gibt unzählige bootloader ( Hilfsprogramme auf dem jeweiligen Chip, die .hex files aufnehmen und in den Speicherbereich übertragen können). Das bietet auch Franzis in einem Buch an. Dazu spielt man zuerst den bootloader auf den Chip. Danach ist der Chip imstande, das .hex file über eine serielle Schnittstelle aufzunehmen und in den Programmspeicher abzulegen. Arduino-Prozessoren haben z.B. solch einen bootloader auf dem Chip. der vom PC aus mit dem .hex-file gefüttert werden kann. Und auch Atmel bietet fertig mit dem Bootloader programmierte Kontroller an (in der Typenbezeichnung irgendwas mit U2 oder U4 am Ende) Das ergibt so viele Möglichkeiten, dass man genau wissen muss, welche Programmiergerät oder welcher bootloader, welche Entwicklungsumgebung und welcher Kontroller vorliegt,um genauer zu sagen, wie das Ganze zusammenspielt.
:
Bearbeitet durch User
Eher in richtung deutschsprachlicher Frager: __Son´s B. schrieb: > Der Programmer und ATmega88 ist auf der Franzis-LP integriert. Hat Franzis das auf eine Langspielplatte gespielt ??? Und wie kriegt man einen Programmer physikalisch auf eine Langspielplatte? Warum immer dieses schwachsinnige Abkürzen? Und warum immer diese verwaschene Ausdruckweise? Auf einer CD (compact Disk) kann höchstens ein Schaltplan, ein Bestückungsplan oder eine Betriebsanleitung gespeichert sein, aber nicht ein Programmer. integrieren ist auch etwas andres als "mit aufgezeichnet" oder "vorhanden"
Also ich hatte anfangs auch probleme mit atmelstudio... ich hab mir dann den avrisp mkII gekauft ( so für ca. 50 euro bei reichelt.de). Dann musst du die pins des programmers(also des avrisp mkII) mit den richtigen pins des ųc verbinden(siehe anhang). nun zum softwareteil: Ich kenn es so dass man ein neues projekt anlegt, das device,also welchen controller man verwendet angibt, anschließend den quellcode schreibt. jetzt drückt man F7, also "build", damit wird dein code in eine .hex oder .elf file verwandelt (mein controller akzeptiert beide formate(atmega32)) und die schreibst du nun folgendermaßen auf den controller: verbinde den programmer mit dem pc(über das mitgelieferte usb kabel) dann den programmer an den controller, jetzt schaltest du die stromversorgung des controllers ein. wenn du bis jetzt alles richrig gemacht hast, leuchten am programmer 2 grüne leds. jetzt drückst du die tastenkombi: ctrl+shift+p es sollte sich ein fenster öffnen... wenn nicht sollte rechts oben in der menubar ein feld mit dem namen "device programming" sein - drauf drücken Jetzt den angeschlossenen programmer auswählen, das device(ųc) angeben und auf "apply" drücken... jetzt musst du rechts davon die am controller anliegende spannung und die "device id" durch die beiden buttons "read" auslesen. jetzt gehst du unter die rubrik "memory" und drückst "program" dann sollte unten links ein grüner balken sich füllen.... fertig ich hoffe, dass ich dir helfen konnte, wenn es nicht funktioniert, dann schreib nochmal. da ich nicht sehr regelmäßig hier im forum aktiv bin kannst du mich auch gerne per mail kontaktieren: Leopold_nuetzel@web.de Wenn allea funktioniert: viel spaß
http://allaboutee.com/2011/05/11/how-to-program-an-avr-microcontroller/ sorry hatte den anhang vergessen... hier is nochmal der pinout des avrisp mkII
Ich denke, darum geht es. https://www.youtube.com/watch?v=8wz8wUJsZPc Und das könnte deine Frage beantworten: https://www.youtube.com/watch?v=Lt7PMUQxzUQ
Ja, hallo und herzlichen dank für die vielfältigen Anregungen. In der Tat, handelt es sich um einen ähnlichen Bausatz, aber gleiches Problem wie; https://www.youtube.com/watch?v=Lt7PMUQxzUQ Das Buch ist gut geschrieben, aber ausgesprochen verwirrend aufgebaut. Daher kann es sein, dass ~irgendwo~ später im Buch auch das Übertragen der hex-Datei auf den ATmega nachvollziehbar beschrieben ist. MProg habe ich auch geladen, wusste aber nicht das es (vermutlich) ausschließlich für die Übertragung zuständig ist. Hier ~dachte~ ich, da mit dem Studio 6.2 editiert, compiliert und später ev. auch simuliert wird, von hier aus den hex-File auf das Bord übertragen zu können.
Folgend das Lernpaket; http://www.franzis.de/elektronik/lernpakete-elektronik/das-franzis-lernpaket-mikrocontroller-in-c-programmieren
__Son´s B. schrieb: > Hier ~dachte~ ich, da mit dem Studio 6.2 editiert, compiliert und später > ev. auch simuliert wird, von hier aus den hex-File auf das Bord > übertragen zu können. Das geht auch out-of-the-box, aber NUR wenn der Programmer zufällig ein echter ATMEL-Programmer ist oder 100% mit einem solchen kompatibel. Für alle anderen brauchst Du separate Software und/oder sogar Treiber (je nach dem). Das ist auch der Grund warum hier andauernd der AVRISP-MKII empfohlen wird. Der ist von ATMEL und das das Atmelstudio ist sehr wählerisch was die Programmer angeht mit denen es zusammenarbeiten will. Für alle anderen nimmst Du avrdude (Kommandozeile) oder eine irgendeine Software die auf avrdude aufbaut. Wenn Du jedoch unter Linux arbeitest stellt sich das Problem so überhaupt nicht, dort gibts kein Atmelstudio, man verwendet stattdessen Eclipse mit dem AVR-Plugin und das geht mit allen Programmern unter diesem Himmel, unter Linux hätte ein Orginal-Atmel also kaum irgendwelche Vorteile. Wenn Du was ATMEL-kompatibles für Windows willst empfehle ich übrigens lieber den Diamex-ALL als bessere Alternative zum AVRISP, der hat mehrere Vorteile: 1. Er kann das Target mit Spannung versorgen, so kannst Du mit nem simplen Schnellwechselsockel und ein bisschen Draht nackte Controller programmieren ohne noch ein separates Netzteil zu brauchen. Er hat nicht den 1-Sekunde-RESET-Bug des AVRISP (Killerkriterium für mich, Faß->Überlauf->AVRISP->Schrank->Tür zu). 3. Er ist etwas preisgünstiger. 4. Er ist kleiner. 5. Er hat beide ISP-Steckergrößen drauf und nicht nur den 6-poligen. 6. Er ist mindestens genauso unzerstörbar. Nachteil: kein Gehäuse. Wenn Du allerdings auch debuggen willst und nicht nur programmieren dann ist weder das eine noch das andere geeignet, dann brauchst Du mindestens einen ATMEL-ICE.
Bernd K. schrieb: > Wenn Du was ATMEL-kompatibles für Windows willst empfehle ich übrigens > lieber den Diamex-ALL als bessere Alternative zum AVRISP Arbeite mit Win7 + Programmer, der schon im Lernpaket, auf der mitgelieferten LP verdrahtet ist. Habe auch einen STK500, arbeite aber erst mal sklavisch das Lernpacket, ala "Mahlen nach Zahlen" durch. Diamex-ALL werde ich Hinterkopf behalten, wenn ich ernsthafte kleine Sachen mit dem ATtiny mache.
Die Übertragung des Programms (hex-Datei) erfolgt über den "AVR Bootloader"! Auf dem uC wurde dafür von FRANZIS ein Prog. vorinstalliert. Somit ist ein ISP-Programmer überflüssig und kann direkt seriell programmiert werden. ______________ Soweit so gut... Leider ist seit gestern folgendes Problem aufgetaucht; [1] AVR Bootloader gestartet // Port eingestellt // Reset Delay 200 // Hex-Datei (Blink-LED) geladen // mit [Programm] übertragung starten [2] Übertragung findet statt // im Anschluss erlischt das Dauerleuchten der LED PB6 am uC-Ausgang // kein Blinken von PB6, wie im neuen Programm vorgesehen. [3] Ab jetzt kann der AVR Bootloader nicht mehr übertragen - zeigt bei weiteren Versuchen (auch mit anderen Hex-Dateien); "Init Bootloader... Retry: 1" nach 6 Retry-Versuchen, abbruch mit "Error: Upload failed!" IST HIER IRGEND ETWAS "ZERSCHOSSEN" WORDEN?
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.