Forum: Mikrocontroller und Digitale Elektronik Verständnisfrage Firmware STK600


von Dennis D. (Gast)


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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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.

von Dennis D. (Gast)


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?

von Daniel (Gast)


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)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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).

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.