Forum: Mikrocontroller und Digitale Elektronik AVR Studio mit AVRisp mkII - erste Schritte


von ChristophK (Gast)


Lesenswert?

AVR-Studio: (bin ich damit hier richtig?)

Ich wollte gerade mein erstes Programm mit AVR Studio und dem AVRISP 
mkII brennen, stutze nur über die Maske AVRISP mkII Program.

Da muß ich einen Flash input hex file und einen EEPROM file angeben.
Ich habe aber nur einen project.hex file.

Entstehen die Files, wenn man entsprechende sections in seinem Code hat, 
automatisch?

Ich habe jetzt mal den Flash-File gebrannt und kriege einen Error, daß 
die Programmierfrequenz 1/4 der clock Frequenz sein soll. Ich habe 10MHz 
clock. Die ISP Freq. war auf 1.049kHz (?) voreingestellt. So ein 
niedriger Wert?

Bei Fuses sehe ich bei

Serial program downloading ein graues Kästchen mit einem kl. roten 
Fragezeichen.

[x]Brown-out detection ist an
[x]Divide Clock by 8 internally ist an
[x]Int. RC Osc. 8MHz; Start-up time:14CK+65ms;... default value

von Thomas (Gast)


Lesenswert?

Dann probier doch erstmal den Programmierclock wesentlich kleiner zu 
machen obs dann geht.

von Holger K. (krulli) Benutzerseite


Lesenswert?

Wenn du das eepromfile nicht hast, dann lass es weg. Es ist kein Zwang 
dieses zu verwenden. Es wird übrigens erst erstellt, wenn Du den EEPROM 
in deinem Projekt verwendet. Wenn nicht, dann wird es erst garnicht 
erstellt.

von Spess53 (Gast)


Lesenswert?

Hi

Wie kommst du darauf, daß du 10MHz hast. Laut deinen Fuses: 
Int.RC-Oscillator 8 MHz, Divide Clock by 8 ergibt 1 MHz.

MfG Spess

von ChristophK (Gast)


Lesenswert?

>Dann probier doch erstmal den Programmierclock wesentlich kleiner zu
>machen obs dann geht.

Die ist doch schon ziemlich klein (1,049 Khz in deutscher Notation, 
1.049 Khz). Die ISP clock ist doch die Programmierclock, oder?

Hab's jetzt mal mit 100Hz versucht, bekomme immer:

Entering programming mode.. OK!
Erasing device.. OK!
Programming FLASH..  OK!
Reading Flash..  FAILED!
Leaving programming mode.. FAILED!

von ChristophK (Gast)


Lesenswert?

>Wie kommst du darauf, daß du 10MHz hast. Laut deinen Fuses:
>Int.RC-Oscillator 8 MHz, Divide Clock by 8 ergibt 1 MHz.

Weil auf meinem Quarz 10.0000 MHz draufsteht :)

von ChristophK (Gast)


Lesenswert?

Schon komisch. Jetzt habe ich auf der Board Registerkarte
ISP Freq. 125.0Khz eingestellt und geschrieben.

Da funktioniert die Programmierung plötzlich:

Erasing device.. OK!
Programming FLASH ..  OK!
Reading FLASH ..   OK!
FLASH contents is euqal to file.. OK
Leaving programming mode.. OK!

von Holger K. (krulli) Benutzerseite


Lesenswert?

ChristophK wrote:
>>Wie kommst du darauf, daß du 10MHz hast. Laut deinen Fuses:
>>Int.RC-Oscillator 8 MHz, Divide Clock by 8 ergibt 1 MHz.
>
> Weil auf meinem Quarz 10.0000 MHz draufsteht :)

aber nicht aktiviert, da:
>[x]Int. RC Osc. 8MHz; Start-up time:14CK+65ms;... default value

von ChristophK (Gast)


Lesenswert?

aber nicht aktiviert, da:
>[x]Int. RC Osc. 8MHz; Start-up time:14CK+65ms;... default value


Aha! Das ist ja interessant. D.h. das muß man also erst aktivieren?
Meinen Code hatte ich ursprünglich für AT90S2313 entwickelt. Sag' nicht, 
daß der auch diese Einstellung per default hatte.

von ChristophK (Gast)


Lesenswert?

Wenn ich den jetzt auf Ext. clock programmiere, ist das dann 
unwiederbringlich (weil Fuse)?

