First of all, I am a hardware guy and am still getting up to speed in the world of Eclipse IDE. I have experience, but with products from 5+ years back. I have watched several Youtube tutorials, following them step by step. And, I have confirmed my steps below on two separate computer systems.
I have done a clean install of KDS 3.0.0 and KSDK 1.2.0. Here are my steps in KDS:
1) Start KDS and select workspace.
2) File | New | Kinetis Project | Next
3) Type Project name. Use default location.
4) Under Devices: Boards>Kinetis>FRDM-K64F | Next
(I have also tried with other FRDM boards)
5) Kinetis SDK = KDSK1.2.0; Absolute path = C:\Freescale\KSDK_1.2.0 (where I installed it); Processor Expert = Use current perspective; Project Mode = Standalone | Next
6) GNU C Compiler | Finish
The project is created with initial source and the following components:
clockMan1:fsl_clock_manager
pin_init:PinSettings
intMan1:fsl_interrupt_manager
I select the "Components Library" tab. In the "Alphabetical" tab, the drop-downs are set to "All repositories" and "Applicable to project".
The Components listed in the table for selection are:
BasicProperties
ExternalFile
FreeMaster
fsl_adc16
fsl_adc16_hal
fsl_clock_manager
fsl_cmp
...
Init_ADC
Init_AIPS0
...
OS_Task
PinSettings
StringList
TwoKeys
In order to see "BitIO", "PWM", "Serial_LDD", and other components, I must change the "Applicable to project" drop-down to "All". However, when I do so, and select one of the components and use "Component Inspector", I receive the error "The component is not supported for the selected processor" next to the "Component name". The processor shown in the Components list is "Cpu:MK64FN1M0VLL12".
I have tried numerous combinations of FRDM platforms with identical results. I have selected a processor, but then all reference to the FRDM target platform I/O assignments is lost.
I'm sure I am missing something fundamental. Help! and Thanks!
Jeff R
Hi Jeff,
if you select/enable the Kinetis SDK, then only components like fsl_* can be applied/used. The high level components like BitIO or Logical Device Drivers (*_LDD) only can be used with non-SDK projects. The reason is because the Kinetis SDK is using a different API.
If you want to use the BitIO component, then do *not* select a Kinetis SDK project.
If you use a Kinetis SDK project, use the fsl_gpio component.
I hope this helps,
Erich
Erich,
Thank you very much. I will investigate that but am still confused. I had this problem with KDS 2.0 as well, yet the tutorials (FRDM K64F - tutorial on YouTube and the seminar I was at put on by Arrow Electronics) all specify selecting the KSDK. Can you suggest a tutorial that explains LDD's and this distinction?
Jeff
Hi Jeff,
some of these aspects get discussed here: Tutorial: DIY Kinetis SDK Project with Eclipse – Board Configuration | MCU on Eclipse
If you are interested about the differences between High Level components and LDD components, then this one might be helpful:
There is a Time and Date for both Worlds | MCU on Eclipse
The fundamental difference between High Level Componens + LDD vs. SDK (fsl_*) components is: previously with the LDD and high level components, Processor Expert is generating the complete drivers (source files, header files, configuration files).
With the fsl_ sdk components, Processor Expert only configures the SDK drivers (with a few source files/header files), but does not generate the driver code itself. The driver code itself is the one from the SDK, and static and not generated.
I hope this helps,
Erich
Erich,
I do appreciate you taking the time to point me to these articles. I clearly have some studying ahead of me but I am the type who needs to know what is happening under the hood. I'm sure much of what I encounter is obvious to those who have grown their skills over the years as these methods are developed. What is still troubling is that the tutorial I watched was only 2 months old and clearly shows creating an KSDK project with the BitIO present.
Thank you again and thanks to all who helped.
Regards, Jeff