Ich stelle gerade auf folgender Seite fest, daß es für jeden Mikrocontroller ein anderes JTAG Programmiergerät gibt. http://www.mikrocontroller.net/articles/JTAG Meine Frage, wieso gibt's es eigentlich kein Universal JTAG Programmiergerät, daß alle µC anspricht? Ich selbst will nur einen "AT MEGA8 AVR" und "MSP430 F2012" programmieren können und suche nun ein JTAG Programmiergerät zum Anschluß an meinen PC. Welches soll ich denn jetzt da nehmen? Ich kenne mich hier leider nicht besonders gut aus. Was mir aber wichtig wäre, ist, daß es auf PC Seite an den USB Anschluß angeschlossen werden kann und unter Linux mit Open Source Software läuft. Das Gerät sollte gut erhältlich oder nachbaubar sein. Und beim Preis so günstig wie möglich sein. Ich bin noch ganz am Anfang bezügl. dem Thema Microcontrollern, habe im der Studium schon einen programmiert, aber möchte mir kein Testboard kaufen, weil die mir erstens zu teuer sind und zweitens ich so einen einfachen µC selber in eine selbst ausgedachte Schaltung integrieren will. Mit Elektronik ansich (analog/digital) kenne ich mich nämlich schon etwas aus, so daß ich mir Zutraue auch einen einzeln gekauften µC Baustein mit einer eigenen Schaltung zum Laufen zu bringen. Ein Testboard brauche ich also nicht.
Das ist doch kein Problem: Dein Atmega 8 hat kein JTAG-Interface - also brauchst du nur einen JTAG-Adapter für deinen MSP... Atmega 8 wird via ISP geflasht... Einfache Testboards für die Atmegas gibt es ab 25€... und das ist dir zu viel? Schonmal geschaut was ein ordentlicher JTAG-Adapter kostet?
Talad schrieb: > Meine Frage, wieso gibt's es eigentlich kein Universal JTAG > Programmiergerät, daß alle µC anspricht? JTAG definiert die Hardwareschnittstelle. Was da drüber läuft ist weit weniger definiert. Und der Welt-Diktator, der vorschreiben könnte, dass alle ausschliesslich die JTAG-Box von Segger zu verwenden hätten, der ist noch nicht erschaffen. Also funktioniert die Software von Atmel nur mit der Atmel-Box, die von Kail nur mit den Box von ... usw.
Die physikalische JTAG Schnittstelle ist nur ein Teil von JTAG. Mindestens genauso wichtig ist der Softwareteil: Was bedeutet welcher JTAG Befehl... Und da können die Hersteller ihre eigenen kleinen Geschäftsgeheimnisse unterbringen. Fürs Selberbauen eines Multitarget-Programmers wären im Moment Versaloon (AVR ISP oder JTAG programmieren OK, JTAG debuggen???) oder GoodFET (AVR nur ISP programmieren, experimentell) meine Favoriten. Aber bisher habe ich mir das noch nicht zugetraut.
Moin, wie schon erwähnt ist JTAG die Hardwareseite. die JTAG fähigen Bausteine befinden sich in einer Reihe (vom JTAG aus gesehen) und es werden Daten durch diese Kette geschoben die dann wiederum für das Innenleben der ICs bestimmt ist oder was zu deren Pins hinausgeht (und natürlich auch die andere Richtung). Diese Geschichte kann man mit einem simplen Interface am LPT Anschluss erledigen oder man kann vieeele K€ für ein Interface ausgeben. Die Unterschiede sind dann z.B. in der Geschwindigkeit vom Schiebetakt zu finden, aber nicht nur. Aber ohne Software läuft das alles nicht und die sagt schliesslich dem Interface was es wie zu tun hat. Da gibt es einfache Geschichten wie zum Debuggen oder Flashen aus einer IDE heraus oder eben komplexere Umgebungen in denen Prüf/Testabläufe generiert und geschrieben werden. JTAG eignet sich hervorragend für die Elektronikproduktion und den Test/Inbetriebnahme von Leiterplatten. Ein Beispiel ist das, was bei www.goepel.com gemacht wird. Das ist dann weit aus mehr als einfach nur zu Flashen. Ich hoffe, Dich jetzt hier nicht vollgelabert zu haben, sondern etwas Licht ins Dunkel gebracht zu haben. :-) Johannes
Talad schrieb: > Meine Frage, wieso gibt's es eigentlich kein Universal JTAG > > Programmiergerät, daß alle µC anspricht? JTAG ist ein standardisiertes Verfahren zum Auslesen von Registern eines IC. Das nennt sich Boundary Scan. Dazu sind bestimmte Register im Standard definiert. Die Register zum Programmieren und Debuggen sind Zusatzregister, die keinem Standard entsprechen, sodaß jeder Hersteller sein eigenes Süppchen kocht. mfg.
Daniel F. schrieb: > Das ist doch kein Problem: Dein Atmega 8 hat kein JTAG-Interface - also > brauchst du nur einen JTAG-Adapter für deinen MSP... Ok, hat jemand eine Empfehlung für einen JTAG Adapter mit USB Anschluß und Linux kompatibilität? > Atmega 8 wird via ISP geflasht... Gut, dann programmier ich die beiden Geräte eben mit zwei unterschiedlichen Standards. Was würdet ihr mir als ISP Adapter empfehlen? Gleiche Bedingungen wie oben: USB + Linux kompatibel ist wichtig. > Einfache Testboards für die Atmegas gibt es ab 25€... und das ist dir zu > viel? Schonmal geschaut was ein ordentlicher JTAG-Adapter kostet? Ein AT Mega 8 Chip kostet nur 2,35 € bei Reichelt und die restlichen Kosten für diverse Bauteile zähle ich ja sowieso zu meinen geplanten Elektronikprojekten. Sprich, ich will eigentlich nicht Programmieren üben auf einem Mega8, sondern schon ein konkretes Problem lösen bzw. ein Projekt realisieren. Die Testboards haben nen Haufen Zeug das ich für meine eigentliche Problemstellung nicht brauche und wenn ich dann mein eigenes Elektronikprojekt realisieren will kann ich das sowieso nicht auf ein Testboard aufbauen. Denn wenn ich letzteres machen würde, dann kann ich auch gleich das Eleketronikprojekt so realisieren, daß es von meinem PC aus angesteuert wird.
Talad schrieb: > Ok, hat jemand eine Empfehlung für einen JTAG Adapter mit USB Anschluß > und Linux kompatibilität? Beim MSP430 gibt es nicht so viele Möglichkeiten, entweder das Original von TI (MSP-FET430UIF) oder dessen Nachbau von Olimex.
Rufus Τ. Firefly schrieb: > oder dessen Nachbau von Olimex Oder , aber halt parallel :\\, für 2 euro nachbauen.
Rufus Τ. Firefly schrieb: > Talad schrieb: >> Ok, hat jemand eine Empfehlung für einen JTAG Adapter mit USB Anschluß >> und Linux kompatibilität? > > Beim MSP430 gibt es nicht so viele Möglichkeiten, entweder das Original > von TI (MSP-FET430UIF) oder dessen Nachbau von Olimex. Die Dinger sind ja schweineteuer. :shocked: Reicht auch dieses da: MSP 430 USB-Stick Entwicklungstool Texas Instruments eZ430-F2013 Das kostet bei Conrad nur 29,63 €. Best.-Nr.: 170285 - U1 http://www.conrad.de/ce/ProductDetail.html?hk=WW2&utm_source=zanox&utm_medium=deeplink&utm_content=dl_article&utm_campaign=tracking&insert=U1&WT.mc_id=epro&productcode=170285 Ansonsten sind bei Conrad mehrere aufgelistet: http://produkt.conrad.de/45973183/emulator-msp-fet-430-uif.htm Wo ist der Unterschied zwischen einem Emulator und einem Entwicklungstool?
Talad schrieb: > Ok, hat jemand eine Empfehlung für einen JTAG Adapter mit USB Anschluß > und Linux kompatibilität? Für ATmega8 & Co: AVR Dragon. Programmer (für alle möglichen AVR-Programmierprotokolle) und Debugger in einem. Viel billiger als das bauen das nichtmal die Chinesen. ;-)
Talad schrieb: > Daniel F. schrieb: >> Das ist doch kein Problem: Dein Atmega 8 hat kein JTAG-Interface - also >> brauchst du nur einen JTAG-Adapter für deinen MSP... > > Ok, hat jemand eine Empfehlung für einen JTAG Adapter mit USB Anschluß > und Linux kompatibilität? Für Linux nimmst Du am besten das Original von TI: http://www.conrad.de/ce/de/product/170258/EMULATOR-MSP-FET-430-UIF Der hier von Olimex http://www.olimex.com/dev/msp-jtag-iso.html soll wohl auch gehen, die anderen sind Windows-only. > Was würdet ihr mir als ISP Adapter empfehlen? > Gleiche Bedingungen wie oben: USB + Linux kompatibel ist wichtig. Auch hier ist das Original vom Hersteller erste Wahl: http://www.reichelt.de/?ACTION=3;ARTICLE=45040;PROVID=2402 fchk
Ferdi schrieb: > Rufus Τ. Firefly schrieb: >> oder dessen Nachbau von Olimex > > Oder , aber halt parallel :\\, für 2 euro nachbauen. Nicht ratsam, weil das Ding unter anderem kein Spy-Bi-Wire unterstützt und obendrein eine tote Schnittstelle voraussetzt. Außerdem war explizit USB gefordert. Talad schrieb: > Die Dinger sind ja schweineteuer. :shocked: Das ist nicht "schweineteuer", oder Du hast irgendeinen Preis gesehen, der sehr deutlich über 100 EUR liegt. Sieh Dir einfach mal Preise* für JTAG-Adapter für AVR an, die Atmel selbst verkauft. > Reicht auch dieses da: > MSP 430 USB-Stick Entwicklungstool Texas Instruments eZ430-F2013 Das ist eine abgespeckte Ausführung, die nur das Spy-Bi-Wire-Interface unterstützt, was gerade ältere MSP430-Varianten ausschließt. Günstiger ist da übrigens das Launchpad, das wurde eine Zeit lang für 4.30 USD verkauft, das enthält ein vergleichbares Spy-Bi-Wire-Interface. *) In der Apotheke mit dem blauen 'C', aber vor dem Anklicken des Links unbedingt hinsetzen! http://www.conrad.de/ce/de/product/154135/PROGRAMMER-ATJTAGICE-MKII/SHOP_AREA_29142&promotionareaSearchDetail=005
Rufus Τ. Firefly schrieb: > *) In der Apotheke mit dem blauen 'C', aber vor dem Anklicken des Links > unbedingt hinsetzen! > > http://www.conrad.de/ce/de/product/154135/PROGRAMMER-ATJTAGICE-MKII/SHOP_AREA_29142&promotionareaSearchDetail=005 Peanuts! ;-) http://www.eproo.de/index.php?module=artikel&action=artikel&id=37 !
Rufus Τ. Firefly schrieb: > Das ist nicht "schweineteuer", oder Du hast irgendeinen Preis gesehen, > der sehr deutlich über 100 EUR liegt. > Sieh Dir einfach mal Preise* für JTAG-Adapter für AVR an, die Atmel > selbst verkauft. Hallo, ihr lebt doch in goldenen Zeiten und wisst es nicht - meine erste Entwicklungsausrüstung mit einem Hitex-In-Circuit-Emulator und einem Tektronik Logic Analyser hatte etwa den Gegenwert eines Einfamilienhauses. Gruss Reinhard
Mir erzählst Du da nichts neues, ich erinnere mich auch an die Zeit, in der man als Entwickler von so etwas träumte, es aber nicht verwenden konnte, weil in der Firma einfach nicht genug Geld dafür vorhanden war.
Jörg Wunsch schrieb: >> Ok, hat jemand eine Empfehlung für einen JTAG Adapter mit USB Anschluß >> und Linux kompatibilität? > > Für ATmega8 & Co: AVR Dragon. Programmer (für alle möglichen > AVR-Programmierprotokolle) und Debugger in einem. Viel billiger als > das bauen das nichtmal die Chinesen. ;-) Der AVR Dragon sieht in der Tat sehr gut, der Preis ist noch halbwegs akzeptabel und die Möglichkeiten bezügl. der großen Auswahl an unterstützen AVR µC ist auch sehr gut. Frank K. schrieb:> > Für Linux nimmst Du am besten das Original von TI: > http://www.conrad.de/ce/de/product/170258/EMULATOR-MSP-FET-430-UIF > > Der hier von Olimex > http://www.olimex.com/dev/msp-jtag-iso.html > soll wohl auch gehen, die anderen sind Windows-only. Die sind beide leider für mich zu teuer. Ich will ja erstmal ein bischen in die Materie reinschnuppern (allerdings mit meinen eigenen Schaltungen) und dann rentiert sich so ein 100 € Programmiergerät noch nicht. Auch ist der MSP430 etwas günstiger als ein ATMEGA 8, aber wenn ich für das Programmiergerät so viel bezahlen muß, dann rechnet sich der niedrigere Preis pro Chip des MSP430 nie und nimmer. Da müßte ich schon 100 Stück verbauen, damit das einigermaßen wirtschaftlich wird und die AVR Familie bietet ja eigentlich mehr als genug Möglichkeiten, so daß ich den MSP430 gar nicht mehr brauche. Oder hat der MSP430 außer dessen geringer Preis und der Tatsache daß ich mit diesem, im Gegensatz zu AVR basierten Chips, schon gearbeitet habe noch Vorteile gegen die AVR basierte Chipfamilie? Wenn ja, dann käme für den MSP430 eigentlich nur eine Low Cost Lösung in Frage. Wie sieht es hier beim MSP430 also bezügl. Parallelport basierter Programmiergeräte aus? > Auch hier ist das Original vom Hersteller erste Wahl: > http://www.reichelt.de/?ACTION=3;ARTICLE=45040;PROVID=2402 Worin unterscheidet sich das AVR Programming Tool AT AVR ISP2 mit USB im Vergleich zum AVR Dragon? Abgesehen davon, daß der AVR Dragon etwa 20 € teurer ist?
>mit einem Hitex-In-Circuit-Emulator und einem >Tektronik Logic Analyser hatte etwa den Gegenwert eines >Einfamilienhauses. Die Zeiten kenne ich noch; habe mich fürs Haus entschieden und nicht bereut ;-) Die elektronischen Probleme habe ich dann mit dem Kopf gelöst.
Ich stelle gerade fest, vom Olimex gibt es auch noch eine Low Cost JTAG USB Variante für den MSP430: MSP430-JTAG-TINY http://www.olimex.com/dev/msp-jtag-tiny.html Der kostet mit ca. 55 € nur die Hälfte vom MSP430-JTAG-ISO. Wäre der auch empfehlenswert?
Talad schrieb: > Wenn ja, dann käme für den MSP430 eigentlich nur eine Low Cost Lösung in > Frage. Wie sieht es hier beim MSP430 also bezügl. Parallelport basierter > Programmiergeräte aus? Eine mögliche Low-Cost Lösung für/mit MSP430 ist die TI Chronos um rd 50$. Brustgurt zur Pulsmessung (wer´s braucht) ist nochmal rd 50EUR. Da ist alles dabei, was man zum Debuggen braucht.
Ohne mir alles durchgelesen zu haben: Prinzipiell würde das schon Sinn machen, wenn der Programmieralgorithmus auf dem Computer läuft und das Programmiergerät nur noch die Daten, die man ihm per USB schickt stupf auf der JTAG Schnittstelle ausgibt. Wirklich universell (und teuer) sind die GALEPs
Hi >Worin unterscheidet sich das AVR Programming Tool AT AVR ISP2 mit USB im >Vergleich zum AVR Dragon? >Abgesehen davon, daß der AVR Dragon etwa 20 € teurer ist? AVR ISP MKII : ISP AVR Dragon : ISP, HV-Programmierung, JTAG Debugging MfG Spess
Talad schrieb: > Frank K. schrieb:> >> Für Linux nimmst Du am besten das Original von TI: >> http://www.conrad.de/ce/de/product/170258/EMULATOR-MSP-FET-430-UIF >> >> Der hier von Olimex >> http://www.olimex.com/dev/msp-jtag-iso.html >> soll wohl auch gehen, die anderen sind Windows-only. > > Die sind beide leider für mich zu teuer. > Ich will ja erstmal ein bischen in die Materie reinschnuppern > (allerdings mit meinen eigenen Schaltungen) und dann rentiert sich so > ein 100 € Programmiergerät noch nicht. > > Auch ist der MSP430 etwas günstiger als ein ATMEGA 8, aber wenn ich für > das Programmiergerät so viel bezahlen muß, dann rechnet sich der > niedrigere Preis pro Chip des MSP430 nie und nimmer. > > Da müßte ich schon 100 Stück verbauen, damit das einigermaßen > wirtschaftlich wird und die AVR Familie bietet ja eigentlich mehr als > genug Möglichkeiten, so daß ich den MSP430 gar nicht mehr brauche. > > Oder hat der MSP430 außer dessen geringer Preis und der Tatsache daß ich > mit diesem, im Gegensatz zu AVR basierten Chips, schon gearbeitet habe > noch Vorteile gegen die AVR basierte Chipfamilie? Planst Du batteriebetriebene Geräte zu bauen? Brauchst Du VIEL 16 Bit Arithmetik (der MSP430 ist intern 16 Bittig, der AVR nur 8-bittig) Brauchst Du unbedingt DMA? Wenn Du eines davon bejahen kannst, dann greife zum MSP430, ansonsten lass es bleiben. > Wenn ja, dann käme für den MSP430 eigentlich nur eine Low Cost Lösung in > Frage. Wie sieht es hier beim MSP430 also bezügl. Parallelport basierter > Programmiergeräte aus? Mit Linux? Ähhhm... >> Auch hier ist das Original vom Hersteller erste Wahl: >> http://www.reichelt.de/?ACTION=3;ARTICLE=45040;PROVID=2402 > > Worin unterscheidet sich das AVR Programming Tool AT AVR ISP2 mit USB im > Vergleich zum AVR Dragon? > Abgesehen davon, daß der AVR Dragon etwa 20 € teurer ist? Der AVRISP mkii kann NUR ISP und PDI-Programmierung, d.h. Du kannst nur Deine Programme reinladen und dann schauen, ob es geht. Debuggen geht über ISP nicht, über PDI ja, aber nicht mit diesem Teil. Der Dragon kann auch JTAG und ist auch als Debugger für JTAG und DebugWire einsetzbar. PDI kann der Dragon nicht, aber das findest Du auch nur bei den XMegas. Der Mega8 hat nur ISP, der neuere und pinkompatible Mega88 kann auch DebugWire und hat mehr Möglichkeiten und ist etwas schneller und im Preis etwa gleich. fchk
Talad schrieb: > Ich stelle gerade fest, vom Olimex gibt es auch noch eine Low Cost JTAG > USB Variante für den MSP430: > > MSP430-JTAG-TINY > http://www.olimex.com/dev/msp-jtag-tiny.html > > Der kostet mit ca. 55 € nur die Hälfte vom MSP430-JTAG-ISO. > > > Wäre der auch empfehlenswert? Wenn Du Windows hättest, ja. Mit Linux geht der nicht, da gehen nur die beiden Typen, die ich geschrieben habe, keine anderen. Tja, 80 Euro für ein Windows... fchk
Frank K. schrieb: > Talad schrieb: >> Ich stelle gerade fest, vom Olimex gibt es auch noch eine Low Cost JTAG >> USB Variante für den MSP430: >> >> MSP430-JTAG-TINY >> http://www.olimex.com/dev/msp-jtag-tiny.html >> >> Der kostet mit ca. 55 € nur die Hälfte vom MSP430-JTAG-ISO. >> >> >> Wäre der auch empfehlenswert? > > Wenn Du Windows hättest, ja. Mit Linux geht der nicht, da gehen nur die > beiden Typen, die ich geschrieben habe, keine anderen. > > Tja, 80 Euro für ein Windows... > > fchk Du kennst mspdebug nicht; Auszug aus der Manpage
1 | DRIVERS |
2 | A driver name must be specified on the command line for MSPDebug to connect to. Valid driver names are listed here. |
3 | |
4 | rf2500 Connect to an eZ430-RF2500 device. Only USB connection is supported. |
5 | |
6 | olimex Connect to an Olimex MSP-JTAG-TINY device. Both USB and tty access are supported. |
7 | |
8 | olimex-iso |
9 | Connect to an Olimex MSP-JTAG-ISO device. Only tty access is supported. |
10 | |
11 | sim [..] |
12 | |
13 | uif Connect to an eZ430-F2013 or a FET430UIF device. The device argument should be the filename of the appropriate tty device. The TI serial converter chips on these devices are supported by |
14 | newer versions of the Linux kernel, and should appear as /dev/ttyXX when attached. |
15 | |
16 | USB connection is not supported for this driver. |
17 | |
18 | uif-bsl |
19 | Connect to the bootloader on a FET430UIF device[...] |
20 | flash-bsl |
21 | Connect to the built-in bootloader in MSP430 devices with flash bootloader memory. [...] |
Wenns um den MSP430 und nur ums Programmieren geht: die MSP430 lassen sich sehr gut ueber den eingebauten seriellen Bootloader programmieren. Funktioniert einwandfrei ueber USB-RS232 Wandler und man braucht sonst nichts.
Frank K. schrieb: > Planst Du batteriebetriebene Geräte zu bauen? Ja, aber die bekommen einen Ausschalter und müssen nicht dauerhaft im Standby laufen, daher ist der Stromverbrauch nicht so gravierend. > Brauchst Du VIEL 16 Bit Arithmetik (der MSP430 ist intern 16 Bittig, der > AVR nur 8-bittig) > Brauchst Du unbedingt DMA? > > Wenn Du eines davon bejahen kannst, dann greife zum MSP430, ansonsten > lass es bleiben. Ich brauche vor allem einen guten A/DC. Beide haben einen 10 bittigen ADC, wobei der AVR je nach Chiptyp mehrere davon hat. Aber welcher hat die bessere Genauigkeit? 10 Bit haben hier beide, aber welcher hat die engeren Toleranzen, das wäre für mich noch wichtig? DMA werde ich kaum brauchen, denn die ganzen Berechnungen erledigt eh der µC und die Peripherie is eher passiv. 16 Bit Arithmetik fände ich gut, es macht einiges einfacher, ist aber nicht zwingend. Wirklich wichtig ist also wirklich der ADC. > >> Wenn ja, dann käme für den MSP430 eigentlich nur eine Low Cost Lösung in >> Frage. Wie sieht es hier beim MSP430 also bezügl. Parallelport basierter >> Programmiergeräte aus? > > Mit Linux? Ähhhm... Ja. Es wäre schon gut wenn ich unter Linux entwickeln und den µC von dort aus programmieren könnte. > Der AVRISP mkii kann NUR ISP und PDI-Programmierung, d.h. Du kannst nur > Deine Programme reinladen und dann schauen, ob es geht. Debuggen geht > über ISP nicht, über PDI ja, aber nicht mit diesem Teil. > > Der Dragon kann auch JTAG und ist auch als Debugger für JTAG und > DebugWire einsetzbar. PDI kann der Dragon nicht, aber das findest Du > auch nur bei den XMegas. Danke für die Antwort. > Der Mega8 hat nur ISP, der neuere und pinkompatible Mega88 kann auch > DebugWire und hat mehr Möglichkeiten und ist etwas schneller und im > Preis etwa gleich. Im S-DIL Gehäuse kostet der ATMEGA 88-20 bei reichelt 3,55 €. Etwas günstiger wird es erst als TQFP Gehäuse für 2,95 €, aber das wollte ich vermeiden. Der ATMEGA 8L8 kostet nur 2,35 €. Aber trotzdem danke für den Hinweis.
Marko B. schrieb: > Wenns um den MSP430 und nur ums Programmieren geht: die MSP430 lassen > sich sehr gut ueber den eingebauten seriellen Bootloader programmieren. > Funktioniert einwandfrei ueber USB-RS232 Wandler und man braucht sonst > nichts. Was für ein USB-RS232 Wandler wäre das? Wenn ich damit das viel Geld spare, dann komme ich auch ohne Debugging Option aus. Im Studium habe ich z.B. auch den kompletten C Code direkt auf meinem x86 Computer als x86 Binary getestet und dann nur noch Hardwarespezifische Dinge an die MSP430 angepaßt.
Talad schrieb: > Marko B. schrieb: >> Wenns um den MSP430 und nur ums Programmieren geht: die MSP430 lassen >> sich sehr gut ueber den eingebauten seriellen Bootloader programmieren. >> Funktioniert einwandfrei ueber USB-RS232 Wandler und man braucht sonst >> nichts. > > Was für ein USB-RS232 Wandler wäre das? Vollkommen beliebig, solange er RS232 mit 9600bps macht. Wenn Du noch einen PC mit RS232 Port hast, dann kannst Du natuerlich auch den benutzen. Er muss allerdings RTS und DTR haben, um die Aktivierungssequenz fuer den Bootloader zu toggeln. Ich hab ein Handy-Datenkabel zerlegt. Der darin enthaltene Wandler hat einen integrierten 3,3V Spannungsregler und liefert auch 3,3V Spannungspegel - perfekt fuer den MSP430. Damit kann man gleichzeitig noch die Schaltung versorgen und braucht sonst gar nichts. Der Bootloader unterstuetzt uebrigens das Schreiben von Daten ins RAM und das direkte Anspringen einer Adresse. Damit kann man kleine Programme direkt ins RAM laden und von dort ausfuehren. Ich hab mir eine Python-Lib und eine Shell geschrieben, um mit dem Bootloader zu kommunizieren. > Wenn ich damit das viel Geld spare, dann komme ich auch ohne Debugging > Option aus. > Im Studium habe ich z.B. auch den kompletten C Code direkt auf meinem > x86 Computer als x86 Binary getestet und dann nur noch > Hardwarespezifische Dinge an die MSP430 angepaßt. Real Men(tm) debug with printf().
Talad schrieb: > Ich brauche vor allem einen guten A/DC. > Beide haben einen 10 bittigen ADC, wobei der AVR je nach Chiptyp mehrere > davon hat. Es gibt nicht "Den MSP430", sondern ziemlich viele unterschiedliche Modelle, die durchaus unterschiedliche ADCs haben. Es gibt auch 12- und 16-Bit-Wandler in MSP430-Varianten. Wenn Du ein Familienmitglied mit SpyBiWire-Interface nutzt, dann kannst Du das sehr kostengünstige LaunchPad als Programmier- und Debuginterface verwenden. http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29?DCMP=launchpad&HQS=Other+OT+launchpadwiki Zwar ist das Launchpad primär dafür vorgesehen, die sehr einfach strukturierten MSP430G-Varianten zu verwenden, es lässt sich aber auch mit "Dickschiffen" wie dem 'F5438 verwenden. Talad schrieb: > Wenn ich damit das viel Geld spare, dann komme ich auch ohne Debugging > Option aus. > Im Studium habe ich z.B. auch den kompletten C Code direkt auf meinem > x86 Computer als x86 Binary getestet und dann nur noch > Hardwarespezifische Dinge an die MSP430 angepaßt. Vergiss das am besten gleich wieder. Das geht bei µC-Entwicklung nicht, weil gerade die Anpassung der hardwarespezifischen Dinge eine anständige Debugunterstützung erfordert. Was Du da an einmal ausgegebenem Geld sparst, wirfst Du duch sehr viel Zeitaufwand bei der Fehlersuche wieder zum Fenster hinaus. Selbst wenn Du Deine Arbeitsstunde mit nur 1 EUR bewertest, lohnt die Investition in ein anständiges Debug-Interface. Der vollwertige MSP-FET430UIF ist die schickere Variante, aber das Launchpad reicht auch, wenn Du mit SpyBiWire auskommst (was halt ältere MSP430-Varianten wie z.B. 'F1611 ausschließt).
Der MSP430 hat aber im Gegensatz zu den AVRs eine vernünftige Debugunterstützung schon in Hardware eingebaut. Das debugginginterface ist bei den MSP430 um einiges leistungsfähiger als bei AVR
Tobias Korrmann schrieb: > Der MSP430 hat aber im Gegensatz zu den AVRs eine vernünftige > Debugunterstützung schon in Hardware eingebaut. Das halte ich in dieser Form für eine reichlich gewagte Aussage.
Was nur weil ein Großteil der User AVRs verwendet? Ich habe mit MSPs angefangen. Jetzt musste ich in der Firma mich mit einem AVR beschäftigen genauer einem AT90CAN128. Wenn ich dort die Debugfähigkeiten der beiden Prozessorarchitekturen gegenüberstelle muss ich sagen das der MSP430 sich um Längen besser debuggen lässt. Das fängt schon damit an das ich, wenn ich einen Breakpunkt setzen möchte, erst den Prozessor anhalten muss bevor ich den Breakpunkt setzen kann. Weiter gehts damit das ich die Optimierungseinstellungen auf O0 setzen muss damit ich beim Debuggen auch wirklich sehe was er macht. Zu Anfang (Debuseinstellungen auf Os dann auf O2 und O3) Ist der Debugger kreutz und Quer durch meinen Code gesprungen und ich wusste nicht wiso. Nur mit O0 machte er genau das was ich wollte. Bei den MSP430 haben die Optimierungseinstellungen nicht mit der Debugfähigkeit des Codes zu tun. un ein weitere Großer Nachteil bei der Debugfunktion der AVRs ist der Preis der dafür notwendigen Hardware. JTAG ICE MKII kostet 300€ (Atmel AVR) JTAG FET kostet 100 € (TI MSP430)
Tobias Korrmann schrieb: > Weiter gehts damit das ich die Optimierungseinstellungen auf O0 setzen > muss damit ich beim Debuggen auch wirklich sehe was er macht. Zu Anfang > (Debuseinstellungen auf Os dann auf O2 und O3) Ist der Debugger kreutz > und Quer durch meinen Code gesprungen und ich wusste nicht wiso. Nur mit > O0 machte er genau das was ich wollte. > Bei den MSP430 haben die Optimierungseinstellungen nicht mit der > Debugfähigkeit des Codes zu tun. Das ist Quark, das hat nichts mit dem Controller, sondern mit dem Compiler zu tun. Und wenn Dein MSP430-Compilat bei aktivierten Optimierungen nicht "kreuz und quer" durch den Code springt, dann funktionieren die Optimierungen nicht. Tobias Korrmann schrieb: > un ein weitere Großer Nachteil bei der Debugfunktion der AVRs ist der > Preis der dafür notwendigen Hardware. Das ist allerdings wahr, vor allem, wo es für alle neueren MSP430-Mitglieder mit SBW auch noch deutlich günstigere Debuginterfaces gibt (Launchpad).
Tobias Korrmann schrieb: > un ein weitere Großer Nachteil bei der Debugfunktion der AVRs ist der > Preis der dafür notwendigen Hardware. > JTAG ICE MKII kostet 300€ (Atmel AVR) > JTAG FET kostet 100 € (TI MSP430) Ich dachte jetzt mit dem AVG Dragon (ca. 50 €) könnte man auch debuggen? Habe ich da jetzt etwas falsch verstanden?
Tobias Korrmann schrieb: > Das fängt schon damit an das ich, wenn ich einen Breakpunkt setzen > möchte, erst den Prozessor anhalten muss bevor ich den Breakpunkt setzen > kann. Das dürfte eher ein Manko des AVR Studio sein (das ich als Debugger eher miserabel finde, ehrlich gesagt), ich glaube, das JTAG ICE selbst könnte den breakpoint auch "live" setzen, sofern es ein JTAG-breakpoint ist. Wenn es aber ein software breakpoint ist (d.h. es wird eine BREAK-Anweisung direkt in den Flash geschrieben), dann wüsste ich nicht, wie man auf irgendeiner Architektur ohne Anhalten der CPU auskommen sollte. Leider ist das Protokoll des JTAG ICE extrem auf den Debugger AVR Studio und dessen Fähigkeiten und Unfähigkeiten zugeschnitten, sodass ein Debuggen bspw. mit dem GDB via JTAG ICE in der Tat eher lahm ist. Das hat man bei Atmel übrigens auch gemerkt, als es dann an den AVR32 ging, dafür hat nun das JTAG ICE so eine Art "bypass mode", in dem man direkt JTAG mit dem Prozessor redet. Im Prinzip müsste man darüber auch eine bessere GDB-Anbindung an die 8-bit-AVRs organisieren können, wenn sich mal jemand die Mühe machen würde, das zu zimmern. Talad schrieb: > Ich dachte jetzt mit dem AVG Dragon (ca. 50 €) könnte man auch debuggen? Ja, natürlich, und zwar mittlerweile alle 8-bit-AVRs.
>> Ich dachte jetzt mit dem AVG Dragon (ca. 50 €) könnte man auch debuggen? > Ja, natürlich, und zwar mittlerweile alle 8-bit-AVRs. Auch alle XMega? Die Atmel-Homepage sagt etwas anderes.
Also wenn ich mir das so durchlese: http://msp430.techcontent.net/whymsp.htm Dann scheint der MSP430 von der Programmierung her besser zu sein, als Atmel (AVR).
Mittlerweile geht JTAG-mäßig doch einiges mit dem FT2232. Wie es speziell mit AVR/MSP/Linux aussieht weiß ich aber nicht...
Talad schrieb: > Also wenn ich mir das so durchlese: > http://msp430.techcontent.net/whymsp.htm > > > Dann scheint der MSP430 von der Programmierung her besser zu sein, als > Atmel (AVR). Und du meinst, dass du nicht minder voreingenommene Abhandlungen für nahezu jeden x-beliebigen Controller im Netz finden wirst? Wenn schon, dann musst du solche Vergleiche von Leuten lesen, die in mehr als einer Controllerfamilie regelmäßig zugange sind und damit auch vergleichbare Projekte gemacht haben. Selbst das historisch stärkste Argument für MSP430, der geringe Stromverbrauch, ist mittlerweile schon mächtig angestaubt, da auch neuere Controller anderer Hersteller dem kaum noch (wenn überhaupt) nachstehen. In der Praxis wird der gesamte Energieverbrauch oft viel mehr vom Rest bestimmt denn vom Controller selbst.
Jörg Wunsch schrieb: > Talad schrieb: >> Also wenn ich mir das so durchlese: >> http://msp430.techcontent.net/whymsp.htm >> >> >> Dann scheint der MSP430 von der Programmierung her besser zu sein, als >> Atmel (AVR). > > Und du meinst, dass du nicht minder voreingenommene Abhandlungen > für nahezu jeden x-beliebigen Controller im Netz finden wirst? wobei ich dem rechtgebe wenn ich die MSP mit dem jetzt auch von mir verwendeten AT90CAN 128 vergleiche. Dort schneidet der MSP430 um Längen besser ab. wobei es auch einen unschlagbaren Vorteil bei den ATMEL gegenüber MSP430 gibt. Es gibt für AVRs eine kostenlose halbwegs vernünftig einsetzbare IDE ohne Codebegrenzung welche man auch recht einfach installieren kann ohne sich mit Makefiles und ähnlichem herumschlagen zu müssen. CCS kostet allerdings auch nur 500 E in der Code unbegrenzten Version (0€ bei 16kByte Codebegrenzung) und man kann damit auch die C2000 Derivate Programmieren und Debuggen
Tobias Korrmann schrieb: > Dort schneidet der MSP430 um Längen > besser ab. Dasselbe würde wohl jemand sagen, der ungeliebt von einem AVR auf MSP430 umzusteigen gezwungen wäre. Was an so einem Umstieg am meisten stört ist, dass die grundlegenden Konzepte oft ganz anders sind, sodass man einfach erstmal lange Zeit sucht, bis man sich zurecht findet, während man in der gewohnten Architektur "zu Hause" ist.
Von SBW kann ich bei größeren Projekten nur abraten, da es furchtbar langsam ist, afaik 1.2kBaud. Also bleibt der Bootloader bzw. JTAG.
Nochmal ne Frage wegen AVR: Was haltet ihr von diesem USB AVR Lab Programmiergerät? http://wiki.ullihome.de/index.php/USBAVR-ISP/de Vom Preis ist das sehr günstig. Auf der Seite wird behauptet, daß man damit alle AVR Typen programmieren und debuggn könnte. Aber gilt das auch für AVR32? Hat das Ding jemand und jemand dazu etwas sagen?
Funktioniert das USB AVR-Lab eigentlich auch unter einem 64 Bit Windows? Z.b. Windows 7? Und wie sieht es mit Linux 64 Bit aus?
Dann hab ich noch eine Frage zum USB AVR-Lab. Den kann man ja für diverse Programmiersoftware mit einer jeweils passenden Firmware immer neu anpassen. D.h. wenn man AVRISPmkII Kompatibiltiät will, dann nimmt man die Firmware dafür. Und wenn man STK500v2 Kompatibiltiät will, dann nimmt man halt die andere Firmware. Wäre es aber nicht sinnvoller, wenn es nur eine Firmware geben würde, die sich dann mit einem Schalter am USB-Lab so einstellen läßt, daß entweder AVRISPmkII oder STK500v2 usw. Kompatibiltiät erreicht wird? Das wäre doch viel praktischer, denn es würde das neu Flashen ersparen. Wenn man also ne andere Kompatibitlität braucht, dann steckt man einfach nen Schalter um und schon ist die andere Kompatibitität hergestellt. Immerhin ist auf dem USB AVR-Lab ein Mikrocontroller drauf und der empfängt ja die Daten vom USB Bus. Entsprechend könnte er sich ja auch Softwareseitig anders verhalten, je nach dem was er simulieren soll, AVRISPmkII oder STK500v2 oder Oszi usw.
Und noch eine Frage. Das USB AVR-Lab kann man ja auch als Osszilosop benutzen. Wenn man damit also ne Schaltung mißt, kann es dann passieren, daß man durch falsch verpolen oder durch eine zu hohe Spannung sein PC Mainboard schrottet? Also die zu hohe Spannung über das USB AVR-Lab in den PC gelangt? Ist das irgendwie abgesichert? Wenn nein, könnte man hier nicht Optokoppler dazwischen schalten?
Weiß niemand eine Antwort?
Die Antworten auf die Fragen 1 und 2 kennst du doch schon, sonst würdest du nicht fragen :-) Klar kannst du zuerst das USB AVR-Lab und dann vielleicht auch den PC oder dessen USB-Port beschädigen. Optokoppler zur galvanischen Trennung müssten grundsätzlich möglich sein. Es wird aber Auswirkungen auf deine Messungen haben. Die LED im Optokoppler braucht eine gewisse Durchflussspannung, d.h. Spannungen unterhalb wirst du nicht mehr messen können. Und deine Messung wird eventuell nicht linear sein. Die Lichtmenge aus der internen LED und der Fotostrom des internen Fotoelements können nicht-linear mit der angelegten Spannung zusammenhängen. Das will man bei einem Oszilloskop eigentlich nicht haben. Optokoppler sind eine gute Idee, wenn du digitale Signale galvanisch trennen willst, also z.B. beim Einsatz als Logikanalysator oder Digitalinterface. Bei analogen Signalen, hmm, Geschmackssache.
Talad schrieb: > Wäre es aber nicht sinnvoller, wenn es nur eine Firmware geben würde, > die sich dann mit einem Schalter am USB-Lab so einstellen läßt, daß > entweder AVRISPmkII oder STK500v2 usw. Kompatibiltiät erreicht wird? Die Idee setzt voraus, dass im AVR genügend Platz für beide Funktionen ist und dass ein Pin frei ist, den man zu Auswahl der Funktion benutzen kann. Und dass jemand das programmiert. IMHO zu viel Aufwand, denn so oft wird man sein ISP-Tool nicht umkonfigurieren, oder?
Stefan B. schrieb: > Optokoppler zur galvanischen Trennung müssten grundsätzlich möglich > sein. Es wird aber Auswirkungen auf deine Messungen haben. > Optokoppler braucht eine gewisse Durchflussspannung, d.h. Spannungen > unterhalb wirst du nicht mehr messen können. Und deine Messung wird > eventuell nicht linear sein. Messung, Spannung häh? Es geht hier doch allein nur um die Datenübertragung vom PC zum Mikrocontroller! Wie die Spannung bei der LED ist, ist doch völlig egal, solange das Bit auch ankommt. Und bezügl. dem Oszilloskop macht das ja nicht der PC, sondern der ADC des µC. Und letzterer schickt dann die fertigen Daten nur noch an den PC. Warum sollte auf digitaler Ebene also keine galvanische Trennung möglich sein? > Optokoppler sind eine gute Idee, wenn du > digitale Signale galvanisch trennen willst, Ja eben, darum geht es ja. Zumal mir ja sowieo die Programmierung der µC viel wichtiger ist, als das Teil als Oszilloskop einzusetzen.
Stefan B. schrieb: > IMHO zu viel Aufwand, denn so > oft wird man sein ISP-Tool nicht umkonfigurieren, oder? Das kommt ja ganz darauf an ob man regelmäßig mit 2 µC arbeitet. Aber den Umständen entsprechend würde ich wohl eher 2 USB AVR-Lab bauen, anstatt eines ständig umzuprogrammieren. Insofern wäre so eine Fits-All-Firmware durchaus sinnvoll. Ob das drauf paßt weiß ich nicht, einige C Funktionen könnte man aber sicher mehrmals wiederverwenden.
Stefan B. schrieb: > Die Antworten auf die Fragen 1 und 2 kennst du doch schon, sonst würdest > du nicht fragen :-) Ob man AVR32 damit programmieren kann (Frage 1) weiß ich noch nicht.
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.