git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1334 35acf78f-673a-0410-8e92-d51de3d6d3f4
parent
16178e1c45
commit
8b412a5a70
|
@ -30,6 +30,8 @@
|
|||
#include "halconf.h"
|
||||
#include "board.h"
|
||||
|
||||
#include "hal_lld.h"
|
||||
|
||||
#include "pal.h"
|
||||
#include "adc.h"
|
||||
#include "can.h"
|
||||
|
|
|
@ -26,8 +26,6 @@
|
|||
|
||||
#include "ch.h"
|
||||
#include "hal.h"
|
||||
#include "stm32_dma.h"
|
||||
#include "nvic.h"
|
||||
|
||||
#if CH_HAL_USE_ADC
|
||||
|
||||
|
|
|
@ -0,0 +1,128 @@
|
|||
/*
|
||||
ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
|
||||
|
||||
This file is part of ChibiOS/RT.
|
||||
|
||||
ChibiOS/RT 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 templates/hal_lld.c
|
||||
* @brief HAL Driver subsystem low level driver source template
|
||||
* @addtogroup HAL_LLD
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include <ch.h>
|
||||
#include <hal.h>
|
||||
|
||||
#define AIRCR_VECTKEY 0x05FA0000
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Low Level Driver exported variables. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Low Level Driver local variables. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*
|
||||
* Digital I/O ports static configuration as defined in @p board.h.
|
||||
*/
|
||||
const STM32GPIOConfig pal_default_config =
|
||||
{
|
||||
{VAL_GPIOAODR, VAL_GPIOACRL, VAL_GPIOACRH},
|
||||
{VAL_GPIOBODR, VAL_GPIOBCRL, VAL_GPIOBCRH},
|
||||
{VAL_GPIOCODR, VAL_GPIOCCRL, VAL_GPIOCCRH},
|
||||
{VAL_GPIODODR, VAL_GPIODCRL, VAL_GPIODCRH},
|
||||
#if !defined(STM32F10X_LD)
|
||||
{VAL_GPIOEODR, VAL_GPIOECRL, VAL_GPIOECRH},
|
||||
#endif
|
||||
#if defined(STM32F10X_HD)
|
||||
{VAL_GPIOFODR, VAL_GPIOFCRL, VAL_GPIOFCRH},
|
||||
{VAL_GPIOGODR, VAL_GPIOGCRL, VAL_GPIOGCRH},
|
||||
#endif
|
||||
};
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Low Level Driver local functions. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Low Level Driver interrupt handlers. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Low Level Driver exported functions. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Low level HAL driver initialization.
|
||||
*/
|
||||
void hal_lld_init(void) {
|
||||
|
||||
#if CH_HAL_USE_ADC || CH_HAL_USE_SPI
|
||||
dmaInit();
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief STM32 clocks and PLL initialization.
|
||||
* @note All the involved constants come from the file @p board.h.
|
||||
*/
|
||||
void stm32_clock_init(void) {
|
||||
|
||||
/* HSI setup.*/
|
||||
RCC->CR = RCC_CR_HSITRIM_RESET_BITS | RCC_CR_HSION;
|
||||
while (!(RCC->CR & RCC_CR_HSIRDY))
|
||||
; /* Waits until HSI stable. */
|
||||
/* HSE setup.*/
|
||||
RCC->CR |= RCC_CR_HSEON;
|
||||
while (!(RCC->CR & RCC_CR_HSERDY))
|
||||
; /* Waits until HSE stable. */
|
||||
/* PLL setup.*/
|
||||
RCC->CFGR = RCC_CFGR_PLLSRC_HSE_BITS | PLLPREBITS | PLLMULBITS;
|
||||
RCC->CR |= RCC_CR_PLLON;
|
||||
while (!(RCC->CR & RCC_CR_PLLRDY))
|
||||
; /* Waits until PLL stable. */
|
||||
/* Clock sources.*/
|
||||
RCC->CFGR |= RCC_CFGR_HPRE_DIV1 | RCC_CFGR_PPRE1_DIV2 |
|
||||
RCC_CFGR_PPRE2_DIV2 | RCC_CFGR_ADCPRE_DIV8 |
|
||||
RCC_CFGR_MCO_NOCLOCK | USBPREBITS;
|
||||
|
||||
/* Flash setup and final clock selection. */
|
||||
FLASH->ACR = FLASHBITS; /* Flash wait states depending on clock. */
|
||||
RCC->CFGR |= RCC_CFGR_SW_PLL; /* Switches the PLL clock ON. */
|
||||
while ((RCC->CFGR & RCC_CFGR_SW) != RCC_CFGR_SW_PLL)
|
||||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief STM32 NVIC/SCB/SYSTICK initialization.
|
||||
* @note All the involved constants come from the file @p board.h.
|
||||
*/
|
||||
void stm32_nvic_init(void) {
|
||||
|
||||
/* Note: PRIGROUP 4:0 (4:4).*/
|
||||
SCB->AIRCR = AIRCR_VECTKEY | SCB_AIRCR_PRIGROUP_0 | SCB_AIRCR_PRIGROUP_1;
|
||||
NVICSetSystemHandlerPriority(HANDLER_SVCALL, PRIORITY_SVCALL);
|
||||
NVICSetSystemHandlerPriority(HANDLER_SYSTICK, PRIORITY_SYSTICK);
|
||||
NVICSetSystemHandlerPriority(HANDLER_PENDSV, PRIORITY_PENDSV);
|
||||
|
||||
SysTick->LOAD = SYSCLK / (8000000 / CH_FREQUENCY) - 1;
|
||||
SysTick->VAL = 0;
|
||||
SysTick->CTRL = SysTick_CTRL_ENABLE | SysTick_CTRL_TICKINT;
|
||||
}
|
||||
|
||||
/** @} */
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
|
||||
|
||||
This file is part of ChibiOS/RT.
|
||||
|
||||
ChibiOS/RT 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 templates/hal_lld.h
|
||||
* @brief HAL subsystem low level driver header template
|
||||
* @addtogroup HAL_LLD
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef _HAL_LLD_H_
|
||||
#define _HAL_LLD_H_
|
||||
|
||||
#include "nvic.h"
|
||||
#include "stm32_dma.h"
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver pre-compile time settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver constants. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver data structures and types. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*===========================================================================*/
|
||||
/* External declarations. */
|
||||
/*===========================================================================*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
void hal_lld_init(void);
|
||||
void stm32_clock_init(void);
|
||||
void stm32_nvic_init(void);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _HAL_LLD_H_ */
|
||||
|
||||
/** @} */
|
|
@ -1,10 +1,11 @@
|
|||
# List of all the STM32 platform files.
|
||||
PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/STM32/stm32_dma.c \
|
||||
PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/STM32/hal_lld.c \
|
||||
${CHIBIOS}/os/hal/platforms/STM32/adc_lld.c \
|
||||
${CHIBIOS}/os/hal/platforms/STM32/can_lld.c \
|
||||
${CHIBIOS}/os/hal/platforms/STM32/pal_lld.c \
|
||||
${CHIBIOS}/os/hal/platforms/STM32/serial_lld.c \
|
||||
${CHIBIOS}/os/hal/platforms/STM32/spi_lld.c
|
||||
${CHIBIOS}/os/hal/platforms/STM32/spi_lld.c \
|
||||
${CHIBIOS}/os/hal/platforms/STM32/stm32_dma.c
|
||||
|
||||
# Required include directories
|
||||
PLATFORMINC = ${CHIBIOS}/os/hal/platforms/STM32
|
||||
|
|
|
@ -26,7 +26,6 @@
|
|||
|
||||
#include "ch.h"
|
||||
#include "hal.h"
|
||||
#include "nvic.h"
|
||||
|
||||
#if CH_HAL_USE_SERIAL
|
||||
|
||||
|
|
|
@ -26,8 +26,6 @@
|
|||
|
||||
#include "ch.h"
|
||||
#include "hal.h"
|
||||
#include "nvic.h"
|
||||
#include "stm32_dma.h"
|
||||
|
||||
#if CH_HAL_USE_SPI
|
||||
|
||||
|
|
|
@ -25,13 +25,7 @@
|
|||
*/
|
||||
|
||||
#include "ch.h"
|
||||
#include "stm32_dma.h"
|
||||
|
||||
#undef FALSE
|
||||
#undef TRUE
|
||||
#include <stm32f10x.h>
|
||||
#define FALSE 0
|
||||
#define TRUE (!FALSE)
|
||||
#include "hal.h"
|
||||
|
||||
static cnt_t dmacnt1;
|
||||
#if defined(STM32F10X_HD) || defined (STM32F10X_CL)
|
||||
|
|
|
@ -27,8 +27,13 @@
|
|||
#include "ch.h"
|
||||
#include "hal.h"
|
||||
|
||||
/**
|
||||
* @brief HAL initialization.
|
||||
*/
|
||||
void halInit(void) {
|
||||
|
||||
hal_lld_init();
|
||||
|
||||
#if CH_HAL_USE_PAL
|
||||
palInit(&pal_default_config);
|
||||
#endif
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
|
||||
|
||||
This file is part of ChibiOS/RT.
|
||||
|
||||
ChibiOS/RT 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 templates/hal_lld.c
|
||||
* @brief HAL Driver subsystem low level driver source template
|
||||
* @addtogroup HAL_LLD
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include <ch.h>
|
||||
#include <hal.h>
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Low Level Driver exported variables. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Low Level Driver local variables. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Low Level Driver local functions. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Low Level Driver interrupt handlers. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Low Level Driver exported functions. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Low level HAL driver initialization.
|
||||
*/
|
||||
void hal_lld_init(void) {
|
||||
|
||||
}
|
||||
|
||||
/** @} */
|
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
|
||||
|
||||
This file is part of ChibiOS/RT.
|
||||
|
||||
ChibiOS/RT 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 templates/hal_lld.h
|
||||
* @brief HAL subsystem low level driver header template
|
||||
* @addtogroup HAL_LLD
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef _HAL_LLD_H_
|
||||
#define _HAL_LLD_H_
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver pre-compile time settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver constants. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver data structures and types. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*===========================================================================*/
|
||||
/* External declarations. */
|
||||
/*===========================================================================*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
void hal_lld_init(void);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _HAL_LLD_H_ */
|
||||
|
||||
/** @} */
|
|
@ -0,0 +1,87 @@
|
|||
/*
|
||||
ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
|
||||
|
||||
This file is part of ChibiOS/RT.
|
||||
|
||||
ChibiOS/RT 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 XXX.c
|
||||
* @brief XXX Driver code.
|
||||
* @addtogroup XXX
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include <ch.h>
|
||||
#include <xxx.h>
|
||||
|
||||
/**
|
||||
* @brief XXX Driver initialization.
|
||||
*/
|
||||
void xxxInit(void) {
|
||||
|
||||
xxx_lld_init();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Initializes the standard part of a @p XXXDriver structure.
|
||||
*
|
||||
* @param[in] xxxp pointer to the @p XXXDriver object
|
||||
*/
|
||||
void xxxObjectInit(XXXDriver *xxxp) {
|
||||
|
||||
xxxp->xxx_state = XXX_STOP;
|
||||
xxxp->xxx_config = NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Configures and activates the XXX peripheral.
|
||||
*
|
||||
* @param[in] xxxp pointer to the @p XXXDriver object
|
||||
* @param[in] config pointer to the @p XXXConfig object
|
||||
*/
|
||||
void xxxStart(XXXDriver *xxxp, const XXXConfig *config) {
|
||||
|
||||
chDbgCheck((xxxp != NULL) && (config != NULL), "xxxStart");
|
||||
|
||||
chSysLock();
|
||||
chDbgAssert((xxxp->xxx_state == XXX_STOP) || (xxxp->xxx_state == XXX_READY),
|
||||
"xxxStart(), #1",
|
||||
"invalid state");
|
||||
xxxp->xxx_config = config;
|
||||
xxx_lld_start(xxxp);
|
||||
xxxp->xxx_state = XXX_READY;
|
||||
chSysUnlock();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Deactivates the XXX peripheral.
|
||||
*
|
||||
* @param[in] xxxp pointer to the @p XXXDriver object
|
||||
*/
|
||||
void xxxStop(XXXDriver *xxxp) {
|
||||
|
||||
chDbgCheck(xxxp != NULL, "xxxStop");
|
||||
|
||||
chSysLock();
|
||||
chDbgAssert((xxxp->xxx_state == XXX_STOP) || (xxxp->xxx_state == XXX_READY),
|
||||
"xxxStop(), #1",
|
||||
"invalid state");
|
||||
xxx_lld_stop(xxxp);
|
||||
xxxp->xxx_state = XXX_STOP;
|
||||
chSysUnlock();
|
||||
}
|
||||
|
||||
/** @} */
|
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
|
||||
|
||||
This file is part of ChibiOS/RT.
|
||||
|
||||
ChibiOS/RT 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 xxx.h
|
||||
* @brief XXX Driver macros and structures.
|
||||
* @addtogroup XXX
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef _XXX_H_
|
||||
#define _XXX_H_
|
||||
|
||||
/**
|
||||
* @brief Driver state machine possible states.
|
||||
*/
|
||||
typedef enum {
|
||||
XXX_UNINIT = 0, /**< @brief Not initialized. */
|
||||
XXX_STOP = 1, /**< @brief Stopped. */
|
||||
XXX_READY = 2, /**< @brief Ready. */
|
||||
} xxxstate_t;
|
||||
|
||||
#include "xxx_lld.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
void xxxInit(void);
|
||||
void xxxObjectInit(XXXDriver *xxxp);
|
||||
void xxxStart(XXXDriver *xxxp, const XXXConfig *config);
|
||||
void xxxStop(XXXDriver *xxxp);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _XXX_H_ */
|
||||
|
||||
/** @} */
|
|
@ -0,0 +1,79 @@
|
|||
/*
|
||||
ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
|
||||
|
||||
This file is part of ChibiOS/RT.
|
||||
|
||||
ChibiOS/RT 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 templates/xxx_lld.c
|
||||
* @brief XXX Driver subsystem low level driver source template
|
||||
* @addtogroup XXX_LLD
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include <ch.h>
|
||||
#include <xxx.h>
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Low Level Driver exported variables. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Low Level Driver local variables. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Low Level Driver local functions. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Low Level Driver interrupt handlers. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Low Level Driver exported functions. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Low level XXX driver initialization.
|
||||
*/
|
||||
void xxx_lld_init(void) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Configures and activates the XXX peripheral.
|
||||
*
|
||||
* @param[in] xxxp pointer to the @p XXXDriver object
|
||||
*/
|
||||
void xxx_lld_start(XXXDriver *xxxp) {
|
||||
|
||||
if (xxxp->xxx_state == XXX_STOP) {
|
||||
/* Clock activation.*/
|
||||
}
|
||||
/* Configuration.*/
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Deactivates the XXX peripheral.
|
||||
*
|
||||
* @param[in] xxxp pointer to the @p XXXDriver object
|
||||
*/
|
||||
void xxx_lld_stop(XXXDriver *xxxp) {
|
||||
|
||||
}
|
||||
|
||||
/** @} */
|
|
@ -0,0 +1,81 @@
|
|||
/*
|
||||
ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
|
||||
|
||||
This file is part of ChibiOS/RT.
|
||||
|
||||
ChibiOS/RT 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 templates/xxx_lld.h
|
||||
* @brief XXX Driver subsystem low level driver header template
|
||||
* @addtogroup XXX_LLD
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef _XXX_LLD_H_
|
||||
#define _XXX_LLD_H_
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver pre-compile time settings. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver constants. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver data structures and types. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/**
|
||||
* @brief Driver configuration structure.
|
||||
* @note It could be empty on some architectures.
|
||||
*/
|
||||
typedef struct {
|
||||
|
||||
} XXXConfig;
|
||||
|
||||
/**
|
||||
* @brief Structure representing an XXX driver.
|
||||
*/
|
||||
typedef struct {
|
||||
/**
|
||||
* @brief Driver state.
|
||||
*/
|
||||
xxxstate_t xxx_state;
|
||||
/**
|
||||
* @brief Current configuration data.
|
||||
*/
|
||||
const XXXConfig *xxx_config;
|
||||
/* End of the mandatory fields.*/
|
||||
} XXXDriver;
|
||||
|
||||
/*===========================================================================*/
|
||||
/* External declarations. */
|
||||
/*===========================================================================*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
void xxx_lld_init(void);
|
||||
void xxx_lld_start(XXXDriver *xxxp);
|
||||
void xxx_lld_stop(XXXDriver *xxxp);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _XXX_LLD_H_ */
|
||||
|
||||
/** @} */
|
|
@ -107,7 +107,9 @@ int _lseek_r(struct _reent *r, int file, int ptr, int dir)
|
|||
|
||||
int _write_r(struct _reent *r, int file, char * ptr, int len)
|
||||
{
|
||||
#if defined(STDOUT_SD)
|
||||
int n;
|
||||
#endif
|
||||
|
||||
(void)r;
|
||||
(void)file;
|
||||
|
|
Loading…
Reference in New Issue