aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbarthess <barthess@yandex.ru>2014-11-16 13:51:14 +0300
committerbarthess <barthess@yandex.ru>2014-11-16 13:51:14 +0300
commit809e59f6c3f667661959317c67b48bdba1603407 (patch)
tree0b9099bf904c05f35aa2559dddd84dcafe865539
parenteb7d78a7e9d27ad3874ae42e9c121459efcdd0d3 (diff)
downloadChibiOS-Contrib-809e59f6c3f667661959317c67b48bdba1603407.tar.gz
ChibiOS-Contrib-809e59f6c3f667661959317c67b48bdba1603407.tar.bz2
ChibiOS-Contrib-809e59f6c3f667661959317c67b48bdba1603407.zip
Added hooks for community source
-rw-r--r--os/hal/hal.mk3
-rw-r--r--os/hal/include/hal_community.h74
-rw-r--r--os/hal/src/hal_community.c66
-rw-r--r--testhal/STM32/STM32F4xx/FSMC_NAND/halconf.h7
-rw-r--r--testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf.h7
-rw-r--r--testhal/STM32/STM32F4xx/FSMC_SRAM/halconf.h7
6 files changed, 163 insertions, 1 deletions
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 <http://www.gnu.org/licenses/>.
+*/
+
+/**
+ * @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 <http://www.gnu.org/licenses/>.
+*/
+
+/**
+ * @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
@@ -31,6 +31,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.
*/
#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
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
@@ -31,6 +31,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.
*/
#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
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
@@ -31,6 +31,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.
*/
#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)