Hi, aus Platzgründen bin ich gezwungen eine Platine in SMD-Technik zu löten (da es ein Hobby-Projekt ist wäre es mir sonst egal). Diese soll per USB an einen PC angeschlossen werden, daher wäre es natürlich ideal wenn man die Software auch per USB auf den uC laden könnte. Glücklicherweise gibt es auf dieser Webseite http://www.obdev.at/products/vusb/prjobdev.html sogar zwei Firmwares die ein Programmieren per USB erlauben. Problem nur: wie bekomme ich denn die Firmware auf den uC? Für einen steckbaren uC hätte ich hier noch eine Platine mit Programmiermöglichkeiten. Als uC habe ich vor einen Atmega 48PA zu verwenden, bin da aber flexibel so lange er mit etwas über 12MHz betrieben werden kann und mind. 2Kb Flash Speicher hat. So jetzt zum Kern meines Anliegens: wie bekomme ich denn die USB-Programmier-Software auf den uC? Ich hätte noch einen alten Laptop mit COM-Port und Parallelport, d.h., theoretisch könnte ich mir so ein einfaches Programmierkabel basteln, aber das kann ich ja nicht einfach an einen SMD-Chip anschließen. Wie macht man das denn? Danke & Grüße Thilo P.S. Ich habe von Elektronik nicht all zu viel Ahnung, also eher weniger Vorwissen voraussetzen bei euren Antworten ;-)
Thilo G. schrieb: > So jetzt zum Kern meines Anliegens: wie bekomme ich denn die > USB-Programmier-Software auf den uC? Bist Du schon auf einen AVR-Typ festgenagelt? Ansonsten würde ich dir einen der at90usb* bzw. atmega*u*-Typen empfehlen, die kommen ab Werk mit einem Bootloader, der via USB eine Firmware entgegennehmen kann. Wenn das für Dich keine Lösung ist, musst Du ansonsten die ISP-Pins auf entweder einen Stecker oder Testpunkte herausführen, an die Du dann vorübergehend Käbelchen ansteckst oder anlötest um "initial" einen USB-tauglichen Bootloader einzuspielen (oder direkt die finale Firmware). Viele Grüße, Simon
Hallo, nein, ich bin da prinzipiell flexibel, allerdings sollte der Chip möglichst wenig kosten. Wo kann ich so einen at90usb uC denn kaufen? Habe bisher nur mercateo.de gefunden die welche einzeln verkaufen. Ist der Händler zu empfehlen? Grüße Thilo
Wie ist das bei den AT90USB. Kann man bei dem die Fuses über die Bootloader Schnittstelle verändern? (Ich fürchte nämlich, du wirst um einen richtigen Programmer nicht umhinkommen. Egal wie du es drehst und wendest. Allerdings habe ich die AT90USB noch nicht genauer studiert. Daher die Frage)
Thilo G. schrieb: > Hi, > > aus Platzgründen bin ich gezwungen eine Platine in SMD-Technik zu löten > (da es ein Hobby-Projekt ist wäre es mir sonst egal). Diese soll per USB > an einen PC angeschlossen werden, daher wäre es natürlich ideal wenn man > die Software auch per USB auf den uC laden könnte. Dafür plaziert man auf der Platine einen JTAG- oder ISP-Stecker. Wenn Dir die normalen zu groß sind, gehe eben vom 2.54mm Raster aufs 1.27mm Raster. Oder der Prozessor hat einen Bootloader fest eingebaut. Da fällt mir eben gerade der NXP LPC1343 ein. Wenn bei dem Prozessor ein bestimmter Pin während des Resets auf Gnd liegt, springt er in seinen Bootloader, meldet sich als Massenspeicher an, und dann darfst Du eine 32k große firmware.bin per Zerr&Plumps auf das so entstandene Laufwerk kopieren. Das Teil hat übrigens seine USB-Treiber für HID und für Mass Storage bereits im ROM. Die kannst Du also so benutzen, und das geht auch nicht von den 32k Flash ab, und man kommt sehr schnell zu Ergebnissen. Das Teil kostet im TQFP48 in Einzelstückzahlen bei Farnell 5.21 netto. HVQFN33 ist etwas günstiger und kleiner, aber auch schwerer per Hand zu löten. > Als uC habe ich vor einen Atmega 48PA zu verwenden, bin da aber flexibel > so lange er mit etwas über 12MHz betrieben werden kann und mind. 2Kb > Flash Speicher hat. Schlechte Wahl. Das Teil hat keinen Hardware USB PHY, die erwähnte Software-Bastellösung ist nicht 100% konform zum USB-Standard. Finger wech, sofern nicht ernsthafte andere Gründe einen Einsatz nahelegen. fchk
Thilo G. schrieb: > Habe bisher nur mercateo.de gefunden die welche einzeln verkaufen. Ist > der Händler zu empfehlen? Mercateo ist nur ein Vermittler, kein Händler im eigentlichen Sinne. fchk
Hallo, ich möchte auch noch auf einen konfigurierbaren Bootlader aufmerksam machen: - http://www.fischl.de/avrusbboot/ Den habe ich für eine Schaltung AVR-CDC angepasst und mit einem USBASP ISP Programmer aufgespielt. Dann erst denn den AVR-CDC Code aufgespielt. - http://www.recursion.jp/avrcdc/ Also wenn Du 3 Pins frei hast, wäre das eine Lösung. Sonst könnte man den 1-Wire / 2-Wire Serial Bootlader von Peter Dannegger verwenden und noch einen FT232RL zwischen USB und Serial Bootlader schalten. - Beitrag "Re: Peter Danneggers Bootloader (fastboot) für AVR-GCC-Toolchain" .
Bau dir einen dieser einfachen Programmieradapter für'n Parallelport und dann mach's wie ich. Löte ein paar dünne Kabel an die entsprechenden Pins des Controllers, verbinde die mit dem Programmieradapter und flashe den Controller mit nem Bootloader, anschließend entfernst du die Kabel wieder. Verbraucht kein Platz, fällt nicht auf, setzt nur ne ruhige Hand vorraus.
genau bootloader und 3 pins fuer ne serielle schnittstelle. du brauchst einen USB auf seriell(3.3 bzw 5v) adapter zb hier http://hackaday.com/2010/02/25/nokia-usb-cable-is-usb-to-serial-in-disguise/
Karl Heinz Buchegger schrieb: > Wie ist das bei den AT90USB. > Kann man bei dem die Fuses über die Bootloader Schnittstelle verändern? Nein. > (Ich fürchte nämlich, du wirst um einen richtigen Programmer nicht > umhinkommen. Egal wie du es drehst und wendest. Allerdings habe ich die > AT90USB noch nicht genauer studiert. Daher die Frage) Hm, ich habe schon ein paar Sachen mit at90usb162 und atmega32u2 gemacht und bisher hat es mir immer gereicht: Wenn man beim Start der eigenen Applikation die Clock umstellt und einen Weg vorsieht, wieder in den Bootloader einzusteigen (entweder wieder über die Applikation oder über die Reset+HWB-Kombination) dann kommt man schon ziemlich weit. Viele Grüße, Simon
Hey, das sieht ja echt klasse aus, da kann ich mir ja einiges an Arbeit sparen :-) Da nehme ich ganz klar den, die paar Euro mehr sind die Zeitersparnis auf jeden Fall wert. Und nachdem ich mir eure anderen Vorschläge durchgelesen habe, befürchte ich sowieso, dass ich besser beim ersten Projekt auf eine einfach zu handhabende Lösung zurückgreifen sollte, ganz besonders wenn sie bereits für so kleines Geld zu haben ist. Grüße Thilo
Hallo, Thilo G. schrieb: > Hey, > > das sieht ja echt klasse aus, da kann ich mir ja einiges an Arbeit > sparen :-) > Da nehme ich ganz klar den, die paar Euro mehr sind die Zeitersparnis > auf jeden Fall wert. > > Und nachdem ich mir eure anderen Vorschläge durchgelesen habe, befürchte > ich sowieso, dass ich besser beim ersten Projekt auf eine einfach zu > handhabende Lösung zurückgreifen sollte, ganz besonders wenn sie bereits > für so kleines Geld zu haben ist. > > > > Grüße Thilo Da sind ja einige Postings zwischen meiner Antwort und dem Posting von Frank K. Also ich habe mich für einen uC von NXP entschieden, habe deren Materialien schon angefangen zu durchforsten und das sieht schon fast zu gut, um wahr zu sein, aus :-) Der LPC1343 bietet ein Serial Wire Debug Interface, nach ein wenig Googlen weiß ich zwar, dass es sich um eine Schnittstelle handelt die alle Arm Prozessoren haben, aber nicht was notwendig ist um einen PC damit zu verbinden. Allerdings konnte ich keinen Debugging-Adapter für diese Schnittstelle finden. Wo finde ich sowas denn? Grüße Thilo
Thilo G. schrieb: > Da sind ja einige Postings zwischen meiner Antwort und dem Posting von > Frank K. Also ich habe mich für einen uC von NXP entschieden, habe deren > Materialien schon angefangen zu durchforsten und das sieht schon fast zu > gut, um wahr zu sein, aus :-) > > Der LPC1343 bietet ein Serial Wire Debug Interface, nach ein wenig > Googlen weiß ich zwar, dass es sich um eine Schnittstelle handelt die > alle Arm Prozessoren haben, aber nicht was notwendig ist um einen PC > damit zu verbinden. Allerdings konnte ich keinen Debugging-Adapter für > diese Schnittstelle finden. Wo finde ich sowas denn? ebay #170645458042 ist so ein Teil. In DE kostet das Teil als educational Version (nur freigegeben für gdb) irgendwas um die 70 Euro. fchk
PS: Hier stehen die Pinouts für JTAG/SWI. Du wirst sicher den kleinen 10-Pinner im 1.27mm Raster bevorzugen. Gegenüber dem großen 20-Pin Header ist das ein echter Fortschritt. Den Adapter 20-Pin/2.54mm Raster->10-Pin/1.27mm Raster musst Du Dir selber machen. http://www.keil.com/support/man/docs/ulink2/ulink2_hw_connectors.htm fchk
Hallo, ich habe Gestern selbst auch noch ein bischen gesucht und ebenfalls zwei mögliche Debugger gefunden: http://www.lpctools.com/lpc1343.lpcxpresso.aspx http://elmicro.com/de/cortex-m3-ulink-me.html Ich nehme mal an, dass man den ersten Debugger nur mit der LPXpresso IDE benutzen kann und auch nur mit ausgewählten uCs. Das Handbuch sagt dazu: LPC-LINK JTAG/SWD debugger The LPCXpresso board contains a JTAG/SWD debugger called the “LPC-Link” and a target MCU. LPC-Link is equipped with a 10-pin JTAG header (highlighted on the above image) and it seamlessly connects to the target via USB (the USB interface and other debug features are provided by NXP’s ARM9 based LPC3154 MCU). Cutting the tracks between the LPC-link and the target will make the LPC-Link a stand-alone JTAG debugger. This enables the LPCXpresso platform to be connected to an external target and used to develop for a wide variety of NXP’s Cortex-M0, Cortex-M3, and ARM7/9 based applications. Currently supported microcontroller products include LPC1700, LPC1300, LPC1200, and LPC1100 series and specific members of the LPC2000 and LPC3000 families. Für meine Zwecke würde dieser Debugger völlig ausreichen, aber ich schätze mal der aus dem zweiten Link wäre universeller einsetzbar, kostet aber auch deutlich mehr... Soweit ich das überschaue gibt es keinen universellen Debugger und ich bin am Ende auf einige ausgewählte Familien eingeschränkt, oder? Dann wäre ich mit dem LPCXpresso board doch eigentlich nicht schlecht dran. Beim JTAG-Interface bin ich aktuell noch am überlegen, ob ich auf der Platine nicht einfach nur die SWD-Pins rausführe und dann den JTAG-Adapter auf eine eigene kleine Platine platziere, so liese sich etwas Platz sparen. Aber evtl. passt es auch schon mit auf die Platine, mal sehen. Grüße Thilo
Thilo G. schrieb: > Soweit ich das überschaue gibt es keinen universellen Debugger Da irrst Du glücklicherweise. Für ARMe gibt es die FT2232-basierenden OpenOCD-JTAG-Interfaces, oder auch (sofern nicht kommerziell eingesetzt auch recht günstig) den J-LINK von Segger. Beide können mit den üblichen verbreiteten ARM-Kernen (ARM7TDMI sowie Cortex-M) verwendet werden. Der Rest ist eine Frage des von Dir verwendeten Entwicklungssystemes.
Rufus Τ. Firefly schrieb: > Thilo G. schrieb: >> Soweit ich das überschaue gibt es keinen universellen Debugger > > Da irrst Du glücklicherweise. Für ARMe gibt es die FT2232-basierenden > OpenOCD-JTAG-Interfaces, Die können aber kein SWI/SWD, und gerade bei Bausteinen mit wenig Pins ist das ärgerlich. fchk
Hallo, ich habe mich zu SWD zwar etwas eingelesen, aber ich bin mir nicht sicher, ob der Debugger dafür explizit support anbieten muss, oder ob es genügt, wenn man einen SWD <-> JTAG Adapter baut (die Abbildung der Anschlüsse steht in dem Link zum Keil ulink2). Aber ich gehe mal eher nicht davon aus, sonst hätte man ja keine Probleme einfach immer den kleinen Anschluss von SWD zu verwenden und könnte sich die restlichen Anschlüsse sparen. Warum gibt es den 20-poligen JTAG Anschluss überhaupt? Es werden ja weniger als 10 Pole benutzt. Grüße Thilo P.S. Ratet ihr mir denn zu dem Xpresso Board, oder soll ich doch lieber etwas tiefer in den Geldbeutel greifen und etwas anderes kaufen?
Thilo G. schrieb: > Hallo, > > ich habe mich zu SWD zwar etwas eingelesen, aber ich bin mir nicht > sicher, ob der Debugger dafür explizit support anbieten muss, oder ob es > genügt, wenn man einen SWD <-> JTAG Adapter baut (die Abbildung der > Anschlüsse steht in dem Link zum Keil ulink2). Aber ich gehe mal eher > nicht davon aus, sonst hätte man ja keine Probleme einfach immer den > kleinen Anschluss von SWD zu verwenden und könnte sich die restlichen > Anschlüsse sparen. Die Debugger-Hardware muss SWD explizit können. SWD ist bei den Cortex-Kernen neu hinzugekommen, die älteren ARM7/ARM9 haben es nicht. Ganz alte JTAG-Adapter von Segger können es z.B. nicht (erst ab HW Version 6 oder 7 glaub ich), die ganzen FT2232-Billigadapter können es durch die Bank weg nicht (weil der FTDI-Chip es nicht kann), und auch sonst gilt: nur wo es explizit dabei steht, ist es auch drin. > Warum gibt es den 20-poligen JTAG Anschluss überhaupt? Es werden ja > weniger als 10 Pole benutzt. Die Idee ist, zwischen den Signalleitungen Masseleitungen zu haben, um beispielsweise Übersprechen zwischen den Signalen zu verhindern, und um so das Flachbandkabel länger machen zu können. > P.S. Ratet ihr mir denn zu dem Xpresso Board, oder soll ich doch lieber > etwas tiefer in den Geldbeutel greifen und etwas anderes kaufen? Ich würde beim Chinesen kaufen - siehe den ebay-Link. Billiger bekommst Du das Teil nicht, es kann wirklich alles, d.h. JTAG, SWD, SWO (d.h. Serial Trace Output), es verträgt Targetspannungen von 1.2V bis 3.3V, es funktioniert mit allen wichtigen Softwarepaketen (IAR, KEIL, gcc/gdb mit OpenOCD, RDI-Interface vorhanden,...). Einziger Nachteil für Dich: Du musst Dich etws in Geduld üben. Ich habe bislang mit ébay-Bestellungen in .cn und .hk keine schlechten Erfahrungen gemacht. Auf der anderen Seite hast Du bei Xpresso-Board gleich eine lauffähige Target-Hardware, was auch schon sehr nützlich ist. Vielleicht heißt die Antwort auch nicht "entweder oder", sondern "sowohl als auch". fchk
Frank K. schrieb: > Ich würde beim Chinesen kaufen - siehe den ebay-Link. Billiger bekommst > Du das Teil nicht, es kann wirklich alles, d.h. JTAG, SWD, SWO (d.h. > Serial Trace Output), es verträgt Targetspannungen von 1.2V bis 3.3V, es > funktioniert mit allen wichtigen Softwarepaketen (IAR, KEIL, gcc/gdb mit > OpenOCD, RDI-Interface vorhanden,...). Einziger Nachteil für Dich: Du > musst Dich etws in Geduld üben. > > Ich habe bislang mit ébay-Bestellungen in .cn und .hk keine schlechten > Erfahrungen gemacht. > > Auf der anderen Seite hast Du bei Xpresso-Board gleich eine lauffähige > Target-Hardware, was auch schon sehr nützlich ist. > > Vielleicht heißt die Antwort auch nicht "entweder oder", sondern "sowohl > als auch". > Das klingt vernünftig. Werde mir wegen der Lieferzeiten den Xpresso holen und für zukünftige Projekte kann ich dann den vom Chinesen nehmen, der wird bis dahin dann angekommen sein :-) Grüße Thilo
Hallo, Frank K. schrieb: > PS: Hier stehen die Pinouts für JTAG/SWI. Du wirst sicher den kleinen > 10-Pinner im 1.27mm Raster bevorzugen. Gegenüber dem großen 20-Pin > Header ist das ein echter Fortschritt. Den Adapter 20-Pin/2.54mm > Raster->10-Pin/1.27mm Raster musst Du Dir selber machen. > > http://www.keil.com/support/man/docs/ulink2/ulink2_hw_connectors.htm > Wie heißt denn diese 10-Pin Buchse wie sie für den 10-Poligen ARM JTAG Anschluss verwendet wird? Und wo würde ich ein Kabel von Buchse <-> Buchse bekommen? Grüße Thilo
Thilo G. schrieb: > Wie heißt denn diese 10-Pin Buchse wie sie für den 10-Poligen ARM JTAG > Anschluss verwendet wird? Und wo würde ich ein Kabel von Buchse <-> > Buchse bekommen? Kabel Farnell 1667659 Samtec FFSD-05-* Stecker zB Farnell 1801434 Samtec SHF-105-* fchk
Frank K. schrieb: > die ganzen FT2232-Billigadapter können es > durch die Bank weg nicht (weil der FTDI-Chip es nicht kann) Das ist so pauschal mal falsch. Der ICDI von Luminary Micro/TI ist FT2232 basiert und kann SWD.
Frank K. schrieb: > Thilo G. schrieb: > >> Wie heißt denn diese 10-Pin Buchse wie sie für den 10-Poligen ARM JTAG >> Anschluss verwendet wird? Und wo würde ich ein Kabel von Buchse <-> >> Buchse bekommen? > > Kabel Farnell 1667659 Samtec FFSD-05-* > Stecker zB Farnell 1801434 Samtec SHF-105-* > Die Preise sind ja schon ganz schön unverschämt für das bischen Plastik + Metall. Da bekomm ich den LPC1343 für 5€, aber für ein Sockel aus ein wenig Plastik mit ein paar Metallstiften muss ich über 3€ bezahlen, da stehen Preis und Nutzen ja gar nicht mehr in Relation zueinander :-/
Thilo G. schrieb: >> Kabel Farnell 1667659 Samtec FFSD-05-* >> Stecker zB Farnell 1801434 Samtec SHF-105-* >> > Die Preise sind ja schon ganz schön unverschämt für das bischen Plastik > + Metall. Da bekomm ich den LPC1343 für 5€, aber für ein Sockel aus ein > wenig Plastik mit ein paar Metallstiften muss ich über 3€ bezahlen, da > stehen Preis und Nutzen ja gar nicht mehr in Relation zueinander :-/ Einzelstückzahlen halt. Ansonsten nimm einfach hundsgewöhnliche 1.27 2x5 Stiftleisten ohne Kragen. Dann musst Du eben aufpassen, wierum Du den Stecker aufsteckst. fchk
Hallo, Frank K. schrieb: > Thilo G. schrieb: > >> Wie heißt denn diese 10-Pin Buchse wie sie für den 10-Poligen ARM JTAG >> Anschluss verwendet wird? Und wo würde ich ein Kabel von Buchse <-> >> Buchse bekommen? > > Kabel Farnell 1667659 Samtec FFSD-05-* > Stecker zB Farnell 1801434 Samtec SHF-105-* > gibt es das Kabel auch bei reichelt? Konnte es bisher nirgends finden (ehrlich gesagt finde ich es noch nicht einmal bei Farnell, wenn ich nicht deine Produktbezeichnung verwende) und will wegen einem Kabel nicht extra noch Versandkosten bezahlen müssen. Grüße Thilo
Thilo G. schrieb: >> Kabel Farnell 1667659 Samtec FFSD-05-* >> Stecker zB Farnell 1801434 Samtec SHF-105-* >> > gibt es das Kabel auch bei reichelt? Konnte es bisher nirgends finden > (ehrlich gesagt finde ich es noch nicht einmal bei Farnell, wenn ich > nicht deine Produktbezeichnung verwende) und will wegen einem Kabel > nicht extra noch Versandkosten bezahlen müssen. nein. Du kannst auch bei RS schauen, die versenden versandkostenfrei. fchk
Frank K. schrieb: > nein. > > Du kannst auch bei RS schauen, die versenden versandkostenfrei. > schade. Bei RS gibt es leider nur Kabel ab 2*10 pins
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.