Overview

What is a HAL?

A HAL is a software layer that allows programming on different hardware devices at a general or abstract level.

Most of the more important hardware manufacturers provide a HAL to interact with their devices.

Some of the most well-known HALs are:

arduino.png

raspberry.png

legato.png

mangoh.png

android.png

windows.png

VMX-PI / PyPi Internal HAL Internal HAL

All of them with the same target:

“Make it easy for the developer to deal with different hardware platforms and hardware changes”.

Overview

The GMV Framework for IoT Devices, specifically through its deepsy platform, provides a robust hardware abstraction layer (HAL) that enhances flexibility, compatibility, and ease of development. Here's an expanded view of the framework's key capabilities:

Hardware Abstraction

Enables developers to create high-level applications independent of specific onboard units (OBUs), which means applications can be supported over the long term without worrying about hardware dependencies.

Obsolescence Management

deepsy manages hardware changes transparently, so developers don't need to modify applications when the hardware is updated, ensuring longevity for high-level applications.

Concurrent Access to Hardware

Allows multiple applications to access device information concurrently, without conflicts, which is crucial for real-time, multi-functional IoT applications.

Multi-API Support

Supports multiple programming environments, including C++ (via Conan), Java (via Maven), and C# (.NET Core via NuGet), which broadens the developer base and provides flexibility for various use cases.

Ease of Development

Developers can link to deepsy services directly from their laptops, which streamlines the development process and simplifies testing and deployment.

Cross-OBU Compatibility

Applications can be migrated seamlessly between different OBUs, thanks to deepsy's abstraction and compatibility layers, making it easier to scale or adapt solutions to different hardware environments. This framework empowers developers to focus on high-level application functionality while deepsy handles the complexities of hardware interaction and compatibility across different IoT and transport units.