# Hardware Abstraction Layer (HAL)

READ ME FIRST

Author:
  Derek Smith

## Introduction

The Hardware Abstraction Layer (HAL) provides an easy way to port the ZNP library and examples to other hardware environments.

Prior to changing hardware platforms, it is recommended:

- You have tested all the ZNP examples on known working hardware
- You have extensive programming experience with your desired hardware environment
- You have sufficient time. Porting HAL to a new processor (e.g. Stellaris ARM) took approx. 3-5 days.

To change hardware platforms, the following steps are recommended:

- Copy the hal files (e.g. hal_cc2530znp_target_board.c and hal_cc2530znp_target_board.h) and save them with the name of your platform, for example "hal_gw0.c".
- Define a project property with the name of your environment (e.g. GW0)
- In hal.h add an option for your environment
- Modify your new hal file for your hardware platform.

Note:
  Projects compiled with IAR Embedded Workbench for IAR version 4.21.2

All Files Functions Variables