Forum: Mikrocontroller und Digitale Elektronik Über ISP oder BOOTLOADER flashen?


von Felix (Gast)


Lesenswert?

Hallo, ich bastle gerade an einem Stück Hardware herum, und stehe jetzt 
vor der Wahl der Qual.
Ich möchte auf meiner Hardware einen USB-Anschluss haben, mit dem ich 
einerseits die Firmware neu auf den µC brennen kann, und andererseits 
auch seriell mit dem PC (RS232) kommunizieren können will.
Für die RS232 Schnittstelle würde ich noch einen FT232RL verwenden, um 
auf USB gehen zu können.

Jezt meine eigentliche Frage: Soll ich meinen µC einen Bootloader 
verpassen, damit er sich selbst flashen kann, oder soll ich einen extra 
µC dazubauen, der die Funktion des ISP-Programmers übernimmt.

Meine einzige Vorgabe wäre, nur einen USB zu benutzen, über den ich 
Flashen als auch kommunizieren kann. Ist das möglich, wenn ich einen ISP 
als auch einen µC habe ?

Welche Vor-/Nachteile haben interner Bootloader vs externer ISP ??

Danke schon mal im Voraus,

LG Felix

PS: mein µC ist ein ATmega328p (selber wie auf Arduino UNO)

von Codeleser (Gast)


Lesenswert?

Felix schrieb:
> wenn ich einen ISP als auch einen µC habe ?

Versteh ich nich .... du sprichst in Rätseln ...

von Einer K. (Gast)


Lesenswert?

Felix schrieb:
> (selber wie auf Arduino UNO)
Dann machs doch so, wie auf dem UNO gemacht wird.
Du hast doch alles....

von Sebastian V. (sebi_s)


Lesenswert?

Warum sollte man einen zusätzlichen µc nur zum Flashen verbauen? Das 
macht eigentlich nur bei besonders umfangreichen Bootloadern Sinn, die 
sonst nicht in die Bootloader Section passen würden. Oder bei anderen 
speziellen Anforderungen wie integrierter Debugger auf 
Entwicklungsboards etc.

von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

Felix schrieb:
> Ich möchte auf meiner Hardware einen USB-Anschluss haben, mit dem ich
> einerseits die Firmware neu auf den µC brennen kann, und andererseits
> auch seriell mit dem PC (RS232) kommunizieren können will.
> Für die RS232 Schnittstelle würde ich noch einen FT232RL verwenden, um
> auf USB gehen zu können.
FuckTDI will ich in meiner Umgebung nicht mehr sehen, die Art und Weise, 
wie sie China-Fakes sabotiert haben, ist nicht tolerierbar.

Deine Frage schreit nach einen Arduino-Nano: Ich habe einen solchen in 
ein Gerät eingebaut und den USB auf eine USB-B-Buchse an der Rüchwand 
herausgeführt. Wenn ich es benötige, bekomme ich per virtuellem COM 
Daten geliefert, aber auf dem gleichen Weg kann ich auch neue Software 
einspielen.

> PS: mein µC ist ein ATmega328p (selber wie auf Arduino UNO)
Den Uno kann ich nicht leiden, weil er mechanisch selten dämlich 
aufgebaut ist. Alles, was ich brauche, kann der Nano, gibt es vom 
Chinesen unter 3 Dollar. Die Dinger haben als USB-Interface einen CH340, 
der Treiber "CH341SER" lässt sich finden und funktioniert hier klaglos.

von Tr (Gast)


Lesenswert?

Wenn ich das lese kann ich fast ungehalten werden!
Null Transferleistung, Hardware billig wie es nur geht beim Chinesen 
kaufen und trotzdem meckern wenn man damit auf die Schnauze fliegt.
Glückwunsch, DU bist einer der Gründe warum das hier den Bach runter 
geht.

von Stefan F. (Gast)


Lesenswert?

Bootloader ist für Dich das Richtige.

Die Nachteile des Bootloaders sind:
a) Kann die Fuses nicht ändern - was aber eventuell gerade gewünscht 
ist.
b) Belegt 1-2kB Programmspeicher.

Die Nachteile des ISP Programmers sind:
a) Zusätzliche Hardware
b) Benötigt einen zweiten USB Anschluss oder Hub.

von Jim M. (turboj)


Lesenswert?

Felix schrieb:
> Für die RS232 Schnittstelle würde ich noch einen FT232RL verwenden, um
> auf USB gehen zu können.

Mit einem FT2232 ginge beides gleichzeitig, denn der hat den MPSSE für 
ISP und einen 2. Port für COM.

Man braucht aber für gleichzeitigen Betrieb von COMx und ISP via AVRdude 
den LibUSB-win32 Filtertreiber, den man AFAIK manuell mit Zadig 
installieren muss.

Ein ganz ähnliches Setup hat ein LPC1768 Stick von Hitex hier: Dier 
erste Port ist JTAG, der 2. ist COMx für den Bootloader. Nutzt 
ebendiesen FT2232 Chip.

Mit dem FT232RL hat man IMHO zuwenig Pins für ISP und COM gleichzeitig.

von Stefan F. (Gast)


Lesenswert?

> den man AFAIK manuell mit Zadig

Der aktuelle libusb Treiber lässt sich ganz normal ohne Zustz-Programme 
installieren, wenn man temporär die Installation unsignierter Treiber 
erlaubt. Hier steht, wie das geht: 
http://stefanfrings.de/avr_tools/libusb.html

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.