Wer mit dem programmieren von ARM Cortex Mikrocontrollern beginnen möchte steht vor der Wahl eines Programmer. Es gibt auf dem Markt mehrere Hersteller die Programmer anbieten und auch einige Open Source Lösungen. Hier möchte ich euch den Segger J-Link EDU vorstellen und auf seine Vorteile gegenüber Open Source  oder China Programmern eingehen

IMG 0206

Der J-Link EDU ist ein Programmer von der deutschen Firma Segger und ist für Hobbyisten und Studenten gedacht und darf nicht für den Gewerblichen einsatz verwendet werden, er kostet um die 60€ und ist baugleich mit dem 300€ teurem J-Link BAS das die Einsteigerklasse im Professionellen Bereich darstellt.

Segger bietet für den EDU keinen Support hat man Fragen muss man sich ans Forum wenden jedoch kommen mit neuen Version von J Flasch  auch regelmäßig Updates für den J-Link EDU heraus.

Segger ist zurzeit der führende Hersteller von Programmer für ARM Controllern nahezu jedes offizielle Evolutionboard ist mit einen Segger Chip ausgestattet. Diese Chips haben meist eine abgespeckte Firmware und können nur die IC Reihe des Evolutionboards Programmieren.

Warum solte man sich den EDU zulegen und nicht Ein Evolutionboard oder einen China Klon?

Gegenüber eines Evolutionboards besteht so die Möglichkeit verschiedene Controller unterschiedlicher Hersteller zu Programmieren, möchte man jedoch ausschließlich eine Controller Familie Programmieren ist ein Evelutionboard günstiger.

Ein großer Vorteil des Originals gegenüber eines China Clones ist es das es der original EDU von Haushaus von verschiedenen IDE's unterstützt wird. Beschäftigt man sich mit  neuen Controllern spart das einem viel Zeit. Bei China Clones muss oft das Makefiles oder Programmer Routinen angepasst werden, was oft eine große Fehlerquelle sein kann gerade am Anfang.

Ein weiterer Vorteil sind die Debug Funktionen eines Originals ist man bei Kopien oft darauf angewiesen die UART Schnittelle des Controllers als erstes zum Laufen zu bekommen um überhaupt eine Debug Möglichkeit zu haben. Der EDU kommt hingegen mit einer viel zahl an Debug Funktionen so unterstützt er Hardware und  Software Breakpoints , RTT und J-Scope.

RTT steht dabei für Real Time Transfer und ist eine Möglichkeit eine Art "UART Schnittstelle" über die Programmierschnittstelle eines Controller zu implementieren. Durch diese "UART Schnittstelle" ist es möglich Debug Ausgaben auszugeben oder Befehle an den Controller zu Senden. Die Implementierung erfolgt dabei einfach durch das Einbinden von Header Files in das eigene Projekt und ist sehr einfach.

J-Scope ist eine Möglichkeit Variablen auf einem Controller in Echtzeit zu Analysieren und zu Visualisieren dies ist nützlich wenn man zb den A/D Wandler eines Controllers oder eine Programmierte Regelung Debugen möchte.

Mit all diesen Vorteilen muss man sagen das der Segger EDU für 60€ eigentlich ein Schnäppchen ist.