Forum: Mikrocontroller und Digitale Elektronik Suche VC++ Quellcode zum flashen des ATMEGA32U4


von Rheingold (Gast)


Lesenswert?

Hallo Zusammen,

ich arbeite zurzeit an einem Programm, dass es mir ermöglicht über USB 
die Daten von der PC-Software an ATmega32U4 zu schicken und wieder zu 
empfangen.

Die Kommunikation zwischen PC und Microcontroller läuft einwandfrei.
Zum programmieren der PC-Software benutze ich Visual Studio 2010 (Visual 
C++) und zum flashen das Programm „Flip 3.4.3“.

Da ich das Flashprogramm „Flip“ in Zukunft nicht mehr benutzen möchte, 
würde ich gerne den Code zum flashen in die PC-Software integrieren.
Wie schon oben erwähnt arbeite ich mit Microsoft Visual Studio 2010 VC++ 
und das flashen soll über die USB-Schnittstelle erfolgen.

Leider habe bis jetzt noch nichts Internet gefunden. Hat jemand so ein 
Programm schon mal in Visual C++ geschrieben?  Oder weiss jemand wo ich 
ein Quellcode finde?

Danke für die Hilfe.

Gruß

Rheingold

von Karl H. (kbuchegg)


Lesenswert?

Rheingold schrieb:
> Hallo Zusammen,
>
> ich arbeite zurzeit an einem Programm, dass es mir ermöglicht über USB
> die Daten von der PC-Software an ATmega32U4 zu schicken und wieder zu
> empfangen.

?
Das hat aber mit Flashen in dem Sinne nicht wirklich was zu tun.

Da geht es doch nur darum eine Datenkommunikation aufzubauen:
* Auf dem PC läuft ein Programm
* Auf dem µC läuft ein Programm
* PC-Programm schickt Daten zum µC. Das Programm des µC legt diese
  Daten irgendwo ab (zb im SRAM) und arbeitet damit.

Beim Flashen geht es um die Fragestellung: Wie kommt eigentlich das 
µC-Programm in den µC?



Es gibt natürlich einen Sonderfall. Den des Bootloaders, bei dem das 
PC-Programm mit einem speziellen kleinen Programmkern im µC 
kommuniziert, dem Daten schickt und der Bootloader beschreibt damit dann 
den Flash. Auf die Art kann man dann auch Programme in den µC flashen, 
die per Serieller Schnittstelle übertragen werden. Das wirft dann 
allerdings wieder das Henne-Ei Problem auf: Wie kommt der Bootloader in 
den µC?


Abgesehen davon, ist es natürlich schon möglich, per ISP den Flash neu 
zu beschreiben, so dass dein Programm als Programmer funktioniert. Nur 
erschliest sich mir der Sinn nicht ganz, solange dein PC-Programm nicht 
als Entwicklungsumgebung zur Erstellung von µC-Programmen funktioniert. 
Und da ist es dann immer noch sehr viel einfacher, externe Programme wie 
zb AvrDude in dem Sinne mitzubenutzen, dass sie die Schmutzarbeit 
erledigen und vom PC-Programm einfach aufgerufen werden. Was dann auch 
den Vorteil hat, dass der Endbenutzer sein 'Lieblingsbrennprogramm' 
einbinden kann, das bei ihm auch funktioniert.

von Rheingold (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:

> Das hat aber mit Flashen in dem Sinne nicht wirklich was zu tun.

> Da geht es doch nur darum eine Datenkommunikation aufzubauen:
> * Auf dem PC läuft ein Programm
> * Auf dem µC läuft ein Programm
> * PC-Programm schickt Daten zum µC. Das Programm des µC legt diese
>   Daten irgendwo ab (zb im SRAM) und arbeitet damit.


Hallo Karl Heinz,

meine Frage war nicht, wie die Daten verschickt oder empfangen werden, 
und auch nicht, wo die Daten ablegt werden.
Und das auf dem PC und auf dem Microcontroller ein Programm läuft ist ja 
wohl klar.

Zu meinen Sachverhalt nochmal.
1. In erster Linie wird der Microconroller ATMega32U4 mit Bootloader 
ausgeliefert. D.h ich brauche nicht einen neuen Bootloader zu 
programmieren. Das ist schon mal gut so!
2. Ich brauche keine Hardware (zB. JTAGICE2 oder Dragon) um den Baustein 
zu flashen. Auch gut!
3. Zum runterladen gibt die kostenlose Software Flip von Atmel mit der 
man den ATmega32 über die USB-Schnittstelle flashen kann. Super!

Meine Frage war eigentlich, ob es einen Quellcode in VC++ gibt mit der 
man solche Microcontroller flashen kann.
Vielleicht haben wir uns da missverstanden!

Gruß Rheingold

von Karl H. (kbuchegg)


Lesenswert?

Rheingold schrieb:

> Meine Frage war eigentlich, ob es einen Quellcode in VC++ gibt mit der
> man solche Microcontroller flashen kann.
> Vielleicht haben wir uns da missverstanden!


Dann sag doch gleich, dass du Informationen darüber benötigst, wie man 
den von Atmel vorgeflashten Bootloader anspricht und red nicht um den 
heißen Brei mit irgendwelchen Datenverbindungen drumherum.

von Rheingold (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:

>Dann sag doch gleich, dass du Informationen darüber benötigst, wie man
>den von Atmel vorgeflashten Bootloader anspricht und red nicht um den
>heißen Brei mit irgendwelchen Datenverbindungen drumherum.

Naja, vielleicht geht es auch etwas freundlicher!
Habe schon im ersten Beitrag geschrieben was ich wollte.

Gruß Rheingold

von Michael L. (michaelx)


Lesenswert?

Rheingold schrieb:
> Karl Heinz Buchegger schrieb:
>
>>Dann sag doch gleich, dass du Informationen darüber benötigst, wie man
>>den von Atmel vorgeflashten Bootloader anspricht und red nicht um den
>>heißen Brei mit irgendwelchen Datenverbindungen drumherum.
>
> Naja, vielleicht geht es auch etwas freundlicher!
> Habe schon im ersten Beitrag geschrieben was ich wollte.
>
> Gruß Rheingold

Wieso fühlst du dich auf deinen Schlips getreten? Der Mann hat doch 
Recht!

Es hätte gereicht, wenn geschrieben hättest: "Ich suche VC++ Quellcode, 
der so wie das Programm Flip von Atmel den Programmcode zum flashen über 
USB an einen ATmega32U4 schickt."

Michael

PS: Prosa zu schreiben, kannst du der Marketing-Abteilung überlassen. 
;-)

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.