User manual
 

Component Categories

Components Library Categories

Complete list of the component categories and corresponding components can be found in the Component Categories page of the Components Library

The components are categorized based on their functionality, so you can find an appropriate component for a desired function in the appropriate category.

There are the following main categories, which further contain various sub-categories.

  • CPU External Devices - Components for devices externally controlled to the CPU. For example sensors, memories, displays or EVM equipment.
  • CPU Internal Peripherals - Components using any of on-chip peripherals offered by the CPU. The Components Library folder with the same name contains sub-folders for the specific groups of functionality. (i.e. Converters, Timers, PortIO etc.)

    Note: It seems that components (especially in this category) correspond to on-chip peripherals. Even this declaration is close to the true, the main purpose of the component is providing the same interface and functionality for all supported MCUs. This portability is the reason why the component interface often doesn't copy all features of the specific peripheral.

  • Logical Device Drivers - LDD components.
  • Operating systems - Components related to Processor Expert interaction with operating system running on the target.
  • SW - Components encapsulating a pure software algorithms or inheriting a hardware-dependent components for accessing peripherals. These components (along with components created by the user) can be found in a components library in the folder 'SW'.

Specific functionality of the MCU may be supported as a version-specific settings of the component. For more information about this feature please refer to Version specific parts in the component documentation or Components Implementation help chapter.

Levels of Abstraction

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_'.

Features of Components at Different Level of Abstraction

Feature LDD components High level Low level Peripheral Init
High-level settings portable between different MCU families partially yes partially no
Portable method interface for all CPU families yes yes partially
(usually direct access to control registers)
Init method only
CPU specific peripheral features support mostly yes partially mostly yes full
Low-level peripheral initialization settings partially no partially yes
Speed mode independent timing yes yes mostly yes no
Events support yes yes yes no
(direct interrupt handling)
Software emulation of a component function (if the specific hardware is not present) no yes no no
Support for RTOS drivers creation yes no no no