PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Multiflashing.... AVR flasht AVRs?



Rage_Empire
10.09.2005, 11:19
Hallo,

wollte mal fragen ob es möglich ist, daß bei einem System mit mehreren AVRs eine einmaliges Flahen möglich ist? Ich habe mir das so vorgestellt:

Ein AVR (Master) flasht einen (oder die) anderen über SPI. Der Master holt hierbei die Daten aus nem I2C-EEProm.

Geht das? Was muß man hierbei beachten? Bei einem System von 3 bis 4 avrs wäre dies von vorteil.

Rage_Empire
11.09.2005, 16:17
Geht das nicht, oder warum kann keiner hierzu was nennen?

tobimc
11.09.2005, 16:22
Hi!

Warum soll das nicht gehen?
Du musst halt das Protokoll einhalten.
Und das Programm würd cih über COM oder so herholen.
beim STK500 geht das ja nciht anders.

VLG Tobi

Rage_Empire
11.09.2005, 16:49
Protokoll ist SPI, richtig? Und wenn ich den AVR flashen will, muß der Reset auf 0 gesetzt werden, oder wann weiß der AVR, daß er jetzt geflasht wird?

Hab kein STK500.

tobimc
11.09.2005, 16:57
Hi!

Das kannst du glaub ich im DS nachlesen. Ja, SPI, aber du musst ja noch Adressen und so mitsenden, das ist alles ein bisschen komplexer..

VLG Tobi

Rage_Empire
11.09.2005, 17:04
In einem Intel-Hexfile sind doch die adressen mit drin glaub ich. geht das damit nicht direkt? Oder mit nem Bin-File. SPI-Protokoll ist an sich kein problem.

tobimc
11.09.2005, 17:54
HI!

Wie gesagt, mit dem Flash-Ferfahren kenn ich mich nicht so gut aus.
Du musst für einen AVR schon ein AVR-Hexfile benutzen, das für den AVR assenbliert worden ist.
Wo intel fraufsteht ist Intel drin, und wo Atmel draufsteht ist atmel drin. und INtel ferträgt sich mit Atmel nicht. Ausser Intel hat einen AVR-Assembler.
Aber andere Frage: Warum benutzt du keinen Bootloader? Da könntest du einen AVR sogar über I²C flashen.
Die neuen Avrs können sich selbst programmieren.

VLG Tobi

Rage_Empire
11.09.2005, 18:18
das format .hex ist genormt und nennt sich intelhexfile. bootloader fällt wohl beim einsatz von tinys untern tisch.

tobimc
11.09.2005, 19:00
Hi!

Ist ja wurscht, Hatptsache, es ist AVR-Code drin. (Und nicht Intel...!)

Nein. Es kommt ganz darauf an, welchen Tiny du verwenden willst.
Manche Tinys könnens, andere nicht.

VLG Tobi

Rage_Empire
11.09.2005, 19:15
Ehrlich? Tinys mit Bootloader? Kenne bis jetzt keine, ist mir neu.

tobimc
11.09.2005, 19:28
Hi!

Klar. Der Tiny2313 z.B. Beim 45 und 25 weis ich es nicht, und alle anderen könnens noch nicht. Aber ich galube, die neuen werden das (fast) alle können.

VLG Tobi

Marco78
11.09.2005, 19:53
Das geht bestimmt irgendwie. Kennst du dich mit Assembler aus?
http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/AVR-Programmer.htm
Da flasht ein 2313 einen beliebigen anderen AVR.

Ich kann da nur noch nicht den Vorteil drin erkennen. Aber verkehrt ist das ganze nicht.

Rage_Empire
11.09.2005, 19:59
Ne, mit avr-asm kenne ich mich leider sehr wenig aus. Aber der link ist gut.

tobimc
11.09.2005, 20:03
Hi!

Wie gesagr, rein theoretisch könnte ein Tiny12L einen Mega128 flashen.

VLg Tobi

Marco78
11.09.2005, 20:25
Wie gesagr, rein theoretisch könnte ein Tiny12L einen Mega128 flashen.
Wenigstens hast du das nicht übern Tiny11 behauptet.
Der Tiny12 hat wenigstens Hardware-SPI. Um das muss man sich schon nicht mehr kümmern.
Man muss nur noch mit 1k Flash auskommen und damit die Daten aufnehmen und über SPI zum M128 schicken.

Viel Erfolg dabei!

@Rage, ich habe ja gehofft, du rechtfertigst dich, wozu das gut sein soll, aber naja, musst du ja nicht ;)
Soooo schwer stelle ich mir das nicht vor. Man muss ja nur wissen, was dem anderen AVR gesagt wird, das jetzt ein Programm kommt. Und die Fusebits müssen angepasst werden.
Vielleicht beantwortet Herr Leidinger dir das ja per Email?!

Rage_Empire
12.09.2005, 07:26
Also, ich habe einen Master-AVR....ein Mega128. Der übernimmt in meiner Schaltung sämmtliches management. Dazu sind 2 bis 3 Tiny25, die nebenarbeiten machen, wie zb. Frequenz erzeugen. Das ich jetzt nicht jeden Tiny extra proggen muß wäre es praktisch, wenn der Mega128 die Tinys beim erststart proggen könnte.