Processor Expert LDD components.

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

Processor Expert LDD components.

1,077 Views
patricio
Contributor IV

Hello all,

I started working recently with the FRDM-KL25Z, the CodeWarrior, the Processor Expert, etc.

When I add a component from the Processor Expert component libray, I see there are components like ADC and ADC_LDD, or BitIO and BitIO_LDD, TimerInt and TimerInt_LDD, etc, and I don´t know what is the difference between them.

Could anybody explain me what is the difference between _LDD and without _LDD components?

Do you now where could I find a description of each of the components from the Components libray?

Thank you very much in advance.

BR.

0 Kudos
1 Reply

495 Views
EarlOrlando
Senior Contributor II

Hello Aitor,

In the Processor Expert User Guide​ you can see a description of the different kinds of PEx components. There are three different types of components, Low Level Components, Logical Device Driver (LDD) Components and High Level Components. The components with the _LDD are Logical Device Driver Components and the ones without the _LDD are High Level Components.

High level component

    Component with the highest level of abstraction and usage comfort. An application built from these components can be easily ported to another microcontroller supported by the Processor Expert. They provide methods and events for runtime control.

LDD components — Logical Device Driver components

    The LDD components are efficient set of components that are ready to be used together with RTOS. They provide a unified hardware access across microcontrollers allowing to develop simpler and more portable RTOS drivers.

Low level component

    A component dependent on the peripheral structure to allow the user to benefit from the non-standard features of a peripheral. The level of portability is decreased because of this peripheral dependency.

Differences Between LDD and High Level Components

  • Each component provides Init() method to initialize appropriate peripheral and driver. Init() method returns a pointer to driver’s device structure.
  • Each component provides Deinit() method to de-initialize appropriate peripheral and driver.
  • The first parameter of each component’s method is a pointer to a device structure returned from Init() method. It is up to you to pass a valid device structure pointer to component’s methods (null check is highly recommended).
  • The Init() method has one parameter UserDataPtr. You can pass a pointer to its own data and this pointer is then returned back as a parameter in component’s events. The pointer or data pointed by this pointer is not modified by driver itself. A bare-board application typically passes a null pointer to Init() method.
  • LDD components are not automatically initialized in processor component by default. If Auto initialization property is not enabled, you must call appropriate Init() method during runtime. Otherwise the Init method is automatically called in processor component and device structure is automatically defined.
  • LDD components have RTOS adapter support allowing to generate variable code for different RTOSes.
  • Runtime enable/disable of component events.
  • Low Power Modes support.

You can see components descriptions in the path C:\Freescale\KDS_3.0.0\eclipse\ProcessorExpert\Help\ComponentUserGuides.

Best regards,

Earl.

/* If this post answers your question please click the Correct answer button. */

0 Kudos