f51bce3fed
We currently only support building with CCS and SCons is not using. bsp/rm48x50/HALCoGen/HALCoGen.{hcg,dil} is the HALCoGen project file. You may need to regenerate the source file as you like, providing that: 1, IRQ is in Dispatch Mode and the table entry is IRQ_Handler. The channel 5 in enabled and connected to IRQ. 2, RTI driver is enabled and compare3 source is selected to counter1 and the compare3 will generate tick in the period of 10ms. This value is coresponding with RT_TICK_PER_SECOND in rtconfig.h. In CCS, you need to create a new CCS project and create link folders pointing at bsp/rm48x50, libcpu/arm/rm48x50 and src/, include/. Remember to add the include path to the Build Properties.
163 lines
8.6 KiB
C
163 lines
8.6 KiB
C
/** @file reg_adc.h
|
|
* @brief ADC Register Layer Header File
|
|
* @date 23.May.2013
|
|
* @version 03.05.01
|
|
*
|
|
* This file contains:
|
|
* - Definitions
|
|
* - Types
|
|
* - Interface Prototypes
|
|
* .
|
|
* which are relevant for the ADC driver.
|
|
*/
|
|
|
|
/* (c) Texas Instruments 2009-2013, All rights reserved. */
|
|
|
|
#ifndef __REG_ADC_H__
|
|
#define __REG_ADC_H__
|
|
|
|
#include "sys_common.h"
|
|
|
|
|
|
|
|
/* USER CODE BEGIN (0) */
|
|
/* USER CODE END */
|
|
|
|
/* Adc Register Frame Definition */
|
|
/** @struct adcBase
|
|
* @brief ADC Register Frame Definition
|
|
*
|
|
* This type is used to access the ADC Registers.
|
|
*/
|
|
/** @typedef adcBASE_t
|
|
* @brief ADC Register Frame Type Definition
|
|
*
|
|
* This type is used to access the ADC Registers.
|
|
*/
|
|
typedef volatile struct adcBase
|
|
{
|
|
uint32 RSTCR; /**< 0x0000: Reset control register */
|
|
uint32 OPMODECR; /**< 0x0004: Operating mode control register */
|
|
uint32 CLOCKCR; /**< 0x0008: Clock control register */
|
|
uint32 CALCR; /**< 0x000C: Calibration control register */
|
|
uint32 GxMODECR[3U]; /**< 0x0010,0x0014,0x0018: Group 0-2 mode control register */
|
|
uint32 G0SRC; /**< 0x001C: Group 0 trigger source control register */
|
|
uint32 G1SRC; /**< 0x0020: Group 1 trigger source control register */
|
|
uint32 G2SRC; /**< 0x0024: Group 2 trigger source control register */
|
|
uint32 GxINTENA[3U]; /**< 0x0028,0x002C,0x0030: Group 0-2 interrupt enable register */
|
|
uint32 GxINTFLG[3U]; /**< 0x0034,0x0038,0x003C: Group 0-2 interrupt flag register */
|
|
uint32 GxINTCR[3U]; /**< 0x0040-0x0048: Group 0-2 interrupt threshold register */
|
|
uint32 G0DMACR; /**< 0x004C: Group 0 DMA control register */
|
|
uint32 G1DMACR; /**< 0x0050: Group 1 DMA control register */
|
|
uint32 G2DMACR; /**< 0x0054: Group 2 DMA control register */
|
|
uint32 BNDCR; /**< 0x0058: Buffer boundary control register */
|
|
uint32 BNDEND; /**< 0x005C: Buffer boundary end register */
|
|
uint32 G0SAMP; /**< 0x0060: Group 0 sample window register */
|
|
uint32 G1SAMP; /**< 0x0064: Group 1 sample window register */
|
|
uint32 G2SAMP; /**< 0x0068: Group 2 sample window register */
|
|
uint32 G0SR; /**< 0x006C: Group 0 status register */
|
|
uint32 G1SR; /**< 0x0070: Group 1 status register */
|
|
uint32 G2SR; /**< 0x0074: Group 2 status register */
|
|
uint32 GxSEL[3U]; /**< 0x0078-0x007C: Group 0-2 channel select register */
|
|
uint32 CALR; /**< 0x0084: Calibration register */
|
|
uint32 SMSTATE; /**< 0x0088: State machine state register */
|
|
uint32 LASTCONV; /**< 0x008C: Last conversion register */
|
|
struct
|
|
{
|
|
uint32 BUF0; /**< 0x0090,0x00B0,0x00D0: Group 0-2 result buffer 1 register */
|
|
uint32 BUF1; /**< 0x0094,0x00B4,0x00D4: Group 0-2 result buffer 1 register */
|
|
uint32 BUF2; /**< 0x0098,0x00B8,0x00D8: Group 0-2 result buffer 2 register */
|
|
uint32 BUF3; /**< 0x009C,0x00BC,0x00DC: Group 0-2 result buffer 3 register */
|
|
uint32 BUF4; /**< 0x00A0,0x00C0,0x00E0: Group 0-2 result buffer 4 register */
|
|
uint32 BUF5; /**< 0x00A4,0x00C4,0x00E4: Group 0-2 result buffer 5 register */
|
|
uint32 BUF6; /**< 0x00A8,0x00C8,0x00E8: Group 0-2 result buffer 6 register */
|
|
uint32 BUF7; /**< 0x00AC,0x00CC,0x00EC: Group 0-2 result buffer 7 register */
|
|
} GxBUF[3U];
|
|
uint32 G0EMUBUFFER; /**< 0x00F0: Group 0 emulation result buffer */
|
|
uint32 G1EMUBUFFER; /**< 0x00F4: Group 1 emulation result buffer */
|
|
uint32 G2EMUBUFFER; /**< 0x00F8: Group 2 emulation result buffer */
|
|
uint32 EVTDIR; /**< 0x00FC: Event pin direction register */
|
|
uint32 EVTOUT; /**< 0x0100: Event pin digital output register */
|
|
uint32 EVTIN; /**< 0x0104: Event pin digital input register */
|
|
uint32 EVTSET; /**< 0x0108: Event pin set register */
|
|
uint32 EVTCLR; /**< 0x010C: Event pin clear register */
|
|
uint32 EVTPDR; /**< 0x0110: Event pin open drain register */
|
|
uint32 EVTDIS; /**< 0x0114: Event pin pull disable register */
|
|
uint32 EVTPSEL; /**< 0x0118: Event pin pull select register */
|
|
uint32 G0SAMPDISEN; /**< 0x011C: Group 0 sample discharge register */
|
|
uint32 G1SAMPDISEN; /**< 0x0120: Group 1 sample discharge register */
|
|
uint32 G2SAMPDISEN; /**< 0x0124: Group 2 sample discharge register */
|
|
uint32 MAGINTCR1; /**< 0x0128: Magnitude interrupt control register 1 */
|
|
uint32 MAGINT1MASK; /**< 0x012C: Magnitude interrupt mask register 1 */
|
|
uint32 MAGINTCR2; /**< 0x0130: Magnitude interrupt control register 2 */
|
|
uint32 MAGINT2MASK; /**< 0x0134: Magnitude interrupt mask register 2 */
|
|
uint32 MAGINTCR3; /**< 0x0138: Magnitude interrupt control register 3 */
|
|
uint32 MAGINT3MASK; /**< 0x013C: Magnitude interrupt mask register 3 */
|
|
uint32 MAGINTCR4; /**< 0x0140: Magnitude interrupt control register 4 */
|
|
uint32 MAGINT4MASK; /**< 0x0144: Magnitude interrupt mask register 4 */
|
|
uint32 MAGINTCR5; /**< 0x0148: Magnitude interrupt control register 5 */
|
|
uint32 MAGINT5MASK; /**< 0x014C: Magnitude interrupt mask register 5 */
|
|
uint32 MAGINTCR6; /**< 0x0150: Magnitude interrupt control register 6 */
|
|
uint32 MAGINT6MASK; /**< 0x0154: Magnitude interrupt mask register 6 */
|
|
uint32 MAGTHRINTENASET; /**< 0x0158: Magnitude interrupt set register */
|
|
uint32 MAGTHRINTENACLR; /**< 0x015C: Magnitude interrupt clear register */
|
|
uint32 MAGTHRINTFLG; /**< 0x0160: Magnitude interrupt flag register */
|
|
uint32 MAGTHRINTOFFSET; /**< 0x0164: Magnitude interrupt offset register */
|
|
uint32 GxFIFORESETCR[3U]; /**< 0x0168,0x016C,0x0170: Group 0-2 fifo reset register */
|
|
uint32 G0RAMADDR; /**< 0x0174: Group 0 RAM pointer register */
|
|
uint32 G1RAMADDR; /**< 0x0178: Group 1 RAM pointer register */
|
|
uint32 G2RAMADDR; /**< 0x017C: Group 2 RAM pointer register */
|
|
uint32 PARCR; /**< 0x0180: Parity control register */
|
|
uint32 PARADDR; /**< 0x0184: Parity error address register */
|
|
uint32 PWRUPDLYCTRL; /**< 0x0188: Power-Up delay control register */
|
|
} adcBASE_t;
|
|
|
|
|
|
/** @def adcREG1
|
|
* @brief ADC1 Register Frame Pointer
|
|
*
|
|
* This pointer is used by the ADC driver to access the ADC1 registers.
|
|
*/
|
|
#define adcREG1 ((adcBASE_t *)0xFFF7C000U)
|
|
|
|
/** @def adcREG2
|
|
* @brief ADC2 Register Frame Pointer
|
|
*
|
|
* This pointer is used by the ADC driver to access the ADC2 registers.
|
|
*/
|
|
#define adcREG2 ((adcBASE_t *)0xFFF7C200U)
|
|
|
|
/** @def adcRAM1
|
|
* @brief ADC1 RAM Pointer
|
|
*
|
|
* This pointer is used by the ADC driver to access the ADC1 RAM.
|
|
*/
|
|
#define adcRAM1 (*(volatile uint32 *)0xFF3E0000U)
|
|
|
|
/** @def adcRAM2
|
|
* @brief ADC2 RAM Pointer
|
|
*
|
|
* This pointer is used by the ADC driver to access the ADC2 RAM.
|
|
*/
|
|
#define adcRAM2 (*(volatile uint32 *)0xFF3A0000U)
|
|
|
|
/** @def adcPARRAM1
|
|
* @brief ADC1 Parity RAM Pointer
|
|
*
|
|
* This pointer is used by the ADC driver to access the ADC1 Parity RAM.
|
|
*/
|
|
#define adcPARRAM1 (*(volatile uint32 *)(0xFF3E0000U + 0x1000U))
|
|
|
|
/** @def adcPARRAM2
|
|
* @brief ADC2 Parity RAM Pointer
|
|
*
|
|
* This pointer is used by the ADC driver to access the ADC2 Parity RAM.
|
|
*/
|
|
#define adcPARRAM2 (*(volatile uint32 *)(0xFF3A0000U + 0x1000U))
|
|
|
|
/* USER CODE BEGIN (1) */
|
|
/* USER CODE END */
|
|
|
|
|
|
#endif
|