Drivers and Low-Level Software
The development of drivers and low-level software forms the technical foundation for almost every embedded system. This layer is responsible for the direct control of hardware components as well as the initial system configuration of a microcontroller or processor. The goal is a stable, traceable, and documented software base upon which operating systems, middleware, or application software can be built.


Low Level Embedded Software
Board Support Packages and Hardware Abstraction Layers
PICKPLACE develops and integrates low-level software for microcontroller and processor platforms within the scope of hardware developments, platform porting, or the commissioning of new assemblies. Both internal controller peripherals and external components are connected.
Typical project content includes the development, adaptation, or porting of drivers for various hardware functions.
Driver Development
Unlike in prototypical or purely application-oriented embedded projects, many safety-critical systems are characterized by the fact that drivers are not based on existing libraries or generic HAL implementations. In such projects, drivers often have to be developed from scratch.
The background lies in the requirements for traceability, deterministic behavior, and complete control over the executed code. Existing drivers from SDKs or middleware are often designed for rapid development, but they contain extensive abstraction layers, unnecessary functions, or hard-to-verify implementations.
In safety-critical architectures, a complete low-level implementation is therefore often created. In this process, the software is developed directly based on the instruction set of the respective microcontroller or microprocessor. Register accesses, interrupt handling, memory accesses, and timing behavior are specifically implemented and verified. The goal is to completely understand, control, and verify critical code.
Communication
Many embedded systems are based on standardized communication interfaces for connecting sensors, actuators, or subsystems. This includes the implementation and integration of drivers for:
Memory Interface
Another component of the low-level layer is accessing internal and external memory. In many projects, developing or adapting a bootloader is also required, for example, for firmware updates or secure system startup.
Analog and digital peripherals
For connecting hardware functions, drivers are implemented for various peripheral devices, such as:
These components often form the basis for sensor connections or power controls.
Display and Camera
For systems with visual components, interfaces for display or camera modules are also part of low-level integration. Here, the respective interface controllers are configured and connected to the overlying software.
Safety & Security
Modern microcontroller and processor platforms feature integrated mechanisms to support security and safety requirements.
Motor Controllers and Power Electronics
In many embedded systems, controlling actuators and power electronics is also part of low-level software. This particularly includes applications in the areas of drive control, industrial actuators, or control units for machines and vehicles. Driver development here encompasses both the connection of specialized controller ICs and the direct control of power stages.
Typical content includes: