Recommended project type for MK60DX256VLQ10 on Custom Design

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Recommended project type for MK60DX256VLQ10 on Custom Design

394 Views
davidnaviaux
Contributor I

Hello, I am very pleased with the depth of documentation that Freescale has produced.  However, I am new to programming the Kinetis microcontrollers and with what appears to be a great deal of flexibility, I am concerned that I may choose a platform (or project type) that will result in many wasted hours of effort.

 

I have a custom designed controller that will be used to control and monitor the operation of a grid-tied inverter (abbreviated GTI) that will be used for research.  The GTI uses the Kinetis MK60DX256VLQ10 microcontroller.  In this application, an Ethernet connection to the MCU will be used to allow configuring and monitoring the operation of the GTI.  I am using the following resources:

 

1. Ethernet

2. USB

2. CAN

3. UART

4. ADC

5. FlexBus (for FPGA I/O)

6. SDHC memory card

 

What I am concerned about mostly is the Ethernet, USB, and SDHC firmware. I am very experiences at "C" firmware development but have limited experience with Ethernet, USB, and SDHC and will be using whatever libraries are available to simplify the firmware development.

 

Since this firmware will need to be maintained by fellow graduate students, I plan on using the Freescale Kinetis Design Studio (with the MQX operating system) for the code development.  I have experimented with a simple project to blink an LED connected through an I/O pin on the MCU and have found that there appear to be many ways to accomplish the same functionality.

 

The first step will be for me to select a project type that will be best for my application.  As I understand it, here are the possible forms of projects (defined in on the "Rapid Application Development" page of the "New Kinetis Project" wizard:

 

Project types:

1. Kinetis SDK (none), Processor Expert not selected

2. Kinetis SDK (none), Processor Expert selected

3. Kinetis SDK (KSDK 1.2.0), Processor Expert not selected

4. Kinetis SDK (KSDK 1.2.0), Processor Expert selected

 

Here are my specific questions:

1. I have not found a good summary that describes project type recommendations; given the resources that I am using listed above, what would be the recommended project type?

 

Thank you for any help!

-Dave

Labels (1)
0 Kudos
2 Replies

282 Views
Carlos_Musich
NXP Employee
NXP Employee

Hi Dave,

If you have those options enabled I assume you are working with KDS3.0 and you also have installed KSDK1.2.

- KDS is the IDE developed by Freescale based on Eclipse for Kinetis devices. Latest version is 3.0 and the download page is next:

www.freescale.com/kds

- KSDK is a Sofware platform (Kinestis Software Development Kit) developed by Freescale to make it easier to develop applications with Kinetis devices by providing drivers for the peripherals, Operating System Abstraction to use Operating Systems and low level APIs to access specific register bit fields that may be not reachable through the drivers. This software works as a library and you can use on KDS and other IDEs. The download page is next:

www.freescale.com/ksdk

If you need to use Ethernet I strongly recommend a TCP/IP stack, because handling Ethernet in a baremetal project would be quit difficult. In this case, KSDK provides 2 options, lwIP stack and MQX RTOS (Real Time Operating System) with RTCS support (Real Time Communications Suite). Of course there are other 3rd parties options. You can find all the documentation in the installation path: C:\Freescale\KSDK_1.2.0\doc

- Processor Expert is another software developed by Freescale. It is included in KDS installation but it also exists as stand alone software. In this case you can use the version that is integrated in KDS. This software is intended to create initialization code and basic operations for the MCU and peripherals through a graphic interface. You may find this software a little bit difficult to understand at the beginning, but after playing a couple of days with it you will find it very useful.

So If you select none in the KSDK field you will have a baremetal project, and if you select KSDK1.2 you will be able to use the library in your application. In both cases you can add Processor Expert Support, but I recommend to start playing with this tool in a simple project before developing your application using it.

Finally, attached you can find a training for KDS and KSDK. One of the labs use Processor Expert. Please take a look.

Please note that the training was made for an old KSDK version and there are small differences. For instance there is a step that is not included in lab 3. When you build the application project (not the library) you may see some errors. To remove the errors go to menu Project > Properties > C/C++ Build > Settings > Cross ARM Compiler > Directories and add the following path C:\Freescale\KSDK_1.2.0\platform\hal\inc

If you have any question please let me know.

Best regards,

Carlos

0 Kudos

282 Views
davidnaviaux
Contributor I

Carlos,

Thank you for the detailed explanations and suggestions and I apologize for the delay in my reply.  After quite a bit of experimentation and partial development of a BSP for my controller, I have decided not to used the Processor Expert (other than for comparison purposes) for my project and am in the process of developing the various I/O drivers for MQX RTOS to support the custom hardware on my controller.   So far so good.  I have been designing embedded controllers for more than 30 years and have to say that I severely underestimated the firmware effort for this project.  I think that what would have helped me from the beginning is a good overview document covering the detailed advantages, disadvantages, and limitations of various ways in which to develop a real application (i.e. using a custom control board) using the Kinetis design studio.

I am sure that I will run into timing issues as I continue on with the project, given the multi-tasking operating system and the critical speed related aspects of this design, but I expect that I will resolve these as they come up and as I develop a better understanding of the RTOS.

Again, I greatly appreciated your input.

Thank you,

David

0 Kudos