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)
Felix schrieb: > wenn ich einen ISP als auch einen µC habe ? Versteh ich nich .... du sprichst in Rätseln ...
Felix schrieb: > (selber wie auf Arduino UNO) Dann machs doch so, wie auf dem UNO gemacht wird. Du hast doch alles....
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.
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.
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.
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.
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.
> 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.