Forum: Mikrocontroller und Digitale Elektronik AVR Studio 4 Programmierung fehlerhaft


von mf-fahrer (Gast)


Lesenswert?

Hallo,
wenn ich Programmieren möchte, kommt immer dieser Fehler:

---------------------------
ISP Mode Error
---------------------------
A problem occurred when executing the command. Make sure that you are 
using the correct
programming method. Current mode is ISP. See the command output for more 
info.

The troubleshooting section in the help system contains more information 
on what may
have caused the problems. To open the help system, click the Help button 
below.

Quick Tips: Verify that the device is placed in the correct socket, and 
that the ISP
cable is properly connected. Check that the ISP programming frequency 
specified on the
'Main' page is well below 1/4 of the clock frequency of the device. 
Extra precaution
should be made when using the CKDIV fuse and/or Clock Prescaler Register 
(CLKPR) on
parts supporting this.
---------------------------
OK   Hilfe
---------------------------


Und unten wo eingeblendet wird was er geschaft hat steh immer Dass hier:

Getting isp parameter.. SD=0x00 .. OKOK
Reading FLASH input file.. OK
Setting mode and device parameters.. OK!
Entering programming mode.. OK!
Erasing device.. OK!
Programming FLASH ..      FAILED!
Leaving programming mode.. OK!


Getting isp parameter.. SD=0x00 .. OKOK
Reading EEPROM input file.. OK
Setting mode and device parameters.. OK!
Entering programming mode.. OK!
Programming EEPROM ..      FAILED!
Leaving programming mode.. OK!


Getting isp parameter.. SD=0x00 .. OK
Validating ELF input file.. OK!
Reading FLASH input..OK!
No EEPROM contents in ELF file.
No FUSE contents in ELF file.
No LOCKBITS contents in ELF file.
No SIGNATURE contents in ELF file.
Setting mode and device parameters.. OK!
Entering programming mode.. OK!
Erasing device.. OK!
Programming FLASH ..      FAILED!
Leaving programming mode.. OK!



Danke schon einmal für Lösungsvorschläge.

von Peter R. (pnu)


Lesenswert?

Fange erst einmal klein an: Lies die Signatur des Bausteins aus. Wenn 
das erfolgreich ist, ist die ISP-Verbindung schon mal in Ordnung.

Dann verrate mal dein großes Geheimnis: um welchen Kontroller handelt es 
sich denn ? Da gibt es nämlich Modelle, die auch JTAG sprechen und das 
verträgt sich nicht mit ISP.

Auch der Typ des Programmiergeräts könnte eine nützliche Angabe sein.

usw.

von mf-fahrer (Gast)


Lesenswert?

Es ist ein ATMega 16.
Als programmer habe ich einen AVR ISP mklII.

von Jonas W. (mf-fahrer)


Lesenswert?

Ich kann alles auslesen, nur weiter geht es immer noch nicht.

von spess53 (Gast)


Lesenswert?

Hi

>Als programmer habe ich einen AVR ISP mklII.

Einen echten oder einen Clone?

Welche ISP-Frequenz ist eingestellt?

Stromversorgung?

MfG Spess

von Jonas W. (mf-fahrer)


Lesenswert?

Es ist ein originaler.
8 mHz als Frequenz
Externe Spannungsversorgung ist auch angeschlossen.

von spess53 (Gast)


Lesenswert?

Hi

>8 mHz als Frequenz

Ich meine die ISP-Frequenz

Programmierdialog-> Main -> ISP Frequency

MfG Spess

von Jonas W. (mf-fahrer)


Lesenswert?

Da hatte ich 4kHz.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Du hast auch den richtigen MC im 'Main' Tab ( da wo die Signatur gelesen 
wird) eingestellt und nach dem Auslesen kommt die Meldung' Signature 
matches the selected Device'?
Wähle als ISP Frequenz dann mal 125 kHz aus - auch in diesem Tab des 
Programmierdialogs. Sind etwa Lockbits gesetzt? Kann ja eigentlich nicht 
sein, da
Jonas W. schrieb:
> Ich kann alles auslesen, nur weiter geht es immer noch nicht.

Trotzdem: In diesem Fall geht es nicht weiter, bevor du ein 'Erase 
Device' angestossen hast. Falls dann immer noch nichts geht, könnte es 
sein, das
* Zuwenig Betriebsspannung am MC anliegt.
* Der MC 'ermüdet' ist, also nicht mehr programmierfähig. Das sollte 
aber erst nach etwa 10000 Programmiervorgängen passieren.
* Doch noch ein Clock/Takt Problem besteht. Geh nochmal die Fuses durch 
und stelle sicher, das der interne 8 Mhz Oszillator ausgewählt ist.

