ISP Programmerdaten nach TWI weiterleiten ?

OP #3707286
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
Gast #3707413
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.