Forum: Mikrocontroller und Digitale Elektronik Suche Programmiergerät für MKL02Z32VFG4


von Alex K. (alex_exit)


Lesenswert?

Hallo zusammen,

nachdem ich hier immer viel gelesen habe muss ich mich jetzt aber auch 
einmal mit einer Frage an Euch richten weil selbst stundenlanges Lesen 
im www mich nur noch mehr verwirrt.

Ich habe eine HEX bzw. BIN Datei welche ich auf einen MKL02Z32VFG4 
flashen möchte.
Hier wäre der Link zu NXP: https://www.nxp.com/part/MKL02Z32VFG4

Das dient lediglich ein paar Tests, es soll/muss also kein 
Produktions-Programmer werden.

Was für ein Programmiergerät kann man denn hier verwenden bzw. kann mir 
jemand etwas empfehlen?

Die MCU hat einen Sockel 16-QFN (3x3).

Nun habe ich schon echt viele Programmiergeräte im Netz gefunden, aber 
das geht von 20 EUR bis weit über 1000 EUR und oft steht gar nicht dabei 
für welche Typen diese geeignet sind.

Ich hoffe mir kann jemand auf die Sprünge helfen und mir einen Tip für 
ein Programmiergerät (kann gerne über Software am Laptop laufen, muss 
also kein Stand-alone-Gerät sein) geben mit dem ich eine HEX/BIN Datei 
auf eine solchen MCU (komplett leer also frisch geliefert) geflasht 
bekomme.

Vielen lieben Dank.

Gruß
Alex

von Georg (Gast)


Lesenswert?

Alex K. schrieb:
> Nun habe ich schon echt viele Programmiergeräte im Netz gefunden, aber
> das geht von 20 EUR bis weit über 1000 EUR und oft steht gar nicht dabei
> für welche Typen diese geeignet sind

Wenn nicht, keinesfalls kaufen. Aber seriöse Anbieter führen 
Kompatibilitätslisten, welche Devices man mit welcher Ausrüstung 
programmieren kann (dazu zählen ja auch die nötigen Adapter für 
unzählige Gehäusevarianten). Das sind aber Listen mit vielen hundert 
Einträgen, da muss man halt nachschauen ob das gewünschte dabei ist.

Für conitec Galeps z.B.
http://www.conitec.com/german/galep4device_list.htm

Eine umgekehrte Liste, welche Programmer für einen bestimmten Device 
verwendbar sind, gibt es nicht, wer sollte denn so einen riesigen 
Aufwand treiben? Es gibt sicher mehr als hunderttausend programmierbare 
ICs.

Georg

von Bernd K. (prof7bit)


Lesenswert?

entweder irgendeine Hardware die von OpenOCD unterstützt wird (zum 
Beispiel so ein billiger ST-Link)

oder kauf Dir einen J-Link EDU für 50€ (EDU bedeutet einmal am Tag kommt 
ein Nag-Screen der Dich daran erinnert daß Du per Indianerehrenwort 
versprochen hast es nicht kommerziell zu nutzen, ansonsten keine 
Einschränkungen) und mit diesem Gerät bist Du dann für die Zukunft für 
alles gerüstet denn kein anderes Gerät auf dem Markt unterstützt eine 
breitere Palette von Mikrocontrollern als dieser.

von Alex K. (alex_exit)


Lesenswert?

Vielen Dank erstmal.

Ja an diesen J-Link Edu habe ich auch schon gedacht denn der unterstützt 
genau den MKL02Z32VFG4.
Ich nutze diesen auch nicht kommerziell, sowas würde dann später sowieso 
ausgelagert beim PCB Hersteller aber das ist mir zum herum spielen jetzt 
zu teuer und eben ein Hobby Projekt derzeit.

Allerdings bieten die keinen Adapter (zumindest nicht wie ich mir das 
vorstelle) von deren 20 Pin auf den QFN16.

Es gibt QFN16 Sockel (in die man den Chip legt) die 16 Pins auf der 
anderen Seite der Platine haben aber das Kabel von dem J-Link hat 20 
Pins.
Hier werden dann scheinbar nicht alle benötigt und ich könnte mir evtl 
selbst dann einen passenden Adapter von 20 auf 16 Pins anfertigen.

Muss ich aber herausfinden wie die Belegung ist.
Für mich ist das Thema programmer leider total neu und habe bedenken da 
unnötig Geld heraus zu werfen, das habe ich schon zu oft in der 
Vergangenheit.

von W.S. (Gast)


Lesenswert?

Alex K. schrieb:
> Allerdings bieten die keinen Adapter (zumindest nicht wie ich mir das
> vorstelle) von deren 20 Pin auf den QFN16.

So macht man das doch auch gar nicht. Normalerweise braucht man als 
Minimum nur 4 Strippen: GND und VCC deines µC, dazu die 2 SWD-Signale 
(CLK und DATA). Besser wird es, wenn man dazu auch noch RESET hat.

