/*
ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio.
This file is part of ChibiOS.
ChibiOS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
ChibiOS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
/**
* @defgroup HAL HAL Driver
* @brief Hardware Abstraction Layer.
* @details The HAL (Hardware Abstraction Layer) driver performs the system
* initialization and includes the platform support code shared by
* the other drivers. This driver does contain any API function
* except for a general initialization function @p halInit() that
* must be invoked before any HAL service can be used, usually the
* HAL initialization should be performed immediately before the
* kernel initialization.
* Some HAL driver implementations also offer a custom early clock
* setup function that can be invoked before the C runtime
* initialization in order to accelerate the startup time.
*
* @ingroup HAL_NORMAL_DRIVERS
*/