Forum: Compiler & IDEs NXP Kinetis Einstieg


von Max M. (maxmicr)


Lesenswert?

Guten Abend,

da NXP zur Zeit einen der günstigsten Cortex M0+ Chips (Kinetis KL03 
Familie) anbietet, wollte ich mich mit deren Controllern mal näher 
beschäftigen. Herausgefunden habe ich soweit, dass ich dafür diesen 
Debugger / Programmer benötige:

http://de.farnell.com/nxp/om13054-598/lpc-link2-universell/dp/2364729

der funktioniert mit der hauseigenen IDE von NXP "LPCXpresso". Auf der 
Homepage von Segger (https://www.segger.com/lpc-link-2.html) steht dazu:

"The firmware is for use with evaluation boards only. It is not for use 
with custom hardware."

Ich nehme an, das gilt nur für die eigene Firmware von Segger für den 
LPC-Link 2? In welchem Fall würde man diese Firmware benutzen?

Die Firmware von NXP reicht aus, um eigene Hardware, die NXP M0+ µC 
benutzt, zu programmieren?

Hab ich das so richtig verstanden? Gibt es Empfehlungen, was ich 
beachten muss?

von Bernd K. (prof7bit)


Lesenswert?

Wenn Du die Segger Firmware drauf flasht dann verwandelt er sich in 
einen J-Link und funktioniert dann mit allen IDEs die J-Link 
unterstützen (also alle unter dieser Sonne).

Wenn Du stattdessen 50€ übrig hast und nicht beabsichtigst es gewerblich 
zu nutzen (es wird nicht erzwungen aber Deine Karma-Punkte würden 
negativ) dann empfehle ich Dir einen echten J-Link EDU zu kaufen. Daran 
wirst Du viel Freude haben.

Übrigens Für viele der Kinetis-Prozessoren gibts auch die FRDM-Boards, 
auch die haben on-board einen kleinen Debug-Adapter drauf der zunächst 
nur mit der Hersteller-IDE funktioniert, aber auch für die gibts bei 
Segger jeweils eine passende alternative Firmware die daraus jeweils 
einen vollwertigen J-Link macht.

Du kannst auch jederzeit auch wieder die orginale Firmware installieren, 
der Vorgang ist also reversibel.

So ein FRDM-Board würd ich für den Einstieg und zum Kennenlernen 
empfehlen, die kosten auch nicht viel.

: Bearbeitet durch User
von Bernd K. (prof7bit)


Lesenswert?

Nochwas:

Wenn Du bare-metal ohne SDK, ohne HAL und ohne IDE auf den KLxx machen 
willst (und Dir das zutraust) dann wird sich die folgende Seite als sehr 
hilfreich erweisen:

https://github.com/0xc0170/kinetis_klxx_gcc

Wenn Du diesen Weg gehst (am Anfang steinig, aber unterm Strich 
lehrreich und lohnend) dann kannst Du auch noch mit 8k Flash auf den 
ganz keinen Kinetis was reißen bei dem die SDK- und DesignStudio-Nutzer 
nur noch mit den Ohren schlackern würden.

: Bearbeitet durch User
von Markus F. (mfro)


Lesenswert?

Die Kinetisse (?) kannst Du mit jedem SWD Device debuggen und flashen.

Auch die IDE brauchst Du nicht - die arm-none-eabi Toolchain ist völlig 
ausreichend und läßt dir die Wahl, irgendeine IDE (oder auch gar keine) 
zu verwenden.

von Gerd E. (robberknight)


Lesenswert?

Max M. schrieb:
> da NXP zur Zeit einen der günstigsten Cortex M0+ Chips (Kinetis KL03
> Familie) anbietet, wollte ich mich mit deren Controllern mal näher
> beschäftigen.

Die haben nur 2 KB RAM, das kann schnell knapp werden.

Schau Dir vielleicht auch mal die STM32F030 an, die sind noch günstiger 
und haben ab 4KB RAM. Außerdem finde ich deren Peripherie besser, z.B. 
DMA und Timer.

von Max M. (maxmicr)


Lesenswert?

Danke für eure Antworten,

Markus F. schrieb:
> Die Kinetisse (?) kannst Du mit jedem SWD Device debuggen und flashen.

Nach der STM Seite 
(http://www.st.com/en/development-tools/st-link-v2.html) unterstützt der 
ST-Link V2 SWD/JTAG, bedeutet das, diesen könnte man auch zum 
Programmieren der Kinetix Controller benutzen? So einen hätte ich 
nämlich schon hier. Ich hab auch schon von Versuchen gelesen, mit dem 
ST-Link einen Kinetis zu flashen, war aber eher wenig erfolgreich. Die 
IDE von NXP wird das dann wahrscheinlich erst recht nicht unterstützen?

Markus F. schrieb:
> Auch die IDE brauchst Du nicht - die arm-none-eabi Toolchain ist völlig
> ausreichend und läßt dir die Wahl, irgendeine IDE (oder auch gar keine)
> zu verwenden.

Wahrscheinlich hagelt es gleich negative Kommentare aber ich möchte 
diese Freiheit ausnahmsweise nicht. Ich hab das Prozedere mit GCC, 
Eclipse und Makefiles etc. schon mal für den ESP8266 durch gemacht und 
möchte das eigentlich nicht wiederholen da es nervig ist eine Toolchain 
aus Einzelstücken zusammenzubauen und es (bei mir) lange dauert, bis es 
vernünftig läuft, wenn überhaupt. Wenn der Hersteller eine kostenlose 
IDE anbietet, mit vernünftigen Compiler (der angeblich sogar bis 
256KByte offen ist), dann nehme ich das Angebot gerne an. Trotzdem nehme 
ich mal an, dass:

Bernd K. schrieb:
> Wenn Du bare-metal ohne SDK, ohne HAL [..] auf den KLxx machen willst

auch mit der IDE möglich ist (also ohne SDK etc.)?

Aber dann muss ich wohl auch in den sauren Apfel beißen und den LPC-Link 
2 (bzw. den Segger J-Link) benutzen, oder?

Gerd E. schrieb:
> Die haben nur 2 KB RAM, das kann schnell knapp werden.

Für den Anfang reicht mir das, denke ich.

Gerd E. schrieb:
> Schau Dir vielleicht auch mal die STM32F030 an, die sind noch günstiger

Ich weiß nicht wo du geschaut hast, aber bei Mouser z.B. ist ein Kinetis 
aus der oben genannten Reihe ungefähr halb so teuer wie der von dir 
genannte STM32.

: Bearbeitet durch User
von Rx2100 (Gast)


Lesenswert?

So wie ich das sehe, steht "LPCXpresso" nicht unter den Tools für die 
Kinetis Prozessoren (die waren von Freescale). Für die Kinetis gibt es 
die "Kinetis Design Studio IDE".

von Gerd E. (robberknight)


Lesenswert?

Max M. schrieb:
> Gerd E. schrieb:
>> Schau Dir vielleicht auch mal die STM32F030 an, die sind noch günstiger
>
> Ich weiß nicht wo du geschaut hast, aber bei Mouser z.B. ist ein Kinetis
> aus der oben genannten Reihe ungefähr halb so teuer wie der von dir
> genannte STM32.

https://www.aliexpress.com/item//32740942772.html

oder wenn es unbedingt was europäisches sein soll:
http://www.tme.eu/de/details/stm32f030f4p6/st-mikrocontroller/st-microelectronics/

Der wird übrigens nur mit 16 KB und ohne 32Bit Timer spezifiziert, 
enthält aber in Wahrheit 32KB Flash und den 32 Bit Timer. Es ist das 
selbe Die wie der STM32F031F6, hat also auch alle dessen Funktionen.

: Bearbeitet durch User
von Don Kanaille (Gast)


Lesenswert?

Und was bringts wenn ein Controller nun 50 cent weniger kostet?
Du willst ja sicher nicht 10000 Stück davon kaufen.

Dabei ist es auch egal ob Kinetis oder STM oder SAMD...
Da würd ich lieber direkt nen Euro drauflegen und dafür 4 - 16x soviel 
Speicher haben - ein Problem weniger mit dem man sich rumschlagen muss.

von Max M. (maxmicr)


Lesenswert?

Rx2100 schrieb:
> So wie ich das sehe, steht "LPCXpresso" nicht unter den Tools für die
> Kinetis Prozessoren (die waren von Freescale). Für die Kinetis gibt es
> die "Kinetis Design Studio IDE".

Stimmt, danke für den Hinweis. Dafür unterstützt die Kinetis Design 
Studio IDE sogar alle Prozessoren?
1
ARM® Processors
2
i.MX Applications Processors
3
Kinetis ARM Cortex-M
4
LPC ARM Cortex-M
5
LPC ARM7 ARM9
6
MAC57Dxxx 32-bit ARM
7
QorIQ ARM Processors
8
S32 V200 ARM Cortex-A53
9
VFxxx Controller Solutions

Nach der Homepage baut diese IDE auf der freien Software (GCC, GDB, 
Eclipse) auf. Funktioniert dann damit das LPC-Link 2 noch? Das steht da 
nämlich nicht mit dabei:
1
GDB debugger with support for the following debug interface hardware:
2
3
SEGGER J-Link (w/SEGGER GDB Server, Windows, Linux, Mac)
4
P&E Multilink (w/P&E GDB Server, Windows, Linux)
5
CMSIS-DAP (w/OpenOCD GDB and OpenSDA embedded circuit,Windows, Linux)
6
Command Line (CL) debugging with GDB and OpenOCD TCL

Oder ist mit Segger implizit auch der LPC-Link 2 gemeint?

Btw. das ist doch mal erfreulich:
1
Languages supported: Assembly, C and C++ (all with no code size restrictions)

Don Kanaille schrieb:
> Und was bringts wenn ein Controller nun 50 cent weniger kostet?

Ja, da hast du im Prinzip recht.

Don Kanaille schrieb:
> Da würd ich lieber direkt nen Euro drauflegen und dafür 4 - 16x soviel
> Speicher haben - ein Problem weniger mit dem man sich rumschlagen muss.

Wenn ich nen Euro drauf lege, bekomme ich das Mehr an Speicher doch bei 
NXP auch, oder? Meine Projekte sind bis jetzt noch nicht an mangelndem 
Speicher gescheitert, höchstens an mangelnden Fähigkeiten meinerseits, 
diesen Speicher mit sinnvoller Software zu füllen.

Gerd E. schrieb:
> oder wenn es unbedingt was europäisches sein soll:

Danke für den Link, auf Aliexpress findet man meiner Erfahrung nach nur 
vereinzelt Controller nach denen man auch explizit suchen muss sonst 
findet man die nicht (deswegen hab ich da nicht geschaut), aber wenn 
haben die meistens gute Preise. Vllt. schau ich mir den STM32 auch noch 
an...Sowas ähnliches (STM32F103) hab ich aber schon hier und eigntl. 
wollte ich was mit NXPs machen :o

: Bearbeitet durch User
von Johannes S. (Gast)


Lesenswert?

Um die Verwirrung komplett zu machen hat NXP jetzt noch das MCUXpresso 
angekündigt: 
http://www.nxp.com/products/software-and-tools/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE?tid=vanMCUXPRESSO/IDE

Das ist wie ich das verstehe
die Migration der LPC und Kinetis Tools und unterstützt dann auch den 
LPCLink-2. Der bekommt ja sowieso seine Firmware vor dem Download 
verpasst und ist dann CMSIS-DAP oder JLink.

von Markus F. (mfro)


Lesenswert?

Max M. schrieb:
> Wahrscheinlich hagelt es gleich negative Kommentare aber ich möchte
> diese Freiheit ausnahmsweise nicht. Ich hab das Prozedere mit GCC,
> Eclipse und Makefiles etc. schon mal für den ESP8266 durch gemacht und
> möchte das eigentlich nicht wiederholen da es nervig ist eine Toolchain
> aus Einzelstücken zusammenzubauen und es (bei mir) lange dauert, bis es
> vernünftig läuft, wenn überhaupt.

Von mir nicht. Jeder ist seines Glückes Schmied ;)

Meine Meinung: wenn Du das einmal beherrschst, funktioniert das mit 
überschaubarem Aufwand auch für alle anderen denkbaren Szenarien und Du 
kannst heute mit Kinetis, morgen mit STM oder was ganz anderem und 
übermorgen mit Z80, m68k oder gar Windows in der weitgehend identischen, 
für deine Zwecke angepassten Umgebung arbeiten, ohne auf die Tools eines 
Herstellers angewiesen zu sein.

Für mich eine einmalige, lohnende Investition. Für andere mag das anders 
sein.

von Max M. (maxmicr)


Lesenswert?

Ich überlege mir, den J-Link EDU zu kaufen, auch wenn 60€ nicht wenig 
sind, und zusammen mit der Design Studio IDE zu benutzen, da gibt es 
hier auch eine Anleitung, wie man den J-Link einrichten muss:

https://community.nxp.com/docs/DOC-102593

von W.S. (Gast)


Lesenswert?

Max M. schrieb:
> Ich überlege mir, den J-Link EDU zu kaufen,

Mach das, wenn du mit µC arbeiten willst, die keinen fest eingebauten 
Bootlader haben. Mittlerweile gibt es von Segger ja sogar eine 
JFlash-Variante, die auch mit dem Edu benutzbar ist. Da kann man endlich 
ohne das Gehampel mit der Debugger-Funktion einer IDE seinen Chip 
brennen.

Ansonsten würde ich dir gerade für kleinere µC zum Keil raten, denn der 
ist sehr viel handlicher zu benutzen als der Gcc und er macht auch 
kompakteren Code. Du hast ja geschrieben, daß die ganze Gcc-Einrichtung 
dir was Unangenehmes war (kann ich aus eigener Erfahrung bestätigen).

Nochwas: Guck dich auch mal bei Nuvoton um. Die haben mittlerweile recht 
nett aussehende Cortex-M4F im Angebot und das ist ne Klasse besser als 
M0+. Soweit ich weiß, haben die mittlerweile auch einen Onlineshop.

siehe: "http://direct.nuvoton.com/de/m4/";

Bei den Kinetis dürfte MK und MKL ok sein, aber von den MKE rate ich dir 
ab, denn die haben keine dedizierten Register, um die Pinfunktionen 
einzustellen. Bin mit MKE selber auch nicht warm geworden, 
wahrscheinlich kann  man die nur dann passabel benutzen, wenn man sich 
mit der IDE von Freescale dazu die Pin-Initialisierung generieren läßt.

Das scheint mir übrigens ein allgemeiner Trend zu sein: ST-Cube, DAVE, 
XPresso, und so weiter - eben der Versuch der Hersteller, ihre Kunden 
möglichst fest an sich zu binden.

W.S.

von Bernd K. (prof7bit)


Lesenswert?

W.S. schrieb:
> Da kann man endlich
> ohne das Gehampel mit der Debugger-Funktion einer IDE seinen Chip
> brennen.

Leidest Du eigentlich unter Gedächtnisschwund?

Jedes Mal wenn das Thema aufkommt erzählst Du den selben Unsinn und 
jedesmal muß man Dir erklären daß man sehr wohl auch mit jlink.exe 
komfortabel aus einer Batchdatei heraus produktionsflashen kann, ganz 
ohne Debugger oder gar IDE, somit JFlash überhaupt nicht benötigt.

Du antwortest auf diese Postings (nimmst sie also zur Kenntrnis) aber 2 
Wochen später hast Du wieder vergesen was an Dir erklärt hat und 
erzählst wieder den selben unwahren Mist.

von Bernd K. (prof7bit)


Lesenswert?

W.S. schrieb:
> wahrscheinlich kann  man die nur dann passabel benutzen, wenn man sich
> mit der IDE von Freescale dazu die Pin-Initialisierung generieren läßt.

Erzähl doch keine Märchen über Sachen die Du noch nicht mal aus der 
Ferne gesehen hast. Die GPIO- und Alternate-Funktionen an den Pins eines 
KE sind noch einfacher zu handhaben als die des KL, es funktioniert 
genau so wie bei den AVR: Einfach benutzen und fertig, also ideal für 
Umsteiger.

Insgesamt ist der KE also wesentlich einfacher zu handhaben als der KL.

von W.S. (Gast)


Lesenswert?

Bernd K. schrieb:
> Jedes Mal wenn das Thema aufkommt

.. dann fängst du an, hier herumzuflegeln.

Nö, an derartigen Kommentaren hab ich keinen Bedarf.

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.