Freescale's KDS (Kinetis Development Studio) - anyone used it?

Status
Not open for further replies.

stevech

Well-known member
Freescale's KDS (Kinetis Development Studio) - anyone used it? Or thinking of using it w/Teensy 3 or Teensy-LC?
free, it says.

Eclipse + GNU GCC (C/C++) and I assume, Freescale's Processor Expert (PE) tool for pinouts and auto-code-gen from peripheral libs.
It seems similar to a great tool set I've used from other than Freescale, especially PE.
 
Last edited:
Freescale's KDS (Kinetis Development Studio) - anyone used it? Or thinking of using it w/Teensy 3 or Teensy-LC?
free, it says.

Eclipse + GNU GCC (C/C++) and I assume, Freescale's Processor Expert (PE) tool for pinouts and auto-code-gen from peripheral libs.
It seems similar to a great tool set I've used from other than Freescale, especially PE.

I downloaded it for a K22F, but got a cultural chock, with all the automatic and background configuration. So I stick with notepad++ and make. But if there is a guide on how to configure for teensy, teensyduino I could be interested in KDS, even-if debug is not an option.
 
I used it in a very limited way to compiled uTasker code to run on the Teensy 3.1. I'm on a Mac, and using Eclipse through Parallels isn't a great experience so I'm trying to avoid it until a native Mac version comes out.
 
I used it in a very limited way to compiled uTasker code to run on the Teensy 3.1. I'm on a Mac, and using Eclipse through Parallels isn't a great experience so I'm trying to avoid it until a native Mac version comes out.
KDS from Freescale for a Mac w/OSX?
I'm Mac-illiterate, but can you boot and run Windows native rather than using Parallels?
 
Note: This is not for newbies or novices.
I have an advantage in that I've used one other IDE with a built in chip-pinout-tool and system code generator like KDS w/Proccesor Expert. Eclipse is the editor/project manager for KDS.

Well, I downloaded KDS and dived in.
At the download site, I did see mention of a Mac version compatible with XCode.

Windows 7
800MB download (glad I have 35Mbps ISP)
Virus check OK.
Install (simple wizard and answer the questions). About 2 minutes.
Click on desktop icon KDS
I read slowly. Don't jump in and get lost. 15 minutes.
A bit of confusion: The Eclipse first-program demo is for an x86 target. That didn't compile as I'm missing stuff it wants. Freescale should have edited their own file for this so it's ARM focused. Sloppy.

So, I should have overruled the first-use instructions and chosen ARM as the target for the helloWorld program.
I then ran Processor Expert - the elaborate tool to auto-generate code and pick up library drivers and auto-generate linker scripts for the chosen ARM CPU. Since I've used the equivalent for a different ARM M4, I understood the concept.
I managed to choose the K20 256K CPU (not a board based project) and go through the barebones steps. 5 minutes.
Found and clicked "Generate Code". That went OK without error. Now I have a project for Eclipse/ARM GNU with all the startup code and I/O init and drivers for the few K20 peripherals I chose. And all the trap ISRs, the vector table, etc.
Auto-generated the linker script for the default arrangement of memory sectors, etc.

OK. Bravely I told Eclipse to build. It did, in about 5 seconds. Now I have the elf file and I see a debugger choice to download to the ARM target.
The other IDEs have an option to convert the elf file to a .HEX file using the GNU ARM utilities - and I assume it'll work here too. So you can use the .hex file with Teensy 3's loader.

Eclipse is bundled so it just worked. Mercifully.
The compile went fast and no errors. (I admit: I have a newly purchased $150 SSD, 500GB. Makes all the difference in everything I do on this computer. I store downloads and photos on a small NAS, not on the computer.)

Next will be to learn how to select, say, the UART and interrupt handlers using Processor Expert. I saw too a click here for printf() and scanf(). Hope that's easy. No ready-to-use USB/Serial as in Teensy 3. That can come later. Use UART for now.

First look, Processor Expert (PE) has all the mechanisms I had used in the other ARM vendor's tools, though PE seems much less GUI based.

From the other vendor ARM work I've done, I have emulators for a few Arduino-ish things like pinMode(), digitalRead/write(), attachInterrupt, delay(), microseconds() - these use HAL calls to do the same. And the I/O calls like digitalRead() codify in two nibbles which of 16 I/O ports to use and which of 16 I/O bits to use. So the app. code just needs constants changed from pin # to port and bit. Personally, I don't like the board-specific pin # concept. But that's just an opinion.

This experiment looks promising. And I have only an hour invested so far.

That's where I left it for now.
 