von ChristophK (Gast)


Lesenswert?

Welche Überlegungen liegen der Wahl zugrunde, welche Startup-Time bei 
Ext. Clock verwendet?

von Troll B. (blaubeer)


Lesenswert?

ChristophK wrote:
> Welche Überlegungen liegen der Wahl zugrunde, welche Startup-Time bei
> Ext. Clock verwendet?

Die Anstiegszeit der Betriebsspannung beim Einschalten.
Nimm also die langsamste Startup-Time.

Und wähle die richtige Taktquelle aus, damit haben sich schon viele 
Leute ausgesperrt.

MfG, Blaubär

von Holger K. (krulli) Benutzerseite


Lesenswert?

ChristophK wrote:
> Wenn ich den jetzt auf Ext. clock programmiere, ist das dann
> unwiederbringlich (weil Fuse)?
man kann die Fuse auch wieder zurücksetzen...

von ChristophK (Gast)


Lesenswert?

Jetzt geht gar nix mehr. Nachdem ich die Fuse auf ext. clock - ich habe 
einen 10MHz Quarz dran- und noch einen Firmware upgrade gemacht habe 
(Hw:0x01, FW major: 0x01, FW minor: 0x05), tritt jetzt bei jeder 
Clockrate der Fehler auf, daß meine Clockrate gut kleiner als 1/4 der 
target clock sein soll.

Hab' ich das Ding jetzt geschrottet?

von ChristophK (Gast)


Lesenswert?

Ach Du Sch..

Jetzt tut's mein Programmer nicht mehr. Hatte noch mal auf den Upgrade 
Knopf gedrückt. Dann kam die Meldung, daß kein ISP Programmer im Boot 
mode gefunden werde. Jetzt blinkt nur noch rot/orange. Was tun?

von Tonne auf... (Gast)


Lesenswert?

Programmer rein.

Tonne zu.


Du solltest dich besser mit dem Sammeln von Briefmarken befassen.

von ChristophK (Gast)


Lesenswert?

Nee, ne?
Ich meine, Programmer geschrottet, das kann doch nicht sein?

von Holger K. (krulli) Benutzerseite


Lesenswert?

ChristophK wrote:
> Jetzt geht gar nix mehr. Nachdem ich die Fuse auf ext. clock -
schon Falsch! Ext. crystal hätte es sein müssen
Abhilfe: 
http://www.mikrocontroller.net/articles/AVR_Fuses#Reaktivieren_bei_fehlerhaften_Taktquellen-Fuse-Einstellungen

von ChristophK (Gast)


Lesenswert?

>ChristophK wrote:
>> Jetzt geht gar nix mehr. Nachdem ich die Fuse auf ext. clock -
>schon Falsch! Ext. crystal hätte es sein müssen

Gut, das nützt jetzt eh' nix mehr. Laut Aussage von Autor "Tonne auf 
(Gast)"
sei der mkII jetzt ohnehin geschrottet.

Herstellergarantie?

Oder gibt es eine Möglichkeit, den zu "resetten"?

von let (Gast)


Lesenswert?

Du hast dir vielleicht die Firmware zerschossen. Dann
funktioniert das Update aus dem AvrStudio nicht mehr so ohne
weiteres. Im Handbuch wird beschrieben wie man den Bootloader
des mkII manuell anwerfen kann.

Wegen des uC: Du mußt zwischen 'ext. clock' und 'ext. crystal'
unterscheiden. Wenn du eine externe clock als Taktquelle
ausgewählt hast, mußt du einen externen Oszillator anschließen.
Ein Quarz reicht dann nicht.

Irgendwo hier im Forum ist eine Hilfsschaltung beschrieben mit
der du einen solchen Takt erzeugen kannst. Ich weiß leider nicht
wo das steht.

 - Michael

von ChristophK (Gast)


Lesenswert?

let (gast):
>Du hast dir vielleicht die Firmware zerschossen. Dann
>funktioniert das Update aus dem AvrStudio nicht mehr so ohne
>weiteres. Im Handbuch wird beschrieben wie man den Bootloader
>des mkII manuell anwerfen kann.

