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. |