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

 

// What is a Low Level Driver?

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.

// How to use the Low Level Driver?
  • 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).

// What is delivered with the Low Level Drive?

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

// Which peripherals are supported?

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)

// Which development tools are supported?

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