From 809e59f6c3f667661959317c67b48bdba1603407 Mon Sep 17 00:00:00 2001 From: barthess Date: Sun, 16 Nov 2014 13:51:14 +0300 Subject: Added hooks for community source --- os/hal/hal.mk | 3 +- os/hal/include/hal_community.h | 74 ++++++++++++++++++++++++++++ os/hal/src/hal_community.c | 66 +++++++++++++++++++++++++ testhal/STM32/STM32F4xx/FSMC_NAND/halconf.h | 7 +++ testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf.h | 7 +++ testhal/STM32/STM32F4xx/FSMC_SRAM/halconf.h | 7 +++ 6 files changed, 163 insertions(+), 1 deletion(-) create mode 100644 os/hal/include/hal_community.h create mode 100644 os/hal/src/hal_community.c diff --git a/os/hal/hal.mk b/os/hal/hal.mk index 72b9b74..47f24b0 100644 --- a/os/hal/hal.mk +++ b/os/hal/hal.mk @@ -1,5 +1,6 @@ include ${CHIBIOS}/os/hal/hal.mk -HALSRC += ${CHIBIOS}/community/os/hal/src/nand.c +HALSRC += ${CHIBIOS}/community/os/hal/src/hal_community.c \ + ${CHIBIOS}/community/os/hal/src/nand.c HALINC += ${CHIBIOS}/community/os/hal/include diff --git a/os/hal/include/hal_community.h b/os/hal/include/hal_community.h new file mode 100644 index 0000000..502e960 --- /dev/null +++ b/os/hal/include/hal_community.h @@ -0,0 +1,74 @@ +/* + ChibiOS/HAL - Copyright (C) 2014 Uladzimir Pylinsky aka barthess + + This file is part of ChibiOS/HAL + + ChibiOS/HAL 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/RT 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 . +*/ + +/** + * @file hal_community.h + * @brief HAL subsystem header (community part). + * + * @addtogroup HAL_COMMUNITY + * @{ + */ + +#ifndef _HAL_COMMUNITY_H_ +#define _HAL_COMMUNITY_H_ + +/* Abstract interfaces.*/ + +/* Shared headers.*/ + +/* Normal drivers.*/ +#include "nand.h" + +/* Complex drivers.*/ + +/*===========================================================================*/ +/* Driver constants. */ +/*===========================================================================*/ + +/*===========================================================================*/ +/* Driver pre-compile time settings. */ +/*===========================================================================*/ + +/*===========================================================================*/ +/* Derived constants and error checks. */ +/*===========================================================================*/ + +/*===========================================================================*/ +/* Driver data structures and types. */ +/*===========================================================================*/ + +/*===========================================================================*/ +/* Driver macros. */ +/*===========================================================================*/ + +/*===========================================================================*/ +/* External declarations. */ +/*===========================================================================*/ + +#ifdef __cplusplus +extern "C" { +#endif + void halCommunityInit(void); +#ifdef __cplusplus +} +#endif + +#endif /* _HAL_COMMUNITY_H_ */ + +/** @} */ diff --git a/os/hal/src/hal_community.c b/os/hal/src/hal_community.c new file mode 100644 index 0000000..b1e13e6 --- /dev/null +++ b/os/hal/src/hal_community.c @@ -0,0 +1,66 @@ +/* + ChibiOS/HAL - Copyright (C) 2014 Uladzimir Pylinsky aka barthess + + This file is part of ChibiOS/HAL + + ChibiOS/HAL 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/RT 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 . +*/ + +/** + * @file hal.c + * @brief HAL subsystem code. + * + * @addtogroup HAL + * @{ + */ + +#include "hal.h" + +#if HAL_USE_COMMUNITY || defined(__DOXYGEN__) + +/*===========================================================================*/ +/* Driver local definitions. */ +/*===========================================================================*/ + +/*===========================================================================*/ +/* Driver exported variables. */ +/*===========================================================================*/ + +/*===========================================================================*/ +/* Driver local variables and types. */ +/*===========================================================================*/ + +/*===========================================================================*/ +/* Driver local functions. */ +/*===========================================================================*/ + +/*===========================================================================*/ +/* Driver exported functions. */ +/*===========================================================================*/ + +/** + * @brief HAL initialization (community part). + * + * @init + */ +void halCommunityInit(void) { + +#if HAL_USE_NAND || defined(__DOXYGEN__) + nandInit(); +#endif +} + +#endif /* HAL_USE_COMMUNITY */ + +/** @} */ diff --git a/testhal/STM32/STM32F4xx/FSMC_NAND/halconf.h b/testhal/STM32/STM32F4xx/FSMC_NAND/halconf.h index f73801d..81c8fee 100644 --- a/testhal/STM32/STM32F4xx/FSMC_NAND/halconf.h +++ b/testhal/STM32/STM32F4xx/FSMC_NAND/halconf.h @@ -30,6 +30,13 @@ #include "mcuconf.h" +/** + * @brief Enables the community overlay. + */ +#if !defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__) +#define HAL_USE_COMMUNITY TRUE +#endif + /** * @brief Enables the PAL subsystem. */ diff --git a/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf.h b/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf.h index aa413e0..35f8130 100644 --- a/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf.h +++ b/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf.h @@ -30,6 +30,13 @@ #include "mcuconf.h" +/** + * @brief Enables the community overlay. + */ +#if !defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__) +#define HAL_USE_COMMUNITY TRUE +#endif + /** * @brief Enables the PAL subsystem. */ diff --git a/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf.h b/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf.h index aa413e0..35f8130 100644 --- a/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf.h +++ b/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf.h @@ -30,6 +30,13 @@ #include "mcuconf.h" +/** + * @brief Enables the community overlay. + */ +#if !defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__) +#define HAL_USE_COMMUNITY TRUE +#endif + /** * @brief Enables the PAL subsystem. */ -- cgit v1.2.3