HAL Interfaces

The HAL supports separate interfaces for many peripherals. A brief description of the interfaces are shown below.

Hal Name Interface File Description
bsp hal_bsp.h An hardware independent interface to identify and access underlying BSP.
flash api for apps to use hal_flash.h A blocking interface to access flash memory.
flash api for drivers to implement flash_map.h An interface to query information about the flash map (regions and sectors)
gpio hal_gpio.h An interface for manipulating General Purpose Inputs and Outputs.
i2c hal_i2c.h An interface for controlling Inter-Integrated-Circuit (i2c) devices.
OS tick hal_os_tick.h An interface to set up interrupt timers or halt CPU in terms of OS ticks.
spi hal_spi.h An interface for controlling Serial Peripheral Interface (SPI) devices.
system hal_system.h An interface for starting and resetting the system.
timer hal_cputime.h An interface for configuring and running HW timers
uart hal_uart.h An interface for communicating via asynchronous serial interface.
watchdog hal_watchdog.h An interface for enabling internal hardware watchdogs.