Forum: Mikrocontroller und Digitale Elektronik wie den 328P zum ARDUINO machen?


von M.Tismer (Gast)


Lesenswert?

Hallo zusammen,

ich habe gerade versucht einen ATMEGA328P aus einem ARDUINO uno
mit Hilfe eines STK500 zu kopieren, es kommt nat. auch was raus wenn
ich den 328 auslese. Schreibe ich die entsprechenden Files dann auf
einen nackten 328 zurück kommt kein funktionierender ARDUINO raus, egal
wie ich es anstelle.
Frage:
Wie kann ich mit dem STK500 einen 328 zum ARDUINO machen?
Ich verwende AVR Studio 4.19 am COM1 und habe auch ARDUINO 1.6.5 an COM3
über USB und habe keine Probleme mit den Schnittstellen.

von holger (Gast)


Lesenswert?

>Wie kann ich mit dem STK500 einen 328 zum ARDUINO machen?

Indem du nicht nur das Flash sondern auch die Fuses kopierst.

von Gerald B. (gerald_b)


Lesenswert?

Und du mußt einen 16 MHz Quarz anschließen. Ohne die Fuses läuft der 328 
mit 8 Mhz intern ;-)

von M.Tismer (Gast)


Lesenswert?

Ich habe alles 1 zu 1 kopiert, auch die Fuses.
Ich nehme den 328 aus den STK und setze den dann in ein AUDUINO Board 
ein, mit Quarz und allem womit das Original auch lief.
Es geht nur nicht.

von Jan H. (janvandenhurk)


Lesenswert?

Dazu braucht man doch nur der Bootloader zu brennen in arduino IDE?
Wenn sie der controller bereits im Arduino board haben?

von M.Tismer (Gast)


Lesenswert?

Also ich stelle im Programm ARDUINO ein:

1. Wekzeuge Platine:  ARDUINO UNO
2. Wekzeuge Port:  COM3
3. Wekzeuge Programmer:  ????
4. Wekzeuge: Bootlader brennen

Das habe ich mit allen Programmern die da sind bereits gemacht, es kam 
nie ein funktionierender 328 heraus, deshalb der Umweg über das STK500.

Wie jetzt weiter?

von Jan H. (janvandenhurk)


Lesenswert?

Ich denk das sie die stk können benützen dann die auch einstellen.
Selbst hab ich das nicht lange her gemacht mit mit avrisp aber das war 
etwas anders. Ich hatte der arduino benützt als programierer "avrisp"
und muszte dan ein anders board einstellen. Ein breadboard mit einzeln 
atmega328p, die kann man einfach selbst definieren.
Aber wenn sie ein völlständig programmierer haben dan kann man die 
benützen dafur.

von Karl H. (kbuchegg)


Lesenswert?

M.Tismer schrieb:

> Das habe ich mit allen Programmern die da sind bereits gemacht, es kam
> nie ein funktionierender 328 heraus, deshalb der Umweg über das STK500.

Das wundert mich nicht.
Denn den Bootloader kann man nicht per serieller Schnittstelle brennen. 
Dazu müsste schon ein Bootloader auf dem AVR sein.

> Wie jetzt weiter?

Im Prinzip müsste das schon funktionieren: den kompletten Flash 
auslesen, den kompletten Flash in den neuen AVR brennen. Das komplette 
EEPROM auslesen, das komplette EEPROM brennen. Dann die Flags 
entsprechend dem Original setzen und das ergibt dann eine 1:1 Kopie

Irgendwas wird da eben in diesem Prozess falsch gelaufen sein. Ist von 
dieser Seite des Monitors aber schwer zu sehen.

: Bearbeitet durch User
von Jan H. (janvandenhurk)


Lesenswert?

Es gibt ein option in Datei menu um mit programmer zu aufladen statt der 
übliche weise mit bootloader. Die mu üssen sie haben.

von Jan H. (janvandenhurk)


Lesenswert?


von Tom (Gast)


Lesenswert?


von Axel S. (a-za-z0-9)


Lesenswert?

Karl H. schrieb:
> M.Tismer schrieb:
>
>> Das habe ich mit allen Programmern die da sind bereits gemacht, es kam
>> nie ein funktionierender 328 heraus, deshalb der Umweg über das STK500.
>
> Das wundert mich nicht.
> Denn den Bootloader kann man nicht per serieller Schnittstelle brennen.

Die Funktion "Bootloader brennen" der Arduino IDE setzt natürlich 
voraus, daß das Arduino-Board an einem ISP-Adapter hängt. Und davon 
werden einige unterstützt.

> Im Prinzip müsste das schon funktionieren: den kompletten Flash
> auslesen, den kompletten Flash in den neuen AVR brennen. Das komplette
> EEPROM auslesen, das komplette EEPROM brennen. Dann die Flags
> entsprechend dem Original setzen und das ergibt dann eine 1:1 Kopie

Der Bootloader ist in den obersten 2K des Flash. Das EEPROM ist 
standardmäßig leer. Bleiben noch die Fuses.

Mein Vorschlag wäre folgendes:

Den "nackten" ATmega328 auf die Arduino-Platine stecken. Den 
ISP-Anschluß auf dem STK500 mit dem ISP-Anschluß des Arduino verbinden. 
In der Arduino-IDE als Programmer das AVR ISP auswählen. Und schließlich 
den Bootloader brennen. Muß funktionieren.

Ich habe es gerade mal mit einem Arduino nano (China Klon) und meinem 
usbasp als ISP-Adapter probiert. Das setzt auch die Fuses und Lockbits.

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.