Last edited:
@stevech I looked for mention of Mac or Xcode on the downloads page and couldn't find anything, can you send a link?

I agree with you, SSDs are great. :)
 
KDS and Mac ... I know I saw mention of this while I was installing and reading, but just now I can't find it again.
Well, there are only WIndows and Linux installs.

UPDATE. I found the mention. It's in the Eclipse help file, Getting Started. Alas, it's generic Eclipse info, not related to the Freescale use of Eclipse. So I don't know if it's Freescale or Eclipse developers at fault re Mac support.

below, "CDT" is Eclipse term for C Development Tools. The below implies Freescale is the bad guy for not doing a KDS config for Apple.
Mac OS X
The CDT supports the Apple GNU toolchain that is included in with the Xcode IDE. It can be downloaded from the Apple's developer site, http://developer.apple.com
 
Last edited:
I'm trying the KDS300 with a Segger J-Link. It is a sophisticated cockpit for setting up initialization for any Kinetis processor,
Its not for the newbie - Teensy with Arduino have done such unbelievably good job at getting an embedded projects on Arm launched - but of has limitations to make it easier to get going - and thats were KDS is becoming really excellent. Probably Arduino has booted Freescale (err now Nxp) into making FRDM-xx hardware and free toolchain.
However with KDS300 I've had one project corruption and had to restore to my last backup. Lots of comments historically on how challenging Eclipse stability is ... but when its working its fantastic.
Generally a lot of good info at http://mcuoneclipse.com/ but has a lot of historical info on older CodeWarrior that is painful to trip over.
Manyas-diary, is a Freescale Intern's view of how to drive an array of leds on a FRDM-K64F at http://mcuoneclipse.com/category/manyas-diary/ for anybody who wants to work from a Freescale foundation upwards.
 
When I compared KDS with ST's CubeMX+HAL, ST's was very much more intuitive and advanced, and it targets 4 IDEs (IAR, Keil/ARM, GCC/Eclipse, and Attolic/GCC)
 
mbed is making progresses, they have Teensy 3.1 as a beta platform (https://developer.mbed.org/platforms/teensy-3-1/). I tested the Blink sketch (https://developer.mbed.org/users/yoonghm/code/Teensy_MBED_BLINKY/) and added a serial USB port, runs without any problem.

I just don't like their cloud compiler, I prefer to compile locally. Still trying to figure out how this can easily be done with mbed. They allow to export a local project, but that feature doesn't support ARM GCC (for me?).

On the other hand, mbed has a bunch of generic and specific libraries, as well as an RTOS. Might be worth looking into.

I also installed KDS. Definitely lacks intuitivity. Does anyone have some well customized templates to use it with the Teensy? When I try to install the KDS, it says:

Code:
An error occurred while collecting items to be installed
session context was:(profile=DefaultProfile, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
No repository found containing: binary,com.somniumtech.kds.executable.gtk.linux.x86_64,3.0.0

Any idea what I'm doing wrong?
 
Last edited:
mbed... I bought their NXP ARM board way back. Used their online Keil. Their drag and drop firmware loader is superb.

they have libraries but most are forever too buggy. Especially their TCP/IP stack. It's never been usable. An example of why offloaded IP stacks like Wiznet sells are wise.
 
I tried KDS when it supported 32bit Linux, and it was so-so. Unfortunatly everything they ship now is 64-bit hosted only, and that really sucks.
You are much better off not using the IDE or tools provided by them and putting together something much better.
What I did is gather up all the source parts, and combined that with the ARM compiler supplied by Paul and/or the Arduino team.
For editing, I use Netbeans, which already knows how to compile C and C++, but you can use what you like.
KDS is simply eclipse repackaged.
(small rant area)
I never cared for eclipse, since it is not intuitive at all. It reminds me of the awkward MS studio junk, which Atmel seems to push on to people as well. If these companies had a clue, they would supply just the sources to run the hardware, and allow you to use whatever toolset and editor you wanted to. You'd think they would do this simply because it would be less work for them. Who knows what runs thru the minds of these people. They certainly aren't exactly logical IMHO
 
I've found mbed libraries to work well - but when I want IP networking, I use an ESP8266 (it most cases, wireless is a plus).
 
Freescale this week put out news of a new bootloader for use with their boards (or yours I suppose).
I don't know about Freescale, but STM32 M0, M3, M4 come with a bootloader in ROM (not flash) that auto-discovers USB, UART, SPI and I2C for downloading, mostly using the industry standard DFU protocol.
 
Status
Not open for further replies.
Back
Top