Please help me to understand the difference between LDD component and CPU internal peripheral component

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

Please help me to understand the difference between LDD component and CPU internal peripheral component

Jump to solution
3,063 Views
zalayeta_ye
Contributor II


hi,

I am learning Processor Expert and plan to use it in my kinetis project. I noticed there two kinds of components(LDD and CPU internal). CPU internal component looks to be a more straight way. What's the advantage of LDD components? Could you give me a example in which conditon we should choose LDD component.

Thanks,

Zala

0 Kudos
Reply
1 Solution
1,767 Views
ZhangJennie
NXP TechSupport
NXP TechSupport

Processor Expert provides components with several levels of abstraction and configuration comfort.

• LDD components - Logical Device Drivers. The LDD components are efficient set of components that are ready to be used together with RTOS. They provide a unified hardware access across MCUs allowing to develop simpler and more portable RTOS drivers or bare board application. See chapter Logical Device Drivers for details.

• High Level Components - Components that are the basic set of components designed carefully to provide functionality to most microcontrollers in market. An application built from these components can be easily ported to another microcontroller supported by the Processor Expert. This basic set contains for example components for simple I/O operations (BitIO, BitsIO, ByteIO, ...), timers (EventCounter, TimerInt, FreeCntr, TimerOut, PWM, PPG, Capture, WatchDog,...), communication (AsynchroSerial, SynchroMaster, SynchroSlave, AsynchroMaster, AsynchroSlave, IIC), ADC, internal memories. This group of components allows comfortable settings of a desired functionality such as time in ms or frequency in Hz without user knowing about the details of the hardware registers. MCU specific features are supported only as CPU specific settings or methods and are not portable. The components inheriting or sharing a high-level component(s) to access hardware are also high-level components.

• Low Level Components - Components that are 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 due to a different component interface and the component is usually implemented only for a MCU family offering the appropriate peripheral. However, you can easily set device features and use effective set of methods and events. • Peripheral Initialization Components - Components that are on the lowest level of abstraction. An interface of such components is based on the set of peripheral control registers. These components cover all features of the peripherals and are designed for initialization of these peripherals. Usually contain only "Init" method, see for further details). The rest of the function has to be implemented using a low level access to the peripheral. This kind of components could be found in the "CPU Internal Peripherals / Peripheral Initialization Components" folder of the Components library and they are available only for some CPU families. The interface of these components might be different for a different CPU. The name of these components starts with the prefix 'Init_'.

see also this diagram:

View solution in original post

0 Kudos
Reply
1 Reply
1,768 Views
ZhangJennie
NXP TechSupport
NXP TechSupport

Processor Expert provides components with several levels of abstraction and configuration comfort.

• LDD components - Logical Device Drivers. The LDD components are efficient set of components that are ready to be used together with RTOS. They provide a unified hardware access across MCUs allowing to develop simpler and more portable RTOS drivers or bare board application. See chapter Logical Device Drivers for details.

• High Level Components - Components that are the basic set of components designed carefully to provide functionality to most microcontrollers in market. An application built from these components can be easily ported to another microcontroller supported by the Processor Expert. This basic set contains for example components for simple I/O operations (BitIO, BitsIO, ByteIO, ...), timers (EventCounter, TimerInt, FreeCntr, TimerOut, PWM, PPG, Capture, WatchDog,...), communication (AsynchroSerial, SynchroMaster, SynchroSlave, AsynchroMaster, AsynchroSlave, IIC), ADC, internal memories. This group of components allows comfortable settings of a desired functionality such as time in ms or frequency in Hz without user knowing about the details of the hardware registers. MCU specific features are supported only as CPU specific settings or methods and are not portable. The components inheriting or sharing a high-level component(s) to access hardware are also high-level components.

• Low Level Components - Components that are 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 due to a different component interface and the component is usually implemented only for a MCU family offering the appropriate peripheral. However, you can easily set device features and use effective set of methods and events. • Peripheral Initialization Components - Components that are on the lowest level of abstraction. An interface of such components is based on the set of peripheral control registers. These components cover all features of the peripherals and are designed for initialization of these peripherals. Usually contain only "Init" method, see for further details). The rest of the function has to be implemented using a low level access to the peripheral. This kind of components could be found in the "CPU Internal Peripherals / Peripheral Initialization Components" folder of the Components library and they are available only for some CPU families. The interface of these components might be different for a different CPU. The name of these components starts with the prefix 'Init_'.

see also this diagram:

0 Kudos
Reply