Habe die manuelle Apgrade-Prozedur versucht.
USB-Kabel gezogen, Büroklammer zwischen pins 1 u. 3,USB an,
JtagIIUpgrade.exe aus dem Verzeichnis \Programme\Atmel\AVR 
Tools\JtagICEmkII.exe gestartet. Kann nicht verbinden.

:-(

von Troll B. (blaubeer)


Lesenswert?

ChristophK wrote:
> let (gast):
>>Du hast dir vielleicht die Firmware zerschossen. Dann
>>funktioniert das Update aus dem AvrStudio nicht mehr so ohne
>>weiteres. Im Handbuch wird beschrieben wie man den Bootloader
>>des mkII manuell anwerfen kann.
>
> Habe die manuelle Apgrade-Prozedur versucht.
> USB-Kabel gezogen, Büroklammer zwischen pins 1 u. 3,USB an,
> JtagIIUpgrade.exe aus dem Verzeichnis \Programme\Atmel\AVR
> Tools\JtagICEmkII.exe gestartet. Kann nicht verbinden.
>
> :-(

Hast Du schon einen Rechner-Neustart gemacht? Vielleicht hat sich ja nur 
der USB-TreiBÄR aufgehängt?

MfG, BlauBÄR

von Spess53 (Gast)


Lesenswert?

Hi

Hast du einen AVRISP oder JtagICE?

MfG Spess

von Philipp B. (philipp_burch)


Lesenswert?

Du hast doch einen AVRISP mkII, oder? Probier's mal mit der Upgrade.exe 
in AVR Tools\STK500\Upgrade.exe.

von ChristophK (Gast)


Lesenswert?

Ich habe einen AVRISP mkII. Da ich dazu nichts fand in AVR\Tools, nahm 
ich das, was auch mkII in seinem Namen trug.

Werde auch einen Rechner-Neustart gleich probieren.

von let (Gast)


Lesenswert?

Hmm, sobald du mit der Büroklammer dabei gewesen bist, sollte
es mit dem AvrStudio gehen: Tools->AVRISP mkII Upgrade.

Wenn das alles nicht hilft, könntest du noch ein anderes Kabel
probieren. Und wenn das Kabel an einem Hub hängt, versuche es
doch mal direkt am PC.

 - Michael

von ChristophK (Gast)


Lesenswert?

Danke, let, Michael,

det hat jeholfen. LEDS wieder schön grün :)

So jetzt wieder zurück zur Programmierung.

Danke an alle erst mal.

von ChristophK (Gast)


Lesenswert?

Ich weiß nicht, ob ich diesen Faden jetzt weiter beanspruchen soll oder 
einen neuen aufmachen soll. Bleibe ich also erst mal hier.

Problem war, daß ich nach Umprogrammieren der Fuse für Int. vs. ext. 
clock
wohl einen Fehler gemacht habe, denn ich habe einen externen Quarz, 
10.000 MHz (das geht doch, oder? In der Liste der Fuses geht ext. 
crystal doch nur bis 8 MHz.) und ich hatte auf externe Clock 
programmiert.

Vielleicht wechsle ich doch jetzt mal den AVR aus, denn ich kriege 
keinen Modus (ISP Clock), in dem nicht diese Fehlermeldung auftritt. 
Also kann ich weder programmieren noch was Vernünftiges auslesen.

Heureka!

Gerade merke ich beim Rausziehen des alten ATtiny2313, daß ein Beinchen 
nicht richtig im Sockel war.

Sehe gerade, Ext. Crystal CLK 8.0- ... heißt das wohl, also bis Max.
Dann setzt man doch sicher auch den Clock Divider nicht aktiv, oder?

von Holger K. (krulli) Benutzerseite


Lesenswert?

ChristophK wrote:
> Sehe gerade, Ext. Crystal CLK 8.0- ... heißt das wohl, also bis Max.
> Dann setzt man doch sicher auch den Clock Divider nicht aktiv, oder?

Voll konkret korrekt... ;-)
CLKDIV Haken löschen

von Tonne auf... (Gast)


Lesenswert?

Schade.
Ich dacht es wär endlich Ruhe.

von Holger K. (krulli) Benutzerseite


Lesenswert?

Tonne auf... wrote:
> Schade.
> Ich dacht es wär endlich Ruhe.

Zurück in Deine Mülltonne...

von Tonne auf... (Gast)


Lesenswert?

Zurück in eure Bastelgruft.

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.