mirror of
https://github.com/fhgwright/SCSI2SD.git
synced 2025-04-10 01:37:07 +00:00
Add v5.2 missing generated files
This commit is contained in:
parent
349051b744
commit
a468c0e1db
@ -0,0 +1,409 @@
|
||||
/*******************************************************************************
|
||||
* File Name: NOR_RX_DMA_COMPLETE.c
|
||||
* Version 1.70
|
||||
*
|
||||
* Description:
|
||||
* API for controlling the state of an interrupt.
|
||||
*
|
||||
*
|
||||
* Note:
|
||||
*
|
||||
********************************************************************************
|
||||
* Copyright 2008-2015, Cypress Semiconductor Corporation. All rights reserved.
|
||||
* You may use this file only in accordance with the license, terms, conditions,
|
||||
* disclaimers, and limitations in the end user license agreement accompanying
|
||||
* the software package with which this file was provided.
|
||||
*******************************************************************************/
|
||||
|
||||
|
||||
#include <cydevice_trm.h>
|
||||
#include <CyLib.h>
|
||||
#include <NOR_RX_DMA_COMPLETE.h>
|
||||
|
||||
|
||||
#if !defined(NOR_RX_DMA_COMPLETE__REMOVED) /* Check for removal by optimization */
|
||||
|
||||
/*******************************************************************************
|
||||
* Place your includes, defines and code here
|
||||
********************************************************************************/
|
||||
/* `#START NOR_RX_DMA_COMPLETE_intc` */
|
||||
|
||||
/* `#END` */
|
||||
|
||||
#ifndef CYINT_IRQ_BASE
|
||||
#define CYINT_IRQ_BASE 16
|
||||
#endif /* CYINT_IRQ_BASE */
|
||||
#ifndef CYINT_VECT_TABLE
|
||||
#define CYINT_VECT_TABLE ((cyisraddress **) CYREG_NVIC_VECT_OFFSET)
|
||||
#endif /* CYINT_VECT_TABLE */
|
||||
|
||||
/* Declared in startup, used to set unused interrupts to. */
|
||||
CY_ISR_PROTO(IntDefaultHandler);
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_RX_DMA_COMPLETE_Start
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Set up the interrupt and enable it. This function disables the interrupt,
|
||||
* sets the default interrupt vector, sets the priority from the value in the
|
||||
* Design Wide Resources Interrupt Editor, then enables the interrupt to the
|
||||
* interrupt controller.
|
||||
*
|
||||
* Parameters:
|
||||
* None
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
*******************************************************************************/
|
||||
void NOR_RX_DMA_COMPLETE_Start(void)
|
||||
{
|
||||
/* For all we know the interrupt is active. */
|
||||
NOR_RX_DMA_COMPLETE_Disable();
|
||||
|
||||
/* Set the ISR to point to the NOR_RX_DMA_COMPLETE Interrupt. */
|
||||
NOR_RX_DMA_COMPLETE_SetVector(&NOR_RX_DMA_COMPLETE_Interrupt);
|
||||
|
||||
/* Set the priority. */
|
||||
NOR_RX_DMA_COMPLETE_SetPriority((uint8)NOR_RX_DMA_COMPLETE_INTC_PRIOR_NUMBER);
|
||||
|
||||
/* Enable it. */
|
||||
NOR_RX_DMA_COMPLETE_Enable();
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_RX_DMA_COMPLETE_StartEx
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Sets up the interrupt and enables it. This function disables the interrupt,
|
||||
* sets the interrupt vector based on the address passed in, sets the priority
|
||||
* from the value in the Design Wide Resources Interrupt Editor, then enables
|
||||
* the interrupt to the interrupt controller.
|
||||
*
|
||||
* When defining ISR functions, the CY_ISR and CY_ISR_PROTO macros should be
|
||||
* used to provide consistent definition across compilers:
|
||||
*
|
||||
* Function definition example:
|
||||
* CY_ISR(MyISR)
|
||||
* {
|
||||
* }
|
||||
* Function prototype example:
|
||||
* CY_ISR_PROTO(MyISR);
|
||||
*
|
||||
* Parameters:
|
||||
* address: Address of the ISR to set in the interrupt vector table.
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
*******************************************************************************/
|
||||
void NOR_RX_DMA_COMPLETE_StartEx(cyisraddress address)
|
||||
{
|
||||
/* For all we know the interrupt is active. */
|
||||
NOR_RX_DMA_COMPLETE_Disable();
|
||||
|
||||
/* Set the ISR to point to the NOR_RX_DMA_COMPLETE Interrupt. */
|
||||
NOR_RX_DMA_COMPLETE_SetVector(address);
|
||||
|
||||
/* Set the priority. */
|
||||
NOR_RX_DMA_COMPLETE_SetPriority((uint8)NOR_RX_DMA_COMPLETE_INTC_PRIOR_NUMBER);
|
||||
|
||||
/* Enable it. */
|
||||
NOR_RX_DMA_COMPLETE_Enable();
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_RX_DMA_COMPLETE_Stop
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Disables and removes the interrupt.
|
||||
*
|
||||
* Parameters:
|
||||
* None
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
*******************************************************************************/
|
||||
void NOR_RX_DMA_COMPLETE_Stop(void)
|
||||
{
|
||||
/* Disable this interrupt. */
|
||||
NOR_RX_DMA_COMPLETE_Disable();
|
||||
|
||||
/* Set the ISR to point to the passive one. */
|
||||
NOR_RX_DMA_COMPLETE_SetVector(&IntDefaultHandler);
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_RX_DMA_COMPLETE_Interrupt
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* The default Interrupt Service Routine for NOR_RX_DMA_COMPLETE.
|
||||
*
|
||||
* Add custom code between the coments to keep the next version of this file
|
||||
* from over writting your code.
|
||||
*
|
||||
* Parameters:
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
*******************************************************************************/
|
||||
CY_ISR(NOR_RX_DMA_COMPLETE_Interrupt)
|
||||
{
|
||||
#ifdef NOR_RX_DMA_COMPLETE_INTERRUPT_INTERRUPT_CALLBACK
|
||||
NOR_RX_DMA_COMPLETE_Interrupt_InterruptCallback();
|
||||
#endif /* NOR_RX_DMA_COMPLETE_INTERRUPT_INTERRUPT_CALLBACK */
|
||||
|
||||
/* Place your Interrupt code here. */
|
||||
/* `#START NOR_RX_DMA_COMPLETE_Interrupt` */
|
||||
|
||||
/* `#END` */
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_RX_DMA_COMPLETE_SetVector
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Change the ISR vector for the Interrupt. Note calling NOR_RX_DMA_COMPLETE_Start
|
||||
* will override any effect this method would have had. To set the vector
|
||||
* before the component has been started use NOR_RX_DMA_COMPLETE_StartEx instead.
|
||||
*
|
||||
* When defining ISR functions, the CY_ISR and CY_ISR_PROTO macros should be
|
||||
* used to provide consistent definition across compilers:
|
||||
*
|
||||
* Function definition example:
|
||||
* CY_ISR(MyISR)
|
||||
* {
|
||||
* }
|
||||
*
|
||||
* Function prototype example:
|
||||
* CY_ISR_PROTO(MyISR);
|
||||
*
|
||||
* Parameters:
|
||||
* address: Address of the ISR to set in the interrupt vector table.
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
*******************************************************************************/
|
||||
void NOR_RX_DMA_COMPLETE_SetVector(cyisraddress address)
|
||||
{
|
||||
cyisraddress * ramVectorTable;
|
||||
|
||||
ramVectorTable = (cyisraddress *) *CYINT_VECT_TABLE;
|
||||
|
||||
ramVectorTable[CYINT_IRQ_BASE + (uint32)NOR_RX_DMA_COMPLETE__INTC_NUMBER] = address;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_RX_DMA_COMPLETE_GetVector
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Gets the "address" of the current ISR vector for the Interrupt.
|
||||
*
|
||||
* Parameters:
|
||||
* None
|
||||
*
|
||||
* Return:
|
||||
* Address of the ISR in the interrupt vector table.
|
||||
*
|
||||
*******************************************************************************/
|
||||
cyisraddress NOR_RX_DMA_COMPLETE_GetVector(void)
|
||||
{
|
||||
cyisraddress * ramVectorTable;
|
||||
|
||||
ramVectorTable = (cyisraddress *) *CYINT_VECT_TABLE;
|
||||
|
||||
return ramVectorTable[CYINT_IRQ_BASE + (uint32)NOR_RX_DMA_COMPLETE__INTC_NUMBER];
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_RX_DMA_COMPLETE_SetPriority
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Sets the Priority of the Interrupt.
|
||||
*
|
||||
* Note calling NOR_RX_DMA_COMPLETE_Start or NOR_RX_DMA_COMPLETE_StartEx will
|
||||
* override any effect this API would have had. This API should only be called
|
||||
* after NOR_RX_DMA_COMPLETE_Start or NOR_RX_DMA_COMPLETE_StartEx has been called.
|
||||
* To set the initial priority for the component, use the Design-Wide Resources
|
||||
* Interrupt Editor.
|
||||
*
|
||||
* Note This API has no effect on Non-maskable interrupt NMI).
|
||||
*
|
||||
* Parameters:
|
||||
* priority: Priority of the interrupt, 0 being the highest priority
|
||||
* PSoC 3 and PSoC 5LP: Priority is from 0 to 7.
|
||||
* PSoC 4: Priority is from 0 to 3.
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
*******************************************************************************/
|
||||
void NOR_RX_DMA_COMPLETE_SetPriority(uint8 priority)
|
||||
{
|
||||
*NOR_RX_DMA_COMPLETE_INTC_PRIOR = priority << 5;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_RX_DMA_COMPLETE_GetPriority
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Gets the Priority of the Interrupt.
|
||||
*
|
||||
* Parameters:
|
||||
* None
|
||||
*
|
||||
* Return:
|
||||
* Priority of the interrupt, 0 being the highest priority
|
||||
* PSoC 3 and PSoC 5LP: Priority is from 0 to 7.
|
||||
* PSoC 4: Priority is from 0 to 3.
|
||||
*
|
||||
*******************************************************************************/
|
||||
uint8 NOR_RX_DMA_COMPLETE_GetPriority(void)
|
||||
{
|
||||
uint8 priority;
|
||||
|
||||
|
||||
priority = *NOR_RX_DMA_COMPLETE_INTC_PRIOR >> 5;
|
||||
|
||||
return priority;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_RX_DMA_COMPLETE_Enable
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Enables the interrupt to the interrupt controller. Do not call this function
|
||||
* unless ISR_Start() has been called or the functionality of the ISR_Start()
|
||||
* function, which sets the vector and the priority, has been called.
|
||||
*
|
||||
* Parameters:
|
||||
* None
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
*******************************************************************************/
|
||||
void NOR_RX_DMA_COMPLETE_Enable(void)
|
||||
{
|
||||
/* Enable the general interrupt. */
|
||||
*NOR_RX_DMA_COMPLETE_INTC_SET_EN = NOR_RX_DMA_COMPLETE__INTC_MASK;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_RX_DMA_COMPLETE_GetState
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Gets the state (enabled, disabled) of the Interrupt.
|
||||
*
|
||||
* Parameters:
|
||||
* None
|
||||
*
|
||||
* Return:
|
||||
* 1 if enabled, 0 if disabled.
|
||||
*
|
||||
*******************************************************************************/
|
||||
uint8 NOR_RX_DMA_COMPLETE_GetState(void)
|
||||
{
|
||||
/* Get the state of the general interrupt. */
|
||||
return ((*NOR_RX_DMA_COMPLETE_INTC_SET_EN & (uint32)NOR_RX_DMA_COMPLETE__INTC_MASK) != 0u) ? 1u:0u;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_RX_DMA_COMPLETE_Disable
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Disables the Interrupt in the interrupt controller.
|
||||
*
|
||||
* Parameters:
|
||||
* None
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
*******************************************************************************/
|
||||
void NOR_RX_DMA_COMPLETE_Disable(void)
|
||||
{
|
||||
/* Disable the general interrupt. */
|
||||
*NOR_RX_DMA_COMPLETE_INTC_CLR_EN = NOR_RX_DMA_COMPLETE__INTC_MASK;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_RX_DMA_COMPLETE_SetPending
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Causes the Interrupt to enter the pending state, a software method of
|
||||
* generating the interrupt.
|
||||
*
|
||||
* Parameters:
|
||||
* None
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
* Side Effects:
|
||||
* If interrupts are enabled and the interrupt is set up properly, the ISR is
|
||||
* entered (depending on the priority of this interrupt and other pending
|
||||
* interrupts).
|
||||
*
|
||||
*******************************************************************************/
|
||||
void NOR_RX_DMA_COMPLETE_SetPending(void)
|
||||
{
|
||||
*NOR_RX_DMA_COMPLETE_INTC_SET_PD = NOR_RX_DMA_COMPLETE__INTC_MASK;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_RX_DMA_COMPLETE_ClearPending
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Clears a pending interrupt in the interrupt controller.
|
||||
*
|
||||
* Note Some interrupt sources are clear-on-read and require the block
|
||||
* interrupt/status register to be read/cleared with the appropriate block API
|
||||
* (GPIO, UART, and so on). Otherwise the ISR will continue to remain in
|
||||
* pending state even though the interrupt itself is cleared using this API.
|
||||
*
|
||||
* Parameters:
|
||||
* None
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
*******************************************************************************/
|
||||
void NOR_RX_DMA_COMPLETE_ClearPending(void)
|
||||
{
|
||||
*NOR_RX_DMA_COMPLETE_INTC_CLR_PD = NOR_RX_DMA_COMPLETE__INTC_MASK;
|
||||
}
|
||||
|
||||
#endif /* End check for removal by optimization */
|
||||
|
||||
|
||||
/* [] END OF FILE */
|
@ -0,0 +1,70 @@
|
||||
/*******************************************************************************
|
||||
* File Name: NOR_RX_DMA_COMPLETE.h
|
||||
* Version 1.70
|
||||
*
|
||||
* Description:
|
||||
* Provides the function definitions for the Interrupt Controller.
|
||||
*
|
||||
*
|
||||
********************************************************************************
|
||||
* Copyright 2008-2015, Cypress Semiconductor Corporation. All rights reserved.
|
||||
* You may use this file only in accordance with the license, terms, conditions,
|
||||
* disclaimers, and limitations in the end user license agreement accompanying
|
||||
* the software package with which this file was provided.
|
||||
*******************************************************************************/
|
||||
#if !defined(CY_ISR_NOR_RX_DMA_COMPLETE_H)
|
||||
#define CY_ISR_NOR_RX_DMA_COMPLETE_H
|
||||
|
||||
|
||||
#include <cytypes.h>
|
||||
#include <cyfitter.h>
|
||||
|
||||
/* Interrupt Controller API. */
|
||||
void NOR_RX_DMA_COMPLETE_Start(void);
|
||||
void NOR_RX_DMA_COMPLETE_StartEx(cyisraddress address);
|
||||
void NOR_RX_DMA_COMPLETE_Stop(void);
|
||||
|
||||
CY_ISR_PROTO(NOR_RX_DMA_COMPLETE_Interrupt);
|
||||
|
||||
void NOR_RX_DMA_COMPLETE_SetVector(cyisraddress address);
|
||||
cyisraddress NOR_RX_DMA_COMPLETE_GetVector(void);
|
||||
|
||||
void NOR_RX_DMA_COMPLETE_SetPriority(uint8 priority);
|
||||
uint8 NOR_RX_DMA_COMPLETE_GetPriority(void);
|
||||
|
||||
void NOR_RX_DMA_COMPLETE_Enable(void);
|
||||
uint8 NOR_RX_DMA_COMPLETE_GetState(void);
|
||||
void NOR_RX_DMA_COMPLETE_Disable(void);
|
||||
|
||||
void NOR_RX_DMA_COMPLETE_SetPending(void);
|
||||
void NOR_RX_DMA_COMPLETE_ClearPending(void);
|
||||
|
||||
|
||||
/* Interrupt Controller Constants */
|
||||
|
||||
/* Address of the INTC.VECT[x] register that contains the Address of the NOR_RX_DMA_COMPLETE ISR. */
|
||||
#define NOR_RX_DMA_COMPLETE_INTC_VECTOR ((reg32 *) NOR_RX_DMA_COMPLETE__INTC_VECT)
|
||||
|
||||
/* Address of the NOR_RX_DMA_COMPLETE ISR priority. */
|
||||
#define NOR_RX_DMA_COMPLETE_INTC_PRIOR ((reg8 *) NOR_RX_DMA_COMPLETE__INTC_PRIOR_REG)
|
||||
|
||||
/* Priority of the NOR_RX_DMA_COMPLETE interrupt. */
|
||||
#define NOR_RX_DMA_COMPLETE_INTC_PRIOR_NUMBER NOR_RX_DMA_COMPLETE__INTC_PRIOR_NUM
|
||||
|
||||
/* Address of the INTC.SET_EN[x] byte to bit enable NOR_RX_DMA_COMPLETE interrupt. */
|
||||
#define NOR_RX_DMA_COMPLETE_INTC_SET_EN ((reg32 *) NOR_RX_DMA_COMPLETE__INTC_SET_EN_REG)
|
||||
|
||||
/* Address of the INTC.CLR_EN[x] register to bit clear the NOR_RX_DMA_COMPLETE interrupt. */
|
||||
#define NOR_RX_DMA_COMPLETE_INTC_CLR_EN ((reg32 *) NOR_RX_DMA_COMPLETE__INTC_CLR_EN_REG)
|
||||
|
||||
/* Address of the INTC.SET_PD[x] register to set the NOR_RX_DMA_COMPLETE interrupt state to pending. */
|
||||
#define NOR_RX_DMA_COMPLETE_INTC_SET_PD ((reg32 *) NOR_RX_DMA_COMPLETE__INTC_SET_PD_REG)
|
||||
|
||||
/* Address of the INTC.CLR_PD[x] register to clear the NOR_RX_DMA_COMPLETE interrupt. */
|
||||
#define NOR_RX_DMA_COMPLETE_INTC_CLR_PD ((reg32 *) NOR_RX_DMA_COMPLETE__INTC_CLR_PD_REG)
|
||||
|
||||
|
||||
#endif /* CY_ISR_NOR_RX_DMA_COMPLETE_H */
|
||||
|
||||
|
||||
/* [] END OF FILE */
|
@ -0,0 +1,141 @@
|
||||
/***************************************************************************
|
||||
* File Name: NOR_RX_DMA_dma.c
|
||||
* Version 1.70
|
||||
*
|
||||
* Description:
|
||||
* Provides an API for the DMAC component. The API includes functions
|
||||
* for the DMA controller, DMA channels and Transfer Descriptors.
|
||||
*
|
||||
*
|
||||
* Note:
|
||||
* This module requires the developer to finish or fill in the auto
|
||||
* generated funcions and setup the dma channel and TD's.
|
||||
*
|
||||
********************************************************************************
|
||||
* Copyright 2008-2010, Cypress Semiconductor Corporation. All rights reserved.
|
||||
* You may use this file only in accordance with the license, terms, conditions,
|
||||
* disclaimers, and limitations in the end user license agreement accompanying
|
||||
* the software package with which this file was provided.
|
||||
********************************************************************************/
|
||||
#include <CYLIB.H>
|
||||
#include <CYDMAC.H>
|
||||
#include <NOR_RX_DMA_dma.H>
|
||||
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* The following defines are available in Cyfitter.h
|
||||
*
|
||||
*
|
||||
*
|
||||
* NOR_RX_DMA__DRQ_CTL_REG
|
||||
*
|
||||
*
|
||||
* NOR_RX_DMA__DRQ_NUMBER
|
||||
*
|
||||
* Number of TD's used by this channel.
|
||||
* NOR_RX_DMA__NUMBEROF_TDS
|
||||
*
|
||||
* Priority of this channel.
|
||||
* NOR_RX_DMA__PRIORITY
|
||||
*
|
||||
* True if NOR_RX_DMA_TERMIN_SEL is used.
|
||||
* NOR_RX_DMA__TERMIN_EN
|
||||
*
|
||||
* TERMIN interrupt line to signal terminate.
|
||||
* NOR_RX_DMA__TERMIN_SEL
|
||||
*
|
||||
*
|
||||
* True if NOR_RX_DMA_TERMOUT0_SEL is used.
|
||||
* NOR_RX_DMA__TERMOUT0_EN
|
||||
*
|
||||
*
|
||||
* TERMOUT0 interrupt line to signal completion.
|
||||
* NOR_RX_DMA__TERMOUT0_SEL
|
||||
*
|
||||
*
|
||||
* True if NOR_RX_DMA_TERMOUT1_SEL is used.
|
||||
* NOR_RX_DMA__TERMOUT1_EN
|
||||
*
|
||||
*
|
||||
* TERMOUT1 interrupt line to signal completion.
|
||||
* NOR_RX_DMA__TERMOUT1_SEL
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
/* Zero based index of NOR_RX_DMA dma channel */
|
||||
uint8 NOR_RX_DMA_DmaHandle = DMA_INVALID_CHANNEL;
|
||||
|
||||
/*********************************************************************
|
||||
* Function Name: uint8 NOR_RX_DMA_DmaInitalize
|
||||
**********************************************************************
|
||||
* Summary:
|
||||
* Allocates and initialises a channel of the DMAC to be used by the
|
||||
* caller.
|
||||
*
|
||||
* Parameters:
|
||||
* BurstCount.
|
||||
*
|
||||
*
|
||||
* ReqestPerBurst.
|
||||
*
|
||||
*
|
||||
* UpperSrcAddress.
|
||||
*
|
||||
*
|
||||
* UpperDestAddress.
|
||||
*
|
||||
*
|
||||
* Return:
|
||||
* The channel that can be used by the caller for DMA activity.
|
||||
* DMA_INVALID_CHANNEL (0xFF) if there are no channels left.
|
||||
*
|
||||
*
|
||||
*******************************************************************/
|
||||
uint8 NOR_RX_DMA_DmaInitialize(uint8 BurstCount, uint8 ReqestPerBurst, uint16 UpperSrcAddress, uint16 UpperDestAddress)
|
||||
{
|
||||
|
||||
/* Allocate a DMA channel. */
|
||||
NOR_RX_DMA_DmaHandle = (uint8)NOR_RX_DMA__DRQ_NUMBER;
|
||||
|
||||
/* Configure the channel. */
|
||||
(void)CyDmaChSetConfiguration(NOR_RX_DMA_DmaHandle,
|
||||
BurstCount,
|
||||
ReqestPerBurst,
|
||||
(uint8)NOR_RX_DMA__TERMOUT0_SEL,
|
||||
(uint8)NOR_RX_DMA__TERMOUT1_SEL,
|
||||
(uint8)NOR_RX_DMA__TERMIN_SEL);
|
||||
|
||||
/* Set the extended address for the transfers */
|
||||
(void)CyDmaChSetExtendedAddress(NOR_RX_DMA_DmaHandle, UpperSrcAddress, UpperDestAddress);
|
||||
|
||||
/* Set the priority for this channel */
|
||||
(void)CyDmaChPriority(NOR_RX_DMA_DmaHandle, (uint8)NOR_RX_DMA__PRIORITY);
|
||||
|
||||
return NOR_RX_DMA_DmaHandle;
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* Function Name: void NOR_RX_DMA_DmaRelease
|
||||
**********************************************************************
|
||||
* Summary:
|
||||
* Frees the channel associated with NOR_RX_DMA.
|
||||
*
|
||||
*
|
||||
* Parameters:
|
||||
* void.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return:
|
||||
* void.
|
||||
*
|
||||
*******************************************************************/
|
||||
void NOR_RX_DMA_DmaRelease(void)
|
||||
{
|
||||
/* Disable the channel */
|
||||
(void)CyDmaChDisable(NOR_RX_DMA_DmaHandle);
|
||||
}
|
||||
|
@ -0,0 +1,35 @@
|
||||
/******************************************************************************
|
||||
* File Name: NOR_RX_DMA_dma.h
|
||||
* Version 1.70
|
||||
*
|
||||
* Description:
|
||||
* Provides the function definitions for the DMA Controller.
|
||||
*
|
||||
*
|
||||
********************************************************************************
|
||||
* Copyright 2008-2010, Cypress Semiconductor Corporation. All rights reserved.
|
||||
* You may use this file only in accordance with the license, terms, conditions,
|
||||
* disclaimers, and limitations in the end user license agreement accompanying
|
||||
* the software package with which this file was provided.
|
||||
********************************************************************************/
|
||||
#if !defined(CY_DMA_NOR_RX_DMA_DMA_H__)
|
||||
#define CY_DMA_NOR_RX_DMA_DMA_H__
|
||||
|
||||
|
||||
|
||||
#include <CYDMAC.H>
|
||||
#include <CYFITTER.H>
|
||||
|
||||
#define NOR_RX_DMA__TD_TERMOUT_EN (((0 != NOR_RX_DMA__TERMOUT0_EN) ? TD_TERMOUT0_EN : 0) | \
|
||||
(NOR_RX_DMA__TERMOUT1_EN ? TD_TERMOUT1_EN : 0))
|
||||
|
||||
/* Zero based index of NOR_RX_DMA dma channel */
|
||||
extern uint8 NOR_RX_DMA_DmaHandle;
|
||||
|
||||
|
||||
uint8 NOR_RX_DMA_DmaInitialize(uint8 BurstCount, uint8 ReqestPerBurst, uint16 UpperSrcAddress, uint16 UpperDestAddress) ;
|
||||
void NOR_RX_DMA_DmaRelease(void) ;
|
||||
|
||||
|
||||
/* CY_DMA_NOR_RX_DMA_DMA_H__ */
|
||||
#endif
|
@ -0,0 +1,409 @@
|
||||
/*******************************************************************************
|
||||
* File Name: NOR_TX_DMA_COMPLETE.c
|
||||
* Version 1.70
|
||||
*
|
||||
* Description:
|
||||
* API for controlling the state of an interrupt.
|
||||
*
|
||||
*
|
||||
* Note:
|
||||
*
|
||||
********************************************************************************
|
||||
* Copyright 2008-2015, Cypress Semiconductor Corporation. All rights reserved.
|
||||
* You may use this file only in accordance with the license, terms, conditions,
|
||||
* disclaimers, and limitations in the end user license agreement accompanying
|
||||
* the software package with which this file was provided.
|
||||
*******************************************************************************/
|
||||
|
||||
|
||||
#include <cydevice_trm.h>
|
||||
#include <CyLib.h>
|
||||
#include <NOR_TX_DMA_COMPLETE.h>
|
||||
|
||||
|
||||
#if !defined(NOR_TX_DMA_COMPLETE__REMOVED) /* Check for removal by optimization */
|
||||
|
||||
/*******************************************************************************
|
||||
* Place your includes, defines and code here
|
||||
********************************************************************************/
|
||||
/* `#START NOR_TX_DMA_COMPLETE_intc` */
|
||||
|
||||
/* `#END` */
|
||||
|
||||
#ifndef CYINT_IRQ_BASE
|
||||
#define CYINT_IRQ_BASE 16
|
||||
#endif /* CYINT_IRQ_BASE */
|
||||
#ifndef CYINT_VECT_TABLE
|
||||
#define CYINT_VECT_TABLE ((cyisraddress **) CYREG_NVIC_VECT_OFFSET)
|
||||
#endif /* CYINT_VECT_TABLE */
|
||||
|
||||
/* Declared in startup, used to set unused interrupts to. */
|
||||
CY_ISR_PROTO(IntDefaultHandler);
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_TX_DMA_COMPLETE_Start
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Set up the interrupt and enable it. This function disables the interrupt,
|
||||
* sets the default interrupt vector, sets the priority from the value in the
|
||||
* Design Wide Resources Interrupt Editor, then enables the interrupt to the
|
||||
* interrupt controller.
|
||||
*
|
||||
* Parameters:
|
||||
* None
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
*******************************************************************************/
|
||||
void NOR_TX_DMA_COMPLETE_Start(void)
|
||||
{
|
||||
/* For all we know the interrupt is active. */
|
||||
NOR_TX_DMA_COMPLETE_Disable();
|
||||
|
||||
/* Set the ISR to point to the NOR_TX_DMA_COMPLETE Interrupt. */
|
||||
NOR_TX_DMA_COMPLETE_SetVector(&NOR_TX_DMA_COMPLETE_Interrupt);
|
||||
|
||||
/* Set the priority. */
|
||||
NOR_TX_DMA_COMPLETE_SetPriority((uint8)NOR_TX_DMA_COMPLETE_INTC_PRIOR_NUMBER);
|
||||
|
||||
/* Enable it. */
|
||||
NOR_TX_DMA_COMPLETE_Enable();
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_TX_DMA_COMPLETE_StartEx
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Sets up the interrupt and enables it. This function disables the interrupt,
|
||||
* sets the interrupt vector based on the address passed in, sets the priority
|
||||
* from the value in the Design Wide Resources Interrupt Editor, then enables
|
||||
* the interrupt to the interrupt controller.
|
||||
*
|
||||
* When defining ISR functions, the CY_ISR and CY_ISR_PROTO macros should be
|
||||
* used to provide consistent definition across compilers:
|
||||
*
|
||||
* Function definition example:
|
||||
* CY_ISR(MyISR)
|
||||
* {
|
||||
* }
|
||||
* Function prototype example:
|
||||
* CY_ISR_PROTO(MyISR);
|
||||
*
|
||||
* Parameters:
|
||||
* address: Address of the ISR to set in the interrupt vector table.
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
*******************************************************************************/
|
||||
void NOR_TX_DMA_COMPLETE_StartEx(cyisraddress address)
|
||||
{
|
||||
/* For all we know the interrupt is active. */
|
||||
NOR_TX_DMA_COMPLETE_Disable();
|
||||
|
||||
/* Set the ISR to point to the NOR_TX_DMA_COMPLETE Interrupt. */
|
||||
NOR_TX_DMA_COMPLETE_SetVector(address);
|
||||
|
||||
/* Set the priority. */
|
||||
NOR_TX_DMA_COMPLETE_SetPriority((uint8)NOR_TX_DMA_COMPLETE_INTC_PRIOR_NUMBER);
|
||||
|
||||
/* Enable it. */
|
||||
NOR_TX_DMA_COMPLETE_Enable();
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_TX_DMA_COMPLETE_Stop
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Disables and removes the interrupt.
|
||||
*
|
||||
* Parameters:
|
||||
* None
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
*******************************************************************************/
|
||||
void NOR_TX_DMA_COMPLETE_Stop(void)
|
||||
{
|
||||
/* Disable this interrupt. */
|
||||
NOR_TX_DMA_COMPLETE_Disable();
|
||||
|
||||
/* Set the ISR to point to the passive one. */
|
||||
NOR_TX_DMA_COMPLETE_SetVector(&IntDefaultHandler);
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_TX_DMA_COMPLETE_Interrupt
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* The default Interrupt Service Routine for NOR_TX_DMA_COMPLETE.
|
||||
*
|
||||
* Add custom code between the coments to keep the next version of this file
|
||||
* from over writting your code.
|
||||
*
|
||||
* Parameters:
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
*******************************************************************************/
|
||||
CY_ISR(NOR_TX_DMA_COMPLETE_Interrupt)
|
||||
{
|
||||
#ifdef NOR_TX_DMA_COMPLETE_INTERRUPT_INTERRUPT_CALLBACK
|
||||
NOR_TX_DMA_COMPLETE_Interrupt_InterruptCallback();
|
||||
#endif /* NOR_TX_DMA_COMPLETE_INTERRUPT_INTERRUPT_CALLBACK */
|
||||
|
||||
/* Place your Interrupt code here. */
|
||||
/* `#START NOR_TX_DMA_COMPLETE_Interrupt` */
|
||||
|
||||
/* `#END` */
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_TX_DMA_COMPLETE_SetVector
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Change the ISR vector for the Interrupt. Note calling NOR_TX_DMA_COMPLETE_Start
|
||||
* will override any effect this method would have had. To set the vector
|
||||
* before the component has been started use NOR_TX_DMA_COMPLETE_StartEx instead.
|
||||
*
|
||||
* When defining ISR functions, the CY_ISR and CY_ISR_PROTO macros should be
|
||||
* used to provide consistent definition across compilers:
|
||||
*
|
||||
* Function definition example:
|
||||
* CY_ISR(MyISR)
|
||||
* {
|
||||
* }
|
||||
*
|
||||
* Function prototype example:
|
||||
* CY_ISR_PROTO(MyISR);
|
||||
*
|
||||
* Parameters:
|
||||
* address: Address of the ISR to set in the interrupt vector table.
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
*******************************************************************************/
|
||||
void NOR_TX_DMA_COMPLETE_SetVector(cyisraddress address)
|
||||
{
|
||||
cyisraddress * ramVectorTable;
|
||||
|
||||
ramVectorTable = (cyisraddress *) *CYINT_VECT_TABLE;
|
||||
|
||||
ramVectorTable[CYINT_IRQ_BASE + (uint32)NOR_TX_DMA_COMPLETE__INTC_NUMBER] = address;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_TX_DMA_COMPLETE_GetVector
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Gets the "address" of the current ISR vector for the Interrupt.
|
||||
*
|
||||
* Parameters:
|
||||
* None
|
||||
*
|
||||
* Return:
|
||||
* Address of the ISR in the interrupt vector table.
|
||||
*
|
||||
*******************************************************************************/
|
||||
cyisraddress NOR_TX_DMA_COMPLETE_GetVector(void)
|
||||
{
|
||||
cyisraddress * ramVectorTable;
|
||||
|
||||
ramVectorTable = (cyisraddress *) *CYINT_VECT_TABLE;
|
||||
|
||||
return ramVectorTable[CYINT_IRQ_BASE + (uint32)NOR_TX_DMA_COMPLETE__INTC_NUMBER];
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_TX_DMA_COMPLETE_SetPriority
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Sets the Priority of the Interrupt.
|
||||
*
|
||||
* Note calling NOR_TX_DMA_COMPLETE_Start or NOR_TX_DMA_COMPLETE_StartEx will
|
||||
* override any effect this API would have had. This API should only be called
|
||||
* after NOR_TX_DMA_COMPLETE_Start or NOR_TX_DMA_COMPLETE_StartEx has been called.
|
||||
* To set the initial priority for the component, use the Design-Wide Resources
|
||||
* Interrupt Editor.
|
||||
*
|
||||
* Note This API has no effect on Non-maskable interrupt NMI).
|
||||
*
|
||||
* Parameters:
|
||||
* priority: Priority of the interrupt, 0 being the highest priority
|
||||
* PSoC 3 and PSoC 5LP: Priority is from 0 to 7.
|
||||
* PSoC 4: Priority is from 0 to 3.
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
*******************************************************************************/
|
||||
void NOR_TX_DMA_COMPLETE_SetPriority(uint8 priority)
|
||||
{
|
||||
*NOR_TX_DMA_COMPLETE_INTC_PRIOR = priority << 5;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_TX_DMA_COMPLETE_GetPriority
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Gets the Priority of the Interrupt.
|
||||
*
|
||||
* Parameters:
|
||||
* None
|
||||
*
|
||||
* Return:
|
||||
* Priority of the interrupt, 0 being the highest priority
|
||||
* PSoC 3 and PSoC 5LP: Priority is from 0 to 7.
|
||||
* PSoC 4: Priority is from 0 to 3.
|
||||
*
|
||||
*******************************************************************************/
|
||||
uint8 NOR_TX_DMA_COMPLETE_GetPriority(void)
|
||||
{
|
||||
uint8 priority;
|
||||
|
||||
|
||||
priority = *NOR_TX_DMA_COMPLETE_INTC_PRIOR >> 5;
|
||||
|
||||
return priority;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_TX_DMA_COMPLETE_Enable
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Enables the interrupt to the interrupt controller. Do not call this function
|
||||
* unless ISR_Start() has been called or the functionality of the ISR_Start()
|
||||
* function, which sets the vector and the priority, has been called.
|
||||
*
|
||||
* Parameters:
|
||||
* None
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
*******************************************************************************/
|
||||
void NOR_TX_DMA_COMPLETE_Enable(void)
|
||||
{
|
||||
/* Enable the general interrupt. */
|
||||
*NOR_TX_DMA_COMPLETE_INTC_SET_EN = NOR_TX_DMA_COMPLETE__INTC_MASK;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_TX_DMA_COMPLETE_GetState
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Gets the state (enabled, disabled) of the Interrupt.
|
||||
*
|
||||
* Parameters:
|
||||
* None
|
||||
*
|
||||
* Return:
|
||||
* 1 if enabled, 0 if disabled.
|
||||
*
|
||||
*******************************************************************************/
|
||||
uint8 NOR_TX_DMA_COMPLETE_GetState(void)
|
||||
{
|
||||
/* Get the state of the general interrupt. */
|
||||
return ((*NOR_TX_DMA_COMPLETE_INTC_SET_EN & (uint32)NOR_TX_DMA_COMPLETE__INTC_MASK) != 0u) ? 1u:0u;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_TX_DMA_COMPLETE_Disable
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Disables the Interrupt in the interrupt controller.
|
||||
*
|
||||
* Parameters:
|
||||
* None
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
*******************************************************************************/
|
||||
void NOR_TX_DMA_COMPLETE_Disable(void)
|
||||
{
|
||||
/* Disable the general interrupt. */
|
||||
*NOR_TX_DMA_COMPLETE_INTC_CLR_EN = NOR_TX_DMA_COMPLETE__INTC_MASK;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_TX_DMA_COMPLETE_SetPending
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Causes the Interrupt to enter the pending state, a software method of
|
||||
* generating the interrupt.
|
||||
*
|
||||
* Parameters:
|
||||
* None
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
* Side Effects:
|
||||
* If interrupts are enabled and the interrupt is set up properly, the ISR is
|
||||
* entered (depending on the priority of this interrupt and other pending
|
||||
* interrupts).
|
||||
*
|
||||
*******************************************************************************/
|
||||
void NOR_TX_DMA_COMPLETE_SetPending(void)
|
||||
{
|
||||
*NOR_TX_DMA_COMPLETE_INTC_SET_PD = NOR_TX_DMA_COMPLETE__INTC_MASK;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name: NOR_TX_DMA_COMPLETE_ClearPending
|
||||
********************************************************************************
|
||||
*
|
||||
* Summary:
|
||||
* Clears a pending interrupt in the interrupt controller.
|
||||
*
|
||||
* Note Some interrupt sources are clear-on-read and require the block
|
||||
* interrupt/status register to be read/cleared with the appropriate block API
|
||||
* (GPIO, UART, and so on). Otherwise the ISR will continue to remain in
|
||||
* pending state even though the interrupt itself is cleared using this API.
|
||||
*
|
||||
* Parameters:
|
||||
* None
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
*******************************************************************************/
|
||||
void NOR_TX_DMA_COMPLETE_ClearPending(void)
|
||||
{
|
||||
*NOR_TX_DMA_COMPLETE_INTC_CLR_PD = NOR_TX_DMA_COMPLETE__INTC_MASK;
|
||||
}
|
||||
|
||||
#endif /* End check for removal by optimization */
|
||||
|
||||
|
||||
/* [] END OF FILE */
|
@ -0,0 +1,70 @@
|
||||
/*******************************************************************************
|
||||
* File Name: NOR_TX_DMA_COMPLETE.h
|
||||
* Version 1.70
|
||||
*
|
||||
* Description:
|
||||
* Provides the function definitions for the Interrupt Controller.
|
||||
*
|
||||
*
|
||||
********************************************************************************
|
||||
* Copyright 2008-2015, Cypress Semiconductor Corporation. All rights reserved.
|
||||
* You may use this file only in accordance with the license, terms, conditions,
|
||||
* disclaimers, and limitations in the end user license agreement accompanying
|
||||
* the software package with which this file was provided.
|
||||
*******************************************************************************/
|
||||
#if !defined(CY_ISR_NOR_TX_DMA_COMPLETE_H)
|
||||
#define CY_ISR_NOR_TX_DMA_COMPLETE_H
|
||||
|
||||
|
||||
#include <cytypes.h>
|
||||
#include <cyfitter.h>
|
||||
|
||||
/* Interrupt Controller API. */
|
||||
void NOR_TX_DMA_COMPLETE_Start(void);
|
||||
void NOR_TX_DMA_COMPLETE_StartEx(cyisraddress address);
|
||||
void NOR_TX_DMA_COMPLETE_Stop(void);
|
||||
|
||||
CY_ISR_PROTO(NOR_TX_DMA_COMPLETE_Interrupt);
|
||||
|
||||
void NOR_TX_DMA_COMPLETE_SetVector(cyisraddress address);
|
||||
cyisraddress NOR_TX_DMA_COMPLETE_GetVector(void);
|
||||
|
||||
void NOR_TX_DMA_COMPLETE_SetPriority(uint8 priority);
|
||||
uint8 NOR_TX_DMA_COMPLETE_GetPriority(void);
|
||||
|
||||
void NOR_TX_DMA_COMPLETE_Enable(void);
|
||||
uint8 NOR_TX_DMA_COMPLETE_GetState(void);
|
||||
void NOR_TX_DMA_COMPLETE_Disable(void);
|
||||
|
||||
void NOR_TX_DMA_COMPLETE_SetPending(void);
|
||||
void NOR_TX_DMA_COMPLETE_ClearPending(void);
|
||||
|
||||
|
||||
/* Interrupt Controller Constants */
|
||||
|
||||
/* Address of the INTC.VECT[x] register that contains the Address of the NOR_TX_DMA_COMPLETE ISR. */
|
||||
#define NOR_TX_DMA_COMPLETE_INTC_VECTOR ((reg32 *) NOR_TX_DMA_COMPLETE__INTC_VECT)
|
||||
|
||||
/* Address of the NOR_TX_DMA_COMPLETE ISR priority. */
|
||||
#define NOR_TX_DMA_COMPLETE_INTC_PRIOR ((reg8 *) NOR_TX_DMA_COMPLETE__INTC_PRIOR_REG)
|
||||
|
||||
/* Priority of the NOR_TX_DMA_COMPLETE interrupt. */
|
||||
#define NOR_TX_DMA_COMPLETE_INTC_PRIOR_NUMBER NOR_TX_DMA_COMPLETE__INTC_PRIOR_NUM
|
||||
|
||||
/* Address of the INTC.SET_EN[x] byte to bit enable NOR_TX_DMA_COMPLETE interrupt. */
|
||||
#define NOR_TX_DMA_COMPLETE_INTC_SET_EN ((reg32 *) NOR_TX_DMA_COMPLETE__INTC_SET_EN_REG)
|
||||
|
||||
/* Address of the INTC.CLR_EN[x] register to bit clear the NOR_TX_DMA_COMPLETE interrupt. */
|
||||
#define NOR_TX_DMA_COMPLETE_INTC_CLR_EN ((reg32 *) NOR_TX_DMA_COMPLETE__INTC_CLR_EN_REG)
|
||||
|
||||
/* Address of the INTC.SET_PD[x] register to set the NOR_TX_DMA_COMPLETE interrupt state to pending. */
|
||||
#define NOR_TX_DMA_COMPLETE_INTC_SET_PD ((reg32 *) NOR_TX_DMA_COMPLETE__INTC_SET_PD_REG)
|
||||
|
||||
/* Address of the INTC.CLR_PD[x] register to clear the NOR_TX_DMA_COMPLETE interrupt. */
|
||||
#define NOR_TX_DMA_COMPLETE_INTC_CLR_PD ((reg32 *) NOR_TX_DMA_COMPLETE__INTC_CLR_PD_REG)
|
||||
|
||||
|
||||
#endif /* CY_ISR_NOR_TX_DMA_COMPLETE_H */
|
||||
|
||||
|
||||
/* [] END OF FILE */
|
@ -0,0 +1,141 @@
|
||||
/***************************************************************************
|
||||
* File Name: NOR_TX_DMA_dma.c
|
||||
* Version 1.70
|
||||
*
|
||||
* Description:
|
||||
* Provides an API for the DMAC component. The API includes functions
|
||||
* for the DMA controller, DMA channels and Transfer Descriptors.
|
||||
*
|
||||
*
|
||||
* Note:
|
||||
* This module requires the developer to finish or fill in the auto
|
||||
* generated funcions and setup the dma channel and TD's.
|
||||
*
|
||||
********************************************************************************
|
||||
* Copyright 2008-2010, Cypress Semiconductor Corporation. All rights reserved.
|
||||
* You may use this file only in accordance with the license, terms, conditions,
|
||||
* disclaimers, and limitations in the end user license agreement accompanying
|
||||
* the software package with which this file was provided.
|
||||
********************************************************************************/
|
||||
#include <CYLIB.H>
|
||||
#include <CYDMAC.H>
|
||||
#include <NOR_TX_DMA_dma.H>
|
||||
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
* The following defines are available in Cyfitter.h
|
||||
*
|
||||
*
|
||||
*
|
||||
* NOR_TX_DMA__DRQ_CTL_REG
|
||||
*
|
||||
*
|
||||
* NOR_TX_DMA__DRQ_NUMBER
|
||||
*
|
||||
* Number of TD's used by this channel.
|
||||
* NOR_TX_DMA__NUMBEROF_TDS
|
||||
*
|
||||
* Priority of this channel.
|
||||
* NOR_TX_DMA__PRIORITY
|
||||
*
|
||||
* True if NOR_TX_DMA_TERMIN_SEL is used.
|
||||
* NOR_TX_DMA__TERMIN_EN
|
||||
*
|
||||
* TERMIN interrupt line to signal terminate.
|
||||
* NOR_TX_DMA__TERMIN_SEL
|
||||
*
|
||||
*
|
||||
* True if NOR_TX_DMA_TERMOUT0_SEL is used.
|
||||
* NOR_TX_DMA__TERMOUT0_EN
|
||||
*
|
||||
*
|
||||
* TERMOUT0 interrupt line to signal completion.
|
||||
* NOR_TX_DMA__TERMOUT0_SEL
|
||||
*
|
||||
*
|
||||
* True if NOR_TX_DMA_TERMOUT1_SEL is used.
|
||||
* NOR_TX_DMA__TERMOUT1_EN
|
||||
*
|
||||
*
|
||||
* TERMOUT1 interrupt line to signal completion.
|
||||
* NOR_TX_DMA__TERMOUT1_SEL
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
/* Zero based index of NOR_TX_DMA dma channel */
|
||||
uint8 NOR_TX_DMA_DmaHandle = DMA_INVALID_CHANNEL;
|
||||
|
||||
/*********************************************************************
|
||||
* Function Name: uint8 NOR_TX_DMA_DmaInitalize
|
||||
**********************************************************************
|
||||
* Summary:
|
||||
* Allocates and initialises a channel of the DMAC to be used by the
|
||||
* caller.
|
||||
*
|
||||
* Parameters:
|
||||
* BurstCount.
|
||||
*
|
||||
*
|
||||
* ReqestPerBurst.
|
||||
*
|
||||
*
|
||||
* UpperSrcAddress.
|
||||
*
|
||||
*
|
||||
* UpperDestAddress.
|
||||
*
|
||||
*
|
||||
* Return:
|
||||
* The channel that can be used by the caller for DMA activity.
|
||||
* DMA_INVALID_CHANNEL (0xFF) if there are no channels left.
|
||||
*
|
||||
*
|
||||
*******************************************************************/
|
||||
uint8 NOR_TX_DMA_DmaInitialize(uint8 BurstCount, uint8 ReqestPerBurst, uint16 UpperSrcAddress, uint16 UpperDestAddress)
|
||||
{
|
||||
|
||||
/* Allocate a DMA channel. */
|
||||
NOR_TX_DMA_DmaHandle = (uint8)NOR_TX_DMA__DRQ_NUMBER;
|
||||
|
||||
/* Configure the channel. */
|
||||
(void)CyDmaChSetConfiguration(NOR_TX_DMA_DmaHandle,
|
||||
BurstCount,
|
||||
ReqestPerBurst,
|
||||
(uint8)NOR_TX_DMA__TERMOUT0_SEL,
|
||||
(uint8)NOR_TX_DMA__TERMOUT1_SEL,
|
||||
(uint8)NOR_TX_DMA__TERMIN_SEL);
|
||||
|
||||
/* Set the extended address for the transfers */
|
||||
(void)CyDmaChSetExtendedAddress(NOR_TX_DMA_DmaHandle, UpperSrcAddress, UpperDestAddress);
|
||||
|
||||
/* Set the priority for this channel */
|
||||
(void)CyDmaChPriority(NOR_TX_DMA_DmaHandle, (uint8)NOR_TX_DMA__PRIORITY);
|
||||
|
||||
return NOR_TX_DMA_DmaHandle;
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* Function Name: void NOR_TX_DMA_DmaRelease
|
||||
**********************************************************************
|
||||
* Summary:
|
||||
* Frees the channel associated with NOR_TX_DMA.
|
||||
*
|
||||
*
|
||||
* Parameters:
|
||||
* void.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return:
|
||||
* void.
|
||||
*
|
||||
*******************************************************************/
|
||||
void NOR_TX_DMA_DmaRelease(void)
|
||||
{
|
||||
/* Disable the channel */
|
||||
(void)CyDmaChDisable(NOR_TX_DMA_DmaHandle);
|
||||
}
|
||||
|
@ -0,0 +1,35 @@
|
||||
/******************************************************************************
|
||||
* File Name: NOR_TX_DMA_dma.h
|
||||
* Version 1.70
|
||||
*
|
||||
* Description:
|
||||
* Provides the function definitions for the DMA Controller.
|
||||
*
|
||||
*
|
||||
********************************************************************************
|
||||
* Copyright 2008-2010, Cypress Semiconductor Corporation. All rights reserved.
|
||||
* You may use this file only in accordance with the license, terms, conditions,
|
||||
* disclaimers, and limitations in the end user license agreement accompanying
|
||||
* the software package with which this file was provided.
|
||||
********************************************************************************/
|
||||
#if !defined(CY_DMA_NOR_TX_DMA_DMA_H__)
|
||||
#define CY_DMA_NOR_TX_DMA_DMA_H__
|
||||
|
||||
|
||||
|
||||
#include <CYDMAC.H>
|
||||
#include <CYFITTER.H>
|
||||
|
||||
#define NOR_TX_DMA__TD_TERMOUT_EN (((0 != NOR_TX_DMA__TERMOUT0_EN) ? TD_TERMOUT0_EN : 0) | \
|
||||
(NOR_TX_DMA__TERMOUT1_EN ? TD_TERMOUT1_EN : 0))
|
||||
|
||||
/* Zero based index of NOR_TX_DMA dma channel */
|
||||
extern uint8 NOR_TX_DMA_DmaHandle;
|
||||
|
||||
|
||||
uint8 NOR_TX_DMA_DmaInitialize(uint8 BurstCount, uint8 ReqestPerBurst, uint16 UpperSrcAddress, uint16 UpperDestAddress) ;
|
||||
void NOR_TX_DMA_DmaRelease(void) ;
|
||||
|
||||
|
||||
/* CY_DMA_NOR_TX_DMA_DMA_H__ */
|
||||
#endif
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user