Verständnisfrage Firmware STK600

Gast #1593567
Lesenswert?

Hallo zusammen,

eine Verständnisfrage zum STK600.
Es ermöglicht ja direkt die Kommunikation (Flashen etc) mit dem AVR 
Studio über USB. Das bedeutet doch, dass auf dem Controller bereits eine 
Art "Firmware" drauf sein muss, welche die Kommunikation über USB 
ermöglicht, sehe ich das richtig?
Wenn ja: Ist diese Firmware/Software dann auf dem internen Flash des 
Controllers oder auf einem externen Flash oder wo genau?
Und wie ist das, wenn ich mein eigenes Programm flashe, besteht dann die 
Gefahr, dass ich diese Standardfirmware überschreibe? Dann würde ja 
keine USB Kommunikation mehr funktionieren oder?
Oder liegt das auf einer Art gesicherter Speicherbereich, der von aussen 
nicht überschreibbar ist?

Wäre für Antworten auf meine vielen Fragen echt dankbar.
Moderator Persönliche Seite #1593615
Lesenswert?

Dennis D. schrieb:

> Das bedeutet doch, dass auf dem Controller bereits eine
> Art "Firmware" drauf sein muss, welche die Kommunikation über USB
> ermöglicht, sehe ich das richtig?

Auf "dem Controller" ist gut. ;-)  Hast du dir mal einen STK600
angeguckt?  Da sind gleich drei Stück davon drauf...  Und völlig
selbstverständlich muss jeder von denen seine Firmware haben,
sonst wären sie ja sinnlos.

> Wenn ja: Ist diese Firmware/Software dann auf dem internen Flash des
> Controllers oder auf einem externen Flash oder wo genau?

Auf dem internen natürlich, dafür ist er ja da.  Externen Flash
benutzt man nur wenn man entweder sehr schnell sein will (FPGAs,
schnelle Prozessoren) und daher aus dem SRAM arbeiten muss, oder
wenn man als IC-Hersteller keinen Flash-Prozess beherrscht.

> Und wie ist das, wenn ich mein eigenes Programm flashe, besteht dann die
> Gefahr, dass ich diese Standardfirmware überschreibe?

Nein, natürlich nicht.

> Oder liegt das auf einer Art gesicherter Speicherbereich, der von aussen
> nicht überschreibbar ist?

Er ist von außen überschreibbar, aber Atmel verrät dir nicht, wie
man das macht.  Über die normalen, dokumentierten Schnittstellen-
befehle geht es nicht.

Selbst wenn man ihn sich überschreiben sollte, bliebe immer noch
der Bootloader erhalten, mit dem man die korrekte Firmware erneut
laden kann.
Gast #1593649
Lesenswert?

Hi,

danke soweit.
Da sind insgesamt 3 Controller? Also inklusive dem "Zielcontroller 
ATMega2560" oder mit dem zusammen dann 4? Was regeln die ganzen 
Controller alles?

Und der Bootloader, das ist doch auch nur ein Stück Firmware irgendwo im 
Flash oder? Sitz der aufm ATMega oder auf den anderen Controllern?
Gast #1593667
Lesenswert?

Es sind 3 + der Zielcontroller
Welcher genau was macht kann ich dir auch nicht sagen.

Bootloader, Firmware etc. von dem Jörg geredet hat befinden sich auf den 
STK600 Controllern.
Auf dem Zielcontroller muss keine Bootloader sind.
Der wird über ISP oder JTAG programmiert

In etwa so:

(Zielcontroller) <-ISP-> (STK600 Controller) <---> (AVR Studio)
Moderator Persönliche Seite #1593726
Lesenswert?

Daniel schrieb:
> Welcher genau was macht kann ich dir auch nicht sagen.

Einer allein ist nur dafür zuständig, die Spannung des Zielcontrollers
zu überwachen...  Damit soll, zusammen mit der Codierung der einzelnen
Boards im Stapel, sichergestellt werden, dass man niemals aus Versehen
einen Zielcontroller, der nur 3,3 V verträgt, mit 5 V beaufschlagen
kann.

Wie sich die anderen beiden die Arbeit teilen, weiß ich auch nicht.
Vermutlich wird ähnlich wie schon bei JTAG ICE mkII und AVR Dragon
einer dafür da sein, die Kommunikation zum Host (PC) zu pflegen,
während sich der andere um den low-level-Kram zum Zielcontroller
kümmert (ich glaube, dass auch mal vorgesehen war, dass man via
JTAG und ggf. PDI damit debuggen kann; weiß nicht, ob das schon
geht).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren