Ich habe das Atmel Cortel M3 Evaluation Board zugelegt. Das Board besitzt einen Atmel SAM3U µC. Laut Atmel soll der SAM-ICE von Segger für den Download der Firmware verwendet werden können. Jedoch habe ich es weder mit dem IAR-IDE noch mit Keil hinbekommen. Die Firmware auf dem Segger SAM-ICE ist bereits von 2008. Ich habe alles von Segger heruntergeladen und installiert. Jedoch konnte ich keine Firmwareupgrade auf dem SAM-ICE durchführen. Zu welchen DOWNLOADER und DEBUGGER könnt ihr mir raten? Ich möchte keinen Open Source Compiler verwenden. Demach sollte er leicht in die IDE IAR oder Keil implementierbar sein. Ich habe bei Segger gelesen das momentan der J-Link das aktuelle Produkt ist und dies auch mit IAR und Keil benutzbar ist. Hat jemand schon den J-Link ausprobiert?
Servus, habe hier in der arbeit einen Ulink2. Geht gut aber ein bisserl teuer. Kann aber dafür trace und auch SWD. Den Segger EDU hab ich Zuhause. Billig und für daheim echt super. Kann auch SWD aber soweit ich weiß keinen trace. Aber muss gestehen hab ich daheim auch noch nicht probiert. Der Ulink geht halt nur mit Keil der Segger auch mir Eclipse oder ähnlichen IDE's. Gruß Stumpf
Johann schrieb: > Hat jemand schon den J-Link ausprobiert? Das SAM-ICE von Atmel ist ein Segger J-Link. Benutzt habe ich ihn schon, aber für die SAM3s bekommst du wohl nicht mehr (wie früher) die Software von Segger kostenlos (limitiert auf die Benutzung mit Atmel-Controllern). Die älteren Versionen wiederum weigern sich, mit SAM3 zu arbeiten. Daraufhin habe ich den Segger-Softwarekrempel in die Ecke geworfen und OpenOCD benutzt. Geht astrein, und ist mir (im Gegensatz zu dir) letztlich ohnehin lieber gewesen, da die Toolchain davor bei mir auch Opensource ist.
Johann schrieb: > Laut Atmel soll der SAM-ICE von Segger für den Download der Firmware > verwendet werden können. Jedoch habe ich es weder mit dem IAR-IDE noch > mit Keil hinbekommen. Hi, der blaue JLink a'la SAM-ICE sollte mit der Keil µVision funktionieren. Als Debugger dann JLink auswählen. VG, /th.
Johann schrieb: > Ich möchte keinen Open Source Compiler verwenden. Demach sollte er > leicht in die IDE IAR oder Keil implementierbar sein. Schau dich doch einmal bei Raisonance (http://www.raisonance.com/) um.
Ich habe bei Keil auf JLink umgestellt. Jedoch bekomme ich ich immer einen Hinweis das es neuere Version gibt. Außerdem bekomme ich immer einen Errror wenn ich das Blink Beispielprogramm draufspielen will. Die neuen JLINK sind jedoch schwarz und habe einen anderen Inhalt. Deshalb dachte ich das ich den mal ausprobieren. Kostet zwar fast 400€ der neue JLink das spielt jedoch momentan keine Rolle. Von Open Source bin ich momentan geheilt. Irgendwas geht doch immer nicht. Miestens ist alleine schon die Installation sehr aufwendig.
Was ist denn TRACE und SDW? Der Keil ULINK2 kostet ja 500€ und die Pro sogar über 1000€
Ich habe eine die SAM-ICE Hardwareversion 5.4. (Die ist halt schon von 2008 oder so)
"früher" gab es JTAG. Dieses IF wurde nun etwas eingedampft, auf eine Serial Wire Debug (SWD), mit einem Serial Wire Out (SWO) Pin. Das zusammen ergibt das SWJ (Serial Wire/JTAG), wenn der Controller beides unterstützt. Dazu parallel gibt es noch das 1-4Bit/Pin Trace Interface. An Trace-fähigen Units gibt es die DWT (Data Watch & Trace), die ITM (Instrumentation Trace Unit) und die ETM (Embedded Trace Macrocell). Die DWT kann Speicherzellen (z.B. Variablen) Tracen und ausgeben. Weiterhin ermöglicht sie komplexe Breakpoints, z.B. "Break when 'x' is read" oder "Break when x==0x55". In µVision wäre das (Command Window): BS READ myVar BS READWRITE myVar==0x55 Dafür hat die DWT 4 Units. Ein einfacher Watch (Variablenwert ausgeben oder BP) erfordert eine Unit. Ein komplexer BP (myVar==0x55) erfordert 2 Watches. Die ITM hat 32 output-channels, über die das Userprogramm auf der CPU Informationen ausgeben kann. ITM kann weiterhin alle n Instructions (Divder einstellbar) den PC samplen und ausgeben, sowie die ISR Entry/Exit/Returns ausgeben. Das ermöglicht ein rudimentäres Trace. Die ETM Unit ermöglicht ein vollständiges Tracing. Diese 3 Units werden über die Trace Port Interface Unit (TPIU) zu einem Datenstrom zusammengefasst, und über den SWO Pin oder das 1-4Bit Trace Interface ausgegeben. Anm.: ETM über SWO macht keinen Sinn und ist deswegen idR. nicht auswählbar. ------ Ab hier kann ich nur für µVision / ULINK sprechen: Der ULINK2 kann den SWO Pin samplen, und die Informationen auf verschiedene Fenster ausgeben. Bei ITM sind die channel 0 und 31 lt. CMSIS Standard für printf (Ch.0) und RTOS Status (Ch.31) reserviert. Im µVision landen die ITM Ch.0 Ausgaben im ITM printf Viewer. Das ist ein Terminal mit grundlegender VT100 Funktion, weiterhin kann man die Daten als reine ASCII, HEX oder im ASCII/HEX Mixed Mode ansehen. Die RTOS Daten landen im µVision Falle (RTX) im RTX Status Window und im Event Viewer, der die Taskwechsel anzeigt. --- Der ULINK pro unterstützt den 1-4Bit Trace Port und den SWO in Full Speed (jenseits 100MHz, genaue Zahl weiss ich gerade nicht). Die Funktionalität ist hier wie die vom ULINK2 (allerdings Faktoren schneller), zusätzlich kann ein vollständiger Trace aufgenommen werden. Diesen kann man sich entweder im Trace Window anzeigen lassen zur Fehlersuche (z.B. bei Hard Fault), oder einfach nur als Code Coverage nutzen. Zur Übertragung mit höherer Bandbreite können die ITM Daten auch per 4Bit Trace Port übertragen und in ein File geloggt werden (macht Sinn für ITM Ch. 1-30). VG, /th.
Johann schrieb: > Die neuen JLINK sind jedoch schwarz Das blau ist halt die Atmel-Farbe, die Segger deren OEM-Version dann verpasst. Inhaltlich hat sich von der Hardware meines Wissens nichts geändert (zumindest sollten sie aufwärtskompatibel sein). > Außerdem bekomme ich immer einen Errror wenn ich das Blink > Beispielprogramm draufspielen will. ... > Von Open Source bin ich momentan geheilt. Naja, deine Aussage "irgendwas geht doch immer nicht" trifft wohl hier gerade genauso zu. Selektive Wahrnehmung? Aber du hast doch für die Software was bezahlt, damit solltest du doch deren Support befragen können, wie man das SAM-ICE damit nun zum Laufen bekommt.
> Die neuen JLINK sind jedoch schwarz und habe einen anderen Inhalt.
JLinks gibtz in allerlei Gewand :-)
Schwarz: Original JLink, kommerziell nutzbar
Weiss : Original JLink, Education Version (mMn. eine schlaue Antwort
auf die China Replikate)
Blau : SAM-ICE, der spricht nur mit Atmels µCs
Gelb : IAR, der mag nur die IAR Toolchain
Schwarz, anderes Gehäuse: mIDAS, Analog Devices Version
OnBoard: Ein mit auf das Board gelöteter Microcontroller, der den JLink
enthält. Z.B. bei EnergyMicro oder Freescale/Kinetis.
Vielleicht gibtz noch andere, aber mehr hab ich noch nicht in den
Fingern gehabt :-)
VG,
/th.
Johann schrieb: > Außerdem bekomme ich immer einen Errror wenn ich das Blink > Beispielprogramm draufspielen will. Was für einen Fehler bekommst du? In Keil µVision: Der JLink muss unter "Debug" und "Utilities" der Target Options eingestellt sein. Hier wird unterschieden, weil zwei verschiedene Debugger verwendet werden können, z.B. NXP FlashMagic nur zum Flashen. Weiterhin muss unter den Settings für den JLink bei "Debug" JTAG oder SW (je nach Anwendung oder was der µC kann) ausgewählt sein. Soll SWO verwendet werden, muss hier SW eingestellt sein! Unter Trace kann man dann Trace enablen und den ITM Ch.0 auswählen, für CMSIS printf (retargeting fputc -> ITM_SendChar() nicht vergessen!). Unter Flash Download muss der korrekte Flash Algorithmus ausgewhlt werden. Ist alles korrekt eingestellt, sollte der JLink die MCU flashen & debuggen. VG, /th.
Random ... schrieb: > Schwarz: Original JLink, kommerziell nutzbar Meiner ist auch schwarz, aber ich darf ihn nicht kommerziell nutzen. Er war der Vorläufer der Education Version (none commercial). Also rein die Gehäusefarbe als Kriterium reicht nicht.
Johann schrieb: > Was ist denn TRACE und SDW? > > Der Keil ULINK2 kostet ja 500€ und die Pro sogar über 1000€ Bei Ebay habe ich schon preiswertere Versionen gesehen.
Jörg Wunsch schrieb: > Naja, deine Aussage "irgendwas geht doch immer nicht" trifft wohl hier > gerade genauso zu. Selektive Wahrnehmung? Gerade aktuell: Beitrag "Eclipse: "cannot run program make" + findet GDB-command nicht" **grins**
BWLnow schrieb: > Johann schrieb: >> Was ist denn TRACE und SDW? >> >> Der Keil ULINK2 kostet ja 500€ und die Pro sogar über 1000€ > > Bei Ebay habe ich schon preiswertere Versionen gesehen. genau: Beitrag "Cortex-M Debugger J-Link und U-Link2 von Wayengineering ok?"
900ss D. schrieb: > Random ... schrieb: >> Schwarz: Original JLink, kommerziell nutzbar > > Meiner ist auch schwarz, aber ich darf ihn nicht kommerziell nutzen. Er > war der Vorläufer der Education Version (none commercial). > Also rein die Gehäusefarbe als Kriterium reicht nicht. ok. Ich schrieb ja auch, das ich nur die gelistet hab, die ich selber hier liegen habe. Irrtümer vorbehalten :-) Trotzdem ein guter Zug vom Segger. Ich würde mir jedenfalls zum Basteln keine China Kopie kaufen, wenn ich das Original für nen Fuffi krieg :-)
Random ... schrieb: > Jörg Wunsch schrieb: >> Naja, deine Aussage "irgendwas geht doch immer nicht" trifft wohl hier >> gerade genauso zu. Selektive Wahrnehmung? > > Gerade aktuell: > Beitrag "Eclipse: "cannot run program make" + findet GDB-command nicht" Ja, Fehler: ein Plugin war nicht richtig installiert ... kann einem mit kommerzieller Software natürlich nieee passieren. ;-) Mir ging's ja auch nur darum, dass bei "opensource irgendwas immer nicht geht", während im gleichem Atemzug beklagt wird, dass Keil (und wohl auch IAR) genauso ihren Kuddelmuddel bereiten. Systeme dieser Komplexität neigen halt immer mal dazu, irgendwo Spirenzchen zu machen, egal ob Opensource oder kommerziell. Wenn ich mir überlege, wie viele Stunden ich schon vertrödelt habe nur für das $@!#&e Lizenzgewurschtel von IAR, und was man hätte in der gleichen Zeit sinnvolles tun können. Oder eben besagte Segger-Software, da hatte ich ernsthaft erwartet, dass der Betrieb des SAM-ICE damit schneller zu haben wäre als mit OpenOCD (das in der Tat erstmal einen gewissen Einarbeitungsaufwand bezüglich der Konfiguration braucht). Pustekuchen! Ich hätte mir die Segger-Software dann auch gleich klemmen können und die dafür vertrödelte Stunde Zeit zum Studium der OpenOCD-Doku benutzen können, das wäre sinnvoller investiert gewesen. Der Kram tut wenigstens, nachdem er einmal konfiguriert ist, statt mir an den Kopf zu werfen, dass ich nun (trotz SAM-ICE + Atmel-MCU) noch extra Geld für eine Lizenz blechen solle.
Vorsicht, meine Meinung: Hast nicht ganz Unrecht, die Komplexität ist nun mal sehr hoch. Ich kann hier nur für µVision und etwas Open Source für ARM und AVR sprechen. Bis ich bei meinem AVR Einstieg vor etlichen Jahren (AVR Studio unterstützte damals nur ASM, WinAVR war das Compilerpaket) alles zusammenhatte, was ich an make, compiler, script etc. brauchte, das war schon ein Weilchen. Ausserdem hab ich im Wesentlichen an dem Dingen C gelernt. Dann hab ich mal mit Code Sourcery und Ride rumgespielt, auch das lief nicht von Anfang an (aber schon besser). Mit IAR hab ich auch ein wenig gearbeitet, aber zu wenig, als dass ich etwas drüber sagen könnte. Das Keil µVision war - als ich damals meine DA geschrieben habe, wirklich ein sehr hilfreiches Überraschungspaket, was tatsächlich out-of-the-box funktionierte, sodass ich mich voll auf auf das Kennenlernen der ARM Welt am Beispiel von LPC2148 und LMI3S828 (Luminary Cortex-M3) konzentrieren konnte - und das allein war als Umstieg von AVR schon mehr als genug! Mittlerweile arbeite ich sehr gerne auf beiden Seiten des Keil µVision sowie mit diversen Cortex-M3 MCUs (vorwiegend STM32F107 und LPC1768), und möchte beides nicht mehr missen :-) Vor allem bekommt man bei einem kommerziellen Produkt ein mindestens gutes Gesamtpaket aus IDE/Debugger und Middleware, was auch zusammenspielt. Bei meinem derzeitigen Bastelprojekt hätte ich überhaupt keine Lust, mir die ganzen Open Source Komponenten für ein RTOS, TCP Stack, USB Stack, Flash FileSystem etc. erst zusammenstückeln zu müssen. Das Zeug "läuft einfach" und vor allem, es läuft zusammen! VG, /th.
Danke für die Infos Random Ich habe bis jetzt nur die Testversion, daher kann ich leider den Support nicht fragen :-) Ich bin mir noch nicht sicher ob es die IAR oder die Keil Version sein wird, deshalb wollte ich beide mal ausprobieren indem ich das Beispielprojekt durcharbeite. Nun zu meinem Fehler. (Ich kann es erst heute Abend genau beschreiben, da ich die Hardware gerade zu Hause habe) Ich habe den Debug auf JLink umgestellt. Jedoch erinnerich ich mich wage das der Fehler mit dem korrekten Flash Algorithmus zu tun hatte. Was muss ich denn da wo einstellen? Gibt es dazu ein Tutorial für die Atmel Cortex M3. Da ich nur die Cortex M3 von Atmel benutzen wollte werde ich dann beim blauen Segger JLink bleiben. Bis jetzt habe ich noch keinen Flash Algo ausgewählt, da ich ja den internen Flash vom Atmel Cortex M3 verwenden wollte. Bis jetzt hatte ich halt nur mit den Atmel 8 Bit µC einige Jahre zu tun. Da gibt es den Codevision den muss man nur installieren und dann geht alles wie von Zauberhand :-)
Johann schrieb: > Danke für die Infos Random null problemo :-) > Ich habe bis jetzt nur die Testversion, daher kann ich leider den > Support nicht fragen :-) Kannst mich gern fragen, was du wissen musst. Ich schau tagsüber immer mal wieder hier rein. > Ich bin mir noch nicht sicher ob es die IAR oder die Keil Version sein > wird, Wenn du Fragen zur Keil IDE oder zur verfügbaren Middleware hast, frag einfach. Bei IAR kann hier sicherlich jemand anderes weiterhelfen. > deshalb wollte ich beide mal ausprobieren indem ich das > Beispielprojekt durcharbeite. Da ist der JLink immer die beste Wahl, weil der von diversen IDEs unterstützt wird. > Nun zu meinem Fehler. (Ich kann es erst heute Abend genau beschreiben, > da ich die Hardware gerade zu Hause habe) > > Ich habe den Debug auf JLink umgestellt. Jedoch erinnerich ich mich wage > das der Fehler mit dem korrekten Flash Algorithmus zu tun hatte. Was > muss ich denn da wo einstellen? Gibt es dazu ein Tutorial für die Atmel > Cortex M3. Schau einfach mal in ein Beispielprojekt: c:\keil\ARM\Boards\ Die sollten auf SAM-ICE oder ULINK konfiguriert sein. Such deinen Chip raus, und schau nach, was für ein Flash Algo da eingestellt wurde. > Da ich nur die Cortex M3 von Atmel benutzen wollte werde ich dann beim > blauen Segger JLink bleiben. > > Bis jetzt habe ich noch keinen Flash Algo ausgewählt, da ich ja den > internen Flash vom Atmel Cortex M3 verwenden wollte. Keil µVision unterstützt das eigene Flashen des JLink derzeit nicht. Daher musst du zum Flashen den richtigen Flash Alg. einstellen. Project -> Options for Target (Oder den kleinen Zauberstab) -> Utilities -> JLink auswählen -> Settings VG, /th.
Wenn ich das richtig sehe dann wird der Cortex M3 von dem SAM-ICE nicht unterstützt. siehe Datensheet Seite 44. Dort steht das alles unter J-Link Version 8 keinen Cortex M3 unterstützt. http://www.farnell.com/datasheets/1509847.pdf
Johann schrieb: > Dort steht das alles unter J-Link Version 8 keinen Cortex M3 > unterstützt. Gut, meins ist eine V8.0. Kommt denn Keil mit einem simplen Wiggler klar, oder mit einem einfachen FT2232-basierten JTAG-Adapter? Unter OpenOCD habe ich beides schon alternativ zum SAM-ICE benutzt.
Jörg Wunsch schrieb: > Kommt denn Keil mit einem simplen Wiggler klar, oder mit einem > einfachen FT2232-basierten JTAG-Adapter? Unter OpenOCD habe ich > beides schon alternativ zum SAM-ICE benutzt. Hi, "klarkommen" ist nicht das Problem, das Interface ist offen. Die Frage ist, ob es einen AGDI Treiber für die Debug-Unit für µVision gibt. http://www.keil.com/appnotes/docs/apnt_173.asp VG, /th.
Random ... schrieb: > "klarkommen" ist nicht das Problem, das Interface ist offen. Die Frage > ist, ob es einen AGDI Treiber für die Debug-Unit für µVision gibt. Das würde für mich natürlich "klarkommen" implizieren. Wenn ich dir sage, dass OpenOCD mit allen drei Varianten klar kommt, dann meine ich ja auch nicht, dass du prinzipiell die Möglichkeit hast, dir den Sourcecode dafür zu schreiben ;-), sondern dass selbiger bereits existiert und funktioniert.
Ne leider läuft es nicht. Ich war gestern Abend krank. Ich habe den neuen J-Link bei Farnell bestellt. Dort stand leider nicht welches Version es ist. Ich hoffe mal das es die VErsion 8 ist, Den FTDI 2232 verwende ich sehr oft als USB-High Speed. Den kann man auch als JTAG betreiben. Wie bereits oben beschrieben kommt es auf den Preis nicht an. Der neue J-Link müste morgen da sein dann werde ich diesen auch gleich ausprobieren Wie teuer ist denn der Keil Compiler?
So ich habe nun den neuen J-Link Verion 8 bekommen. Damit ging es mit dem IAR-Compiler gleich. Achtung falls jemand Windows 7 verwendet, bitte installiert den Compiler direkt unter c:\IAR oder c:\Keil Bitte nicht unter Program Files(x86) da hat man nur eingeschrenkte Rechte unter Windows 7, dadruch enthält man nur Fehler beim compilieren und Debuggen. Ich habe anschließend den IAR-Compiler deinstalliert und anschließend unter c:\IAR installiert und schon lief alles sofort
ich hab keineerlei probleme damit IAR unter Program Files (x86) auszuführen. man sollte seine Projekte nur nicht im programm verzeichniss ablegen. sondern wo anders. Das verzeichniss ist für programme da, nicht für die eigenen daten!
Jörg Wunsch schrieb: > Kommt denn Keil mit einem simplen Wiggler klar Erstmal nö. Keil kommt mit jedem JTAG-Adapter klar, für den es eine Treiber-DLL im System hat. Wenn also jemand für nen Wiggler oder ein Xilinx-Kabel#3 oder einen Altera-Byteblaster (oder nochwas anderes) eine passende DLL schreibt, dann kommt Keil auch damit klar. Guck dich mal bei Nuvoton um. Die haben sich einen eigenen billigen Programmieradapter auf Basis ihrer eigenen Chips gebastelt und dafür gibt es nen Treiber für Keil. W.S.
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.