Du machst also deine Schaltung und Leiterplatte und du siehst für die 
Programmierzwecke irgend einen Anschluß deiner Wahl dafür vor. Wenn die 
SWDCLK und SWDATA Pins für was Anderes benötigt werden, dann mache es 
so, daß diese Pins in deiner Anwendung Ausgänge sind oder sieh irgendwas 
vor, um die Verwendung unterbrechen zu können, einen NullOhm-Widerstand 
z.B.

Und von deinem Anschluß auf der LP bis zum Stecker am JLink ziehst du 
einfach ein paar Litzen. Wenn die nicht länger sind als ca. 20 cm, dann 
brauchst du dir auch über Impedanzanpassung etc. keine Sorgen zu machen. 
Abgesehen davon kann man beim JLink auch die SWD-Geschwindigkeit so 
niedrig wie man mag einstellen.

W.S.

von Alex K. (alex_exit)


Lesenswert?

Hallo,

ok jetzt wird mir so einiges klar.
Es sind also nur 4 Leitungen notwendig.
Wie gesagt ist das programmieren eines ICs/MCU für mich komplett neu.

Dann werde ich jetzt nur noch herausfinden müssen welche SWD Signale 
(CLK und DATA) auf dem MKL02Z32VFG4 (die 16 Pin Version) sind.
Im Datenblatt steht leider nicht direkt dort welche die sind.
Hat da wer Erfahrung und kann mir helfen diese heraus zu finden?
Der Pinout ist auf Seite 40:
https://www.nxp.com/docs/en/data-sheet/KL02P32M48SF0.pdf

Immer wieder Spannend ein neues Thema anzugehen aber kostet auch immer 
sehr viel Zeit.

Viele Grüße
Alex

von A. B. (Gast)


Lesenswert?

Alex K. schrieb:
> Dann werde ich jetzt nur noch herausfinden müssen welche SWD Signale
> (CLK und DATA) auf dem MKL02Z32VFG4 (die 16 Pin Version) sind.
> Im Datenblatt steht leider nicht direkt dort welche die sind.

Doch, in der Tabelle unter 5.1: PTA0 und PTA2, also Pins 14 und 16.

von Alopecosa (Gast)


Lesenswert?

Seite 37, Tabelle. Beim 16pinner sind die relevanten PINs 14 15 und 16.

Steht doch da... Lesebrille verlegt ? ;)

von Bernd K. (prof7bit)


Lesenswert?

Alex K. schrieb:
> Dann werde ich jetzt nur noch herausfinden müssen welche SWD Signale
> (CLK und DATA) auf dem MKL02Z32VFG4 (die 16 Pin Version) sind.

Und vergiss nicht je einen 10k Pullup an DIO und an RESET zu machen. 
Meine allererste Kinetis-Platine hatte die nicht und hat mich nen halben 
Tag Rätselraten gekostet warum ich auf Biegen und Brechen keinen Connect 
mit dem J-Link bekam.

von Alex K. (alex_exit)


Lesenswert?

Oh man, ich habe die Tabellen angeschaut, für mich natürlich alles 
Fremdwörter und das habe ich tatsächlich übersehen.

Leute ihr seit super, vielen Dank.

Ich versuche mal mein Glück und bestelle mir ein J-Link und dann teste 
ich herum.

Vielen dank nochmals.

Gruß
Alex

von Bernd K. (prof7bit)


Lesenswert?

Bei Schaltungen in denen Du nicht beabsichtigst SWD oder DIO 
umzukonfigurieren um die Pins anderweitig zu nutzen wird die Verbindung 
der Reset-Leitung zum Programmer nicht benötigt, solange SWD/DIO noch 
ihre Funktion haben kann der Programmer den Chip zu jeder Zeit allein 
damit unter seine Kontrolle bringen.

Erst wenn Du sie umkonfigurierst und SWD/DIO dadurch taub werden braucht 
der Programmer Reset um sich gewaltsam Gehör zu verschaffen.

von W.S. (Gast)


Lesenswert?

Bernd K. schrieb:
> Erst wenn..

Ich denke mal, so ein Strippchen läßt sich allzeit auch noch 
unterbringen. Kleine Steckverbinder mit 5 Kontakten gibt es ja genug. 
Und wenn's einem zu teuer wird für seine Serie, dann eben 5 Kontakt-Pads 
und eine passende Programmierfassung mit Nadeln für's Board

Aber ein bissel blöd finde ich das schon, daß diese Chips keinen 
residenten Bootlader enthalten. Freescale schwätzt zwar bei einigen 
Chips von einem Bootlader (z.B. MKE1xFxx..):
[Zitat]
23.2 Introduction
The Kinetis bootloader is the program residing in the on-chip read-only 
memory (ROM) of a Kinetis microcontroller device. There is hardware 
logic in place at boot time that either starts execution of an embedded 
image available on the internal flash memory, or starts the execution of 
the Kinetis Bootloader from on-chip ROM."
[ende]
Die Jungs tun ja gerade so, als ob ein BL in jedem Kinetis enthalten 
sei, aber in der Realität ist mir bei denen bislang noch keiner 
untergekommen. Jedenfals nicht zum tatsächlichen Programmieren des 
Chips. (die angezogenen Typen im RefMan KE1xFP100M168SF0RM hab ich 
bislang noch nicht in den Fingern gehabt)

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
Noch kein Account? Hier anmelden.