Low Level Driver Library for TLE987x
// Effective initialization of hardware modules and their configuration.
Qualified Low Level Driver Library for MOTIX™ TLE987x
The qualified Low Level Driver (LLD) Library for MOTIX™ MCU TLE987x family enables users to configure and initialize the hardware modules and interact with them at run-time. The library contains of 21 driver folders for the respective hardware blocks. Each folder contains a module (.c/.h file pair) for the exposed APIs and the configuration data structures. In addition, multiple modules with the non-exposed driver parts and a type definition header (contains enumeration types for symbolic representation of register field values).
Built on top of Cortex Microcontroller Software Interface Standard (CMSIS). The driver uses the device abstraction (device header file TLE987x.h with register and bitfield symbols and addresses) from the device SDK.
The LLD is offered as a qualified and tested code for productive usage. Customers can get access to documentation and test reports in the quality package.
Some facts about the MOTIX™ LLD
Qualified and maintained software for productive use
Comprehensive user and quality documents
Supported configuration
Low Level Driver Library at a glance
A Low Level Driver (LLD) is a unified API for controlling the peripheral modules on the microcontroller. The primary purpose of an LLD is to initialize hardware devices and provide an interface for higher-level software components to interact with the hardware. LLDs are specific to a particular device or family of devices, and they are designed to work with the hardware at a very low level, providing the ability to control the device's functionality directly.
-
Integrate the library to your application project by copying the files or by installing the CMSIS pack in Keil µVision.
-
Include the driver header files in your application modules (1).
-
Create variables of the respective configuration struct type and assign default by calling the Ifx_*_InitDriver() (2).
-
Set the values of the struct members using the provided enumeration type members (3).
-
Initialize the peripheral by calling the Ifx_*_Init(&config) function (4)
-
Call the APIs in your code (5).
Delivery Scope:
-
LLD Source Code (available also as CMSIS pack)
-
User documentation (API)
-
Example Application collection
-
SW Requirement Specification (incl. Traceability Reports to architecture and test)
-
SW architecture documentation (Enterprise Architect HTML export)
-
Static Code Analysis Report (including MISRA Report)
-
Unit Test Report
Driver/folder name |
Description |
adc1 |
10-Bit Analog Digital Converter (ADC1) |
adc2 |
Measurement Core Unit including the ADC2 Core (8-bit ADC). |
bdrv |
Bridge Driver (including Charge pump) to drive external NFET B6 bridge |
ccu6 |
Capture/Compare Unit 6 |
cpu |
Arm® Cortex®-M3 Core |
csa |
Current Sense Amplifier |
dma |
Direct Memory Access Controller |
gpio |
General Purpose Input/Output (GPIO) Ports and peripheral I/O |
gpt12 |
General Purpose Timer Units GPT1 and GPT2 |
isr |
Interrupt System |
mf |
Measurement Unit |
mon |
High-Voltage Monitor Input |
pmu |
Power Management Unit |
scu_dm |
System Control Unit: Digital Modules |
scu_pm |
System Control Unit - Power Modules |
sdadc |
14-bit Sigma Delta ADC Driver (ADC3/4) |
ssc |
High-Speed Synchronous Serial Interface (SSC1/SSC2) |
timer2x |
Timer2 and Timer21 |
timer3 |
Timer3 |
uart |
UART1/UART2 |
wdt1 |
Watchdog Timer (WDT1) |
common |
Header for commonly used data types |
sfr_access |
Provides access routines for Special Function Registers (SFR) |
The LLD is tested with the Compiler ArmClang V6.x (esp. V6.16 and V6.19). The clang and lto technologies are recommended to minimize code overhead caused by the rich API approach.
Example project files are provided for:
- Visual Studio Code (using Python Scons build)
The library is available as CMSIS pack file for the usage in
- Keil Embedded Development Tools for Arm 5.38