Forum: Mikrocontroller und Digitale Elektronik ISP Programmerdaten nach TWI weiterleiten ?


von Hans-J. A. (modellbahner71)


Lesenswert?

Hallo Leute,
ich würde gerne es hinbekommen die ISP-Flash-Daten,die beim Atmega16 
auch auf den SPI-Eingängen liegen,intern zu verarbeiten und weiterleiten 
zum TWI -Ausgang um sie dann per Bootloader in einem anderen Atmega als 
Update zu benutzen.

Nun die Frage/n die ich mir stelle:
Was muss ich beachten das das ISP-Signal nicht mehr zum Flashen führt 
sondern als SPI-Signal oder besser direkt Pin Abfrage? Und wie sieht es
mit Steuerbefehlen aus ?
 (Auf ein TWI-EEPROM als Zwischenspeicher würde ich gerne verzichten)

oder bin ich auf dem Holzweg und es gibt bessere Möglichkeiten ?

PS: Für die ISP-Programierung benutze ich zur Zeit
    PonyProg200 mit Serial-Adapter

Gruß Hans

von Wolfgang (Gast)


Lesenswert?

Hans-J. A. schrieb:
> oder bin ich auf dem Holzweg und es gibt bessere Möglichkeiten ?

Ich denke, schon.

Warum programmierst du deinen ATmega16 nicht über einen Bootloader, der 
die Daten ggf. gleich an den zweiten anderen ATmega weiter reicht.

von Hans-J. A. (modellbahner71)


Lesenswert?

Hallo Wolfgang,
schön und gut aber wie kommt die Hex-Datei in den ersten Atmega?

von c-hater (Gast)


Lesenswert?

Hans-J. A. schrieb:

> Was muss ich beachten das das ISP-Signal nicht mehr zum Flashen führt

Das ist erstmal einfach: Die Reset-Leitung des AVR muß von der 
Reset-Leitung der ISP-Buchse abgeklemmt werden.

> sondern als SPI-Signal oder besser direkt Pin Abfrage?

Das bringt dir garnix.

Wenn's zwischen den beiden AVRs via TWI laufen soll, braucht der 
Ziel-AVR einen TWI-Bootloader. Der muß aber erstmal auf diesen AVR 
kommen, dazu mußt du ihn also sowieso an einen richtigen Programmer 
anschließen (und auch zum Setzen der Fuses, denn das geht über einen 
Bootloader auch nicht).

Eine Lösung, wie sie dir prinzipell vorschwebt, wäre also erstmal 
sowieso nur für Updates brauchbar, nicht aber für die 
Erstprogrammierung. Aber nun ja, auch eine Lösung, die nur Updates 
erlaubt, kann ja durchaus sehr nützlich sein.

Den "Relais"-AVR wird man dann aber nicht in der Art verwenden, wie du 
das vorsiehst. Das macht die Sache nur unnötig komplex und ist mit 
deinem Wissensstand definitiv nicht beherrschbar.

Wennschon so eine Relais-Lösung, dann via UART und mit einem stark 
vereinfachten Protokoll, was nur das unterstützt, was über Bootloader 
tatsächlich geht, also Lesen und Schreiben von Flash und EEPROM.

Wenn allerdings die TWI-Adresse des Ziels variieren kann (und nur dann 
macht so eine Lösung überhaupt irgendeinen Sinn, zur Verteilung von 
Updates in einem Netz), reicht es auf dem Relais nicht, einfach eine 
UART-TWI-Bridge zu programmieren, du brauchst dann eine zusätzliche 
Protokollschicht zur Anwahl des Zieles.

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.