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: