git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1100 35acf78f-673a-0410-8e92-d51de3d6d3f4
parent
9b4319f735
commit
05f9e5c721
|
@ -56,7 +56,7 @@ CSRC = ${PORTSRC} \
|
||||||
../../os/io/serial.c \
|
../../os/io/serial.c \
|
||||||
../../os/io/platforms/AT91SAM7X/pal_lld.c \
|
../../os/io/platforms/AT91SAM7X/pal_lld.c \
|
||||||
../../os/io/platforms/AT91SAM7X/serial_lld.c \
|
../../os/io/platforms/AT91SAM7X/serial_lld.c \
|
||||||
at91lib/aic.c \
|
../../os/io/platforms/AT91SAM7X/at91lib/aic.c \
|
||||||
board.c main.c
|
board.c main.c
|
||||||
|
|
||||||
# C++ sources that can be compiled in ARM or THUMB mode depending on the global
|
# C++ sources that can be compiled in ARM or THUMB mode depending on the global
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,84 +0,0 @@
|
||||||
/* ----------------------------------------------------------------------------
|
|
||||||
* ATMEL Microcontroller Software Support - ROUSSET -
|
|
||||||
* ----------------------------------------------------------------------------
|
|
||||||
* Copyright (c) 2006, Atmel Corporation
|
|
||||||
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the disclaiimer below.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the disclaimer below in the documentation and/or
|
|
||||||
* other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* Atmel's name may not be used to endorse or promote products derived from
|
|
||||||
* this software without specific prior written permission.
|
|
||||||
*
|
|
||||||
* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
|
||||||
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
||||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
||||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
|
||||||
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
||||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
||||||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
* ----------------------------------------------------------------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
// Headers
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
#include "aic.h"
|
|
||||||
#include <board.h>
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
// Exported functions
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
/// Configures the interrupt associated with the given source, using the
|
|
||||||
/// specified mode and interrupt handler.
|
|
||||||
/// \param source Interrupt source to configure.
|
|
||||||
/// \param mode Triggering mode of the interrupt.
|
|
||||||
/// \param handler Interrupt handler function.
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
void AIC_ConfigureIT(unsigned int source,
|
|
||||||
unsigned int mode,
|
|
||||||
void (*handler)( void ))
|
|
||||||
{
|
|
||||||
// Disable the interrupt first
|
|
||||||
AT91C_BASE_AIC->AIC_IDCR = 1 << source;
|
|
||||||
|
|
||||||
// Configure mode and handler
|
|
||||||
AT91C_BASE_AIC->AIC_SMR[source] = mode;
|
|
||||||
AT91C_BASE_AIC->AIC_SVR[source] = (unsigned int) handler;
|
|
||||||
|
|
||||||
// Clear interrupt
|
|
||||||
AT91C_BASE_AIC->AIC_ICCR = 1 << source;
|
|
||||||
}
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
/// Enables interrupts coming from the given (unique) source.
|
|
||||||
/// \param source Interrupt source to enable.
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
void AIC_EnableIT(unsigned int source)
|
|
||||||
{
|
|
||||||
AT91C_BASE_AIC->AIC_IECR = 1 << source;
|
|
||||||
}
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
/// Disables interrupts coming from the given (unique) source.
|
|
||||||
/// \param source Interrupt source to enable.
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
void AIC_DisableIT(unsigned int source)
|
|
||||||
{
|
|
||||||
AT91C_BASE_AIC->AIC_IDCR = 1 << source;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,78 +0,0 @@
|
||||||
/* ----------------------------------------------------------------------------
|
|
||||||
* ATMEL Microcontroller Software Support - ROUSSET -
|
|
||||||
* ----------------------------------------------------------------------------
|
|
||||||
* Copyright (c) 2006, Atmel Corporation
|
|
||||||
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the disclaiimer below.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the disclaimer below in the documentation and/or
|
|
||||||
* other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* Atmel's name may not be used to endorse or promote products derived from
|
|
||||||
* this software without specific prior written permission.
|
|
||||||
*
|
|
||||||
* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
|
||||||
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
||||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
||||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
|
||||||
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
||||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
||||||
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
* ----------------------------------------------------------------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
/// \dir
|
|
||||||
/// !Purpose
|
|
||||||
///
|
|
||||||
/// Methods and definitions for configuring interrupts using the Advanced
|
|
||||||
/// Interrupt Controller (AIC).
|
|
||||||
///
|
|
||||||
/// !Usage
|
|
||||||
/// -# Configure an interrupt source using AIC_ConfigureIT
|
|
||||||
/// -# Enable or disable interrupt generation of a particular source with
|
|
||||||
/// AIC_EnableIT and AIC_DisableIT.
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
#ifndef AIC_H
|
|
||||||
#define AIC_H
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
// Headers
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
#include <board.h>
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
// Definitions
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
#ifndef AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL
|
|
||||||
/// Redefinition of missing constant.
|
|
||||||
#define AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL AT91C_AIC_SRCTYPE_INT_LEVEL_SENSITIVE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
// Global functions
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
extern void AIC_ConfigureIT(unsigned int source,
|
|
||||||
unsigned int mode,
|
|
||||||
void (*handler)( void ));
|
|
||||||
|
|
||||||
extern void AIC_EnableIT(unsigned int source);
|
|
||||||
|
|
||||||
extern void AIC_DisableIT(unsigned int source);
|
|
||||||
|
|
||||||
#endif //#ifndef AIC_H
|
|
||||||
|
|
Loading…
Reference in New Issue