Im praktischen Einsatz haben zehn Leser der Elektronik das Flash-Programmiergerät »Flasher PRO« von Segger umfangreich getestet. Die Ergebnisse der einzelnen Tests und die Bewertung haben wir für Sie zusammengefasst.
In der Elektronik 10/2021 hatten wir unsere Leser aufgefordert, sich als Tester für das Flash-Programmiergerät »Flasher PRO« von Segger Microcontroller bei der Redaktion zu melden. Über 130 Leser hatten reagiert, um beim Test mitzumachen. Zehn von ihnen hatten Glück. Sie erhielten das Flash-Programmiergerät mit passendem Adapter von Segger als Testobjekt und von der Elektronik-Redaktion einen Testbogen für die Bewertung. Die zum Betrieb des »Flasher PRO« benötigte Software konnte jeder Tester direkt von der Segger-Homepage laden.
Aus den einzelnen Bewertungen der zehn Tester haben wir Mittelwerte für die Gesamtbewertung gebildet, doch vorab nochmals eine kurze Zusammenfassung der wichtigsten Eigenschaften des Testobjekts
Testobjekt dieser »Leser-testen«-Aktion ist das universelle Flash-Programmiergerät »Flasher PRO« von Segger – für (Q)SPI-Flash-Bausteine, Mikrocontroller und SoCs mit externem und/oder internem Flash-Speicher. Als schneller und universeller Flash-Programmierer konzipiert, unterstützt es die Programmierung von Mikrocontrollern oder SoCs über deren Debug-Schnittstelle oder dedizierte Programmierschnittstellen sowie die Programmierung externer (Q)SPI-Flash-Speicher.
Diese QSPI-Flash-Speicher können indirekt über den Mikrocontroller/SoC oder direkt, durch Anschluss an die Pins des QSPI-Flashs, programmiert werden, wobei das Programmiergerät die theoretische Mindestprogrammierzeit des QSPI-Bausteins selbst erreicht.
Flasher PRO ist sehr einfach einzurichten und mit Software zu bedienen, die plattformübergreifend verfügbar ist – für Windows, macOS, Linux für Intel- und Linux für Arm-Prozessoren. Es kann stand-alone per Knopfdruck betrieben, von einem PC aus gesteuert oder ferngesteuert werden. Ausgestattet mit mehreren Kommunikations-schnittstellen lässt sich das Programmiergerät leicht in jede Produktionsumgebung integrieren. Massenproduktionsumgebungen, automatisiertes Testequipment (ATE) und andere Produktionssteuerungseinheiten können einfach auf Flasher PRO zugreifen, um die Programmierung zu steuern. Über entsprechende Konfigurationsdateien können per Flasher PRO Seriennummern im Zielsystem programmiert und die Daten vor dem Programmieren in den Code eingefügt werden.
Im Praxistest wurde das Flash-Programmiergerät »Flasher PRO« in vier Hauptkategorien nach Schulnoten von 1 bis 5 bewertet.
Der Praxistest gliederte sich in vier Teile:
Die Tester konnten die Einzeldisziplinen des Testbogens mit Schulnoten von 1 bis 5 bewerten. Für ergänzende Hinweise und Anmerkungen standen ihnen Kommentarfelder zur Verfügung, die häufig und ausführlich genutzt wurden.
Ergänzend haben wir die Tester gebeten, in einem vorangestellten Bogen »Angaben zum Test« zu machen. Hier wollten wir z. B. wissen, welches Betriebssystem und welcher Adapter eingesetzt wurde und welche Bausteine als Ziel dienten.
Sechs der Tester haben mit dem »Flasher PRO« mit 128 MB Speicher gearbeitet, vier bekamen die Version »Flasher PRO XL« mit SD-Karte und 2 GB großem Speicher zugeschickt. Alle Tester nutzten Windows 10, vier testeten zusätzlich mit einem Linux-Betriebssystem, darunter auch Raspbian. Unter macOS konnte leider nicht getestet werden. Keiner der mehr als 130 Leser, die sich bei der Redaktion gemeldet hatten, hatte macOS als Betriebssystem genannt.
Als Ziel für das Programmiergerät haben die Tester einen bunten Strauß von Bausteinen eingesetzt: Mikrocontroller von GigaDevice, Infineon, Nordic, NXP, Microchip, Silicon Labs, STMicroelectronics; Module wie der Raspberry PI aber auch COMs von Ka-Ro electronics und Kontron sowie Speicher-ICs von Micron, On Semi, Toshiba und Winbond. Dementsprechend groß zeigte sich auch die Bandbreite der Dateien, die in den Tests vom Flasher Pro auf dem Ziel programmiert wurden: von 2 kB bis 4 GB.
Die Testergebnisse im Überblick
Hier haben wir die Tester gebeten, sich vor dem Start die Verpackung, den Lieferumfang und die Dokumentation genau anzusehen.
1.1. Lieferung und Verpackung
➔ Die Verpackung aus Karton wird von der Mehrheit der Tester als sicher gelobt. Ein Tester fasst zusammen: »reine Versandverpackung, zur Lagerung im Schrank geeignet – Wiederverwendbarkeit ist da nicht wirklich relevant.«
1.2. Dokumentation
➔ Von den Testern wird die Dokumentation gelobt, z. B. als »eine gute, umfangreiche und einfach zu verstehende Dokumentation auf der Webseite.« Ein Tester merkt an: »Handbuch für verschiedene Hardware gleichzeitig, nicht alles relevant.« Zwei Tester kritisieren allerdings, dass Sie die Konformitätserklärung nicht auf der Segger-Website finden konnten, sie »ist nicht auf Produktseite verlinkt.«
1.3. Lieferumfang
»Alles wichtige war dabei. Anleitung nur online, was jedoch ausreichend ist.«, schreibt ein Tester und ein anderer Tester stimmt zu: »Online-Doku ist heutzutage angemessen.« Dennoch gibt es offenbar Raum für Verbesserung: »Downloads leicht verwirrend: es ist nicht direkt klar, welche Tools man für den ›Flasher PRO‹ benötigt, bzw. dass die für ›Flasher ohne Pro‹ die richtigen sind. Querverweise auf getrennte J-Flash Doku fehlen.«
Mit dem Blick auf einen sparsamen Umgang mit Ressourcen schlägt ein Tester vor: »Der professionelle Anwender hat die Kabel, die beiliegen, in der Schublade. Diese müssen meiner Meinung nach nicht im Lieferumfang sein, sodass elektrische Komponenten (hinsichtlich späterer Entsorgung) minimiert werden könnten. Evtl. ist es sinnvoll, den Kabelsatz separat anzubieten.« Er ist einer von zwei Testern, die zum »Flasher PRO« keinen Adapter bestellt hatten.
Für die Inbetriebnahme des Programmiergeräts »Flasher PRO« muss Software von der Hersteller-Website geladen und auf einem Rechner installiert werden, der später als Host das Programmiergerät steuern soll. Neben der Installation der Software sollen die Tester hier die Vorbereitung für den späteren Einsatz unter die Lupe nehmen und einen Blick auf die Einsatzmöglichkeiten werfen.
2.1. Installation
➔ In den Kommentaren loben die Tester die einfache Softwareinstallation: »Plug&Play, einfache Einrichtung« und »Installation dauert etwas, da recht umfangreich. Es lief problemlos durch« sowie »sobald man die richtige Software gefunden hat, ist die Installation eingängig und problemlos«. Nur in einem Fall bereitete die Installation Probleme: »Auf einem Raspberry habe ich Treiber und Software nicht zum Laufen bekommen. Auf Windows 10 alles bestens.«
2.2. Unterstützte Bausteine
➔ Für die meisten Tester ist der Umfang der unterstützten Bausteine und Hersteller mehr als ausreichend. »Eine unglaublich große Anzahl an unterstützten µC, SoCs und Flash-Bausteinen!«, fasst ein Tester zusammen und trifft damit die Meinung vieler seiner Mittester. Nur ein Tester hatte das Pech einen Mikrocontroller als Ziel zu haben, der nicht unterstützt wird: »Unterstützte Varianten sind unklar. Nach Überfliegen der Webseite vor dem Test hätte ich erwartet, dass LS1023A (Cortex-A53) incl. externem NAND-Flash unterstützt würden, das scheint aber nicht der Fall zu sein – anscheinend gibt es da Unterschiede zwischen J-Link und Flasher, die auf der Webseite nicht ganz klar werden. Nach Studium des Doku bleibt unklar, wie individuelle Anpassungen an nicht unterstützte CPUs / Flashbausteine funktionieren sollen.« Segger bestätigte, dass der Netzwerkprozessor LS1023A von NXP tatsächlich nicht vom »Flasher PRO« unterstützt wird. Er fällt in die Kategorie von Mikrocontrollern, die nicht weit verbreitet angewendet werden, sodass sich eine individuelle Anpassung auch nicht rechnet.
2.3. Vorbereiten des Stand-alone-Betriebs
➔ Hier gaben zwei Tester lobende Kommentare zu ihrer Bewertung mit sehr gut ab: »funktioniert reibungslos wie dokumentiert« und »kurze Einarbeitung nötig, aber es klappt mittlerweile sehr gut«. Zwei andere Tester hatten hier jedoch mehr erwartet: »SPI-Flash konnte nicht im Stand-alone-Betrieb programmiert werden. Evtl. war die Flash-Konfig nicht passend, im Host-Betrieb hatte es jedoch funktioniert.«, und »Auslesen von EEPROM nicht gefunden oder nicht möglich?«
2.4. Vorbereiten des Host-Betriebs
➔ Auch hier vergeben die Tester überwiegend sehr gute Noten. »Der Host-Betrieb funktioniert ebenfalls gut, mit mehr Möglichkeiten«, ist das Fazit eines Testers. Der letzte Testpunkt, Einbindung von kundenspezifischem RAM-Code, wurde nur von fünf Testern bewertet. Die anderen fünf Tester kommentieren, dass sie diese Funktion nicht nutzen. Einem Tester fiel auf: »In der Doku finden sich keine Beschreibungen zu entsprechenden Features.« Ein Versäumnis, das Segger schnell nachholen will, denn die Informationen sind bereits online verfügbar, allerdings auf der Wiki-Seite des Open Flashloader.
Als problematisch zeigte sich der Einsatz von Linux auf dem Host eines Testers: »Linux: FlasherConfig findet Gerät nicht per Ethernet, obwohl es per IP erreichbar ist (Ping geht, J-Flash funktioniert, aber nur, wenn man die IP-Adresse von Hand einträgt.) Unter Windows 10 funktioniert es wie erwartet.«
Das dritte Testfeld ist nicht nur das umfangreichste, sondern auch das wichtigste. Es nimmt die eigentliche Funktion des Testobjekts unter die Lupe. Untersucht wird die Anwendung, Geschwindigkeit, Zuverlässigkeit, Sicherheit und auch die Ergonomie.
3.1. Benutzung
➔ Die durchweg sehr gute Bewertung lässt sich mit dem Kommentar eines Testers untermauern – stellvertretend für viele Mittester: »Hatte in unserem Test keine Schwachstellen, alles i. O.« In der Tat hatte nur ein Tester den Support gefordert: »Support reagiert und kann Probleme nachvollziehen. Lösung noch offen« – was von ihm positiv bewertet wurde. Ein Tester lobt: »Sehr gute Integrationsfähigkeit für ATE-Systeme. Sogar über el. Pulse steuerbar.«
3.2. Geschwindigkeit
➔ In diesem Testfeld gaben die Tester dem Programmiergerät »Flasher PRO« die besten Noten, im Vergleich zu den anderen Testfeldern. Aus den Kommentaren der Tester lassen sich dennoch Unterschiede herauslesen. So reicht die Einstufung vom eher pauschalen: »Geschwindigkeit sehr gut«, bis zu: »deutlich schneller als z. B. OpenOCD«. Ein anderer Tester fand jedoch: »Das Programmieren des 438 KB großen Programmcodes in das Flash benötigt 22 s. Mit Raspberry und OpenOCD benötigt die gleiche Aufgabe ca. 15 s.« Ein weiterer Tester merkt an: »Das Löschen dauert wie üblich etwas länger, aber alles noch im Rahmen.«
3.3. Zuverlässigkeit
➔ Die sehr gute Bewertung ist ein Indiz für eine störungsfreie Funktion. »Es konnten im Testzeitraum keine offensichtlichen Fehler gefunden werden«, kommentierte ein Tester. Nur bei einem Tester gab es Probleme beim Programmieren von zwei Bausteinen: »Auf einem Target (RP2040) funktioniert Stand-alone-Programmierung nicht, es wird keine Log-Datei angelegt. Auf IMXRT1021 kommt Verbindung zum CPU-Kern zustande, aber die Flash-Programmierung geht nicht – weder mit Jflash, noch stand-alone. Wenn es funktioniert, funktioniert es sehr gut.«
3.4. Sicherheit
➔ Die Einschätzung eines Testers: »ESD-Schutz ist von außen nicht zu beurteilen, keine Angaben im Manual. Gerät hat den Laboreinsatz bisher überlebt ;-) «, wird im Wesentlichen auch von weiteren Testern geteilt. Die Dokumentation des Programmiervorgangs wird dagegen sehr unterschiedlich bewertet. Von: »Nach dem Aktivieren des Log-Files ist die Rückverfolgbarkeit sehr gut«, über »Log-Dateien bzw. Anbindung Datenbank etc. könnten noch umfangreicher sein«, zu »Rückverfolgbarkeit: unklar, keinerlei Angaben im Manual, wobei ich die Frage nicht wirklich verstehe – ich hätte nie danach gefragt, aber wenn die Frage gestellt wird, ist die Antwort ›mangelhaft‹.«
3.5. Ergonomie und Haptik
➔ In diesem Testfeld sind sich die Tester weitgehend einig in ihrer Beurteilung: »Gerät und Adapter machen einen wertigen Eindruck und wirken robust« und »Adapter meistens kleine Platinen ohne Gehäuse, aber ausreichend.« Ein Tester merkt an: »Gerät könnte etwas kompakter sein, aber trotzdem akzeptabel. Display und mehr Tasten wären nice-to-have, aber Bedienung über den Host ist i. O.«