von spess53 (Gast)


Lesenswert?

Hi

>Da hatte ich 4kHz.

Ist zwar relativ niedrig, aber möglich. Fällt mir als mögliche 
Fehlerquelle nur noch deine Hardware ein. Wie sieht die aus?

MfG Spess

von Jonas W. (mf-fahrer)


Lesenswert?

Die zuprogrammierende Platine habe ich überprüft, daran liegt es nicht.

von Jonas W. (mf-fahrer)


Lesenswert?

Jetzt funktioniert es, jetzt muss ich nur noch eine .eep Datei erstellen 
und daran scheitert es.
Kann mir einer kurz erklären wie dass in dem AVR Studio4 geht?

von Hannes L. (hannes)


Lesenswert?

Wenn Du keinen Quelltext hast, dann EEPROM auslesen und abspeichern. 
Wenn Du ASM-Quelltext mit .eseg hast, dann wird die .eep-Datei beim 
Assemblieren automatisch erstellt.

...

von spess53 (Gast)


Lesenswert?

Hi

>Jetzt funktioniert es,

Wie jetzt? Wunderheilung?

>Kann mir einer kurz erklären wie dass in dem AVR Studio4 geht?

Welche Sprache?

MfG Spess

von Jonas W. (mf-fahrer)


Lesenswert?

Wo ich die ISP Frequenz runter gestellt habe, konnte ich es übertragen.
Ich programmiere in C.
Und mit dem ersten vorschlag mit dem Umwandeln funktioniert es nicht.
Hat vielleicht noch jemand einen anderen Vorschlag?

von spess53 (Gast)


Lesenswert?

Hi

>Hat vielleicht noch jemand einen anderen Vorschlag?

Must du mal hier nachsehen:

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#EEPROM

MfG Spess

von Jonas W. (mf-fahrer)


Lesenswert?

Da steht auch nicht viel.

von Jonas W. (mf-fahrer)


Lesenswert?

Hat noch jemand eine andere Idee?

von spess53 (Gast)


Lesenswert?

Hi

>Da steht auch nicht viel.

Und was vermisst du da?

MfG Spess

von Jonas W. (mf-fahrer)


Lesenswert?

Wie ich es in dem AVR Studio4 umwandeln kann.

von spess53 (Gast)


Lesenswert?

Hi

>Wie ich es in dem AVR Studio4 umwandeln kann.

In was?

uint8_t eeFooByte EEMEM = 123;

Wenn du eine Variable mit EEMEN anlegst wird automatisch ein File für 
den EEPROM (xyz.eep) angelegt. Und mit dem programmierst du dann deinen 
Controller.

MfG Spess

von Jonas W. (mf-fahrer)


Lesenswert?

Verstehe ich noch nicht ganz, kann ich dass einfach in den CODE 
kopieren?
Kann einer mal ein Bild dazu einstellen?

In .eep möchte ich es umwandeln.

von Noname (Gast)


Lesenswert?

>Verstehe ich noch nicht ganz, kann ich dass einfach in den CODE
kopieren?

Und ich versteh nicht was Du nicht verstehst. Du musst die Antworten 
schon lesen. :-)

Spess hat Dir den Code schon geschrieben:

uint8_t eeFooByte EEMEM = 123;

Das IST der Code.
Das musst Du nicht in den Code kopieren (falls es nicht doch schon 
welchen gibt).

>In .eep möchte ich es umwandeln.
Schön. Hast Du das hier gelesen?

>Wenn du eine Variable mit EEMEN anlegst wird automatisch ein File für
>den EEPROM (xyz.eep) angelegt.

von spess53 (Gast)


Lesenswert?

Hi

>>In .eep möchte ich es umwandeln.
>Schön. Hast Du das hier gelesen?

>>Wenn du eine Variable mit EEMEN anlegst wird automatisch ein File für
>>den EEPROM (xyz.eep) angelegt.

Da meine C-Kenntnisse, als notorischer Assemblerprogrammier, eher 
rudimentär sind war mir folgendes entgangen:

Damit das funktioniert muss noch die eeprom.h eingebunden werden:

#include <avr/eeprom.h>

Dann funktioniert es auch mit dem EEPROM.

MfG Spess

von Noname (Gast)


Lesenswert?

Oops. :-}

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.