//***************************************************************************** | |
// | |
// rom.h - Macros to facilitate calling functions in the ROM. | |
// | |
// Copyright (c) 2007-2008 Luminary Micro, Inc. All rights reserved. | |
// | |
// Software License Agreement | |
// | |
// Luminary Micro, Inc. (LMI) is supplying this software for use solely and | |
// exclusively on LMI's microcontroller products. | |
// | |
// The software is owned by LMI and/or its suppliers, and is protected under | |
// applicable copyright laws. All rights are reserved. You may not combine | |
// this software with "viral" open-source software in order to form a larger | |
// program. Any use in violation of the foregoing restrictions may subject | |
// the user to criminal sanctions under applicable laws, as well as to civil | |
// liability for the breach of the terms and conditions of this license. | |
// | |
// THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED | |
// OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF | |
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. | |
// LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR | |
// CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. | |
// | |
// This is part of revision 2523 of the Stellaris Peripheral Driver Library. | |
// | |
//***************************************************************************** | |
#ifndef __ROM_H__ | |
#define __ROM_H__ | |
//***************************************************************************** | |
// | |
// Pointers to the main API tables. | |
// | |
//***************************************************************************** | |
#define ROM_APITABLE ((unsigned long *)0x01000010) | |
#define ROM_VERSION (ROM_APITABLE[0]) | |
#define ROM_UARTTABLE ((unsigned long *)(ROM_APITABLE[1])) | |
#define ROM_SSITABLE ((unsigned long *)(ROM_APITABLE[2])) | |
#define ROM_I2CTABLE ((unsigned long *)(ROM_APITABLE[3])) | |
#define ROM_GPIOTABLE ((unsigned long *)(ROM_APITABLE[4])) | |
#define ROM_ADCTABLE ((unsigned long *)(ROM_APITABLE[5])) | |
#define ROM_COMPARATORTABLE ((unsigned long *)(ROM_APITABLE[6])) | |
#define ROM_FLASHTABLE ((unsigned long *)(ROM_APITABLE[7])) | |
#define ROM_PWMTABLE ((unsigned long *)(ROM_APITABLE[8])) | |
#define ROM_QEITABLE ((unsigned long *)(ROM_APITABLE[9])) | |
#define ROM_SYSTICKTABLE ((unsigned long *)(ROM_APITABLE[10])) | |
#define ROM_TIMERTABLE ((unsigned long *)(ROM_APITABLE[11])) | |
#define ROM_WATCHDOGTABLE ((unsigned long *)(ROM_APITABLE[12])) | |
#define ROM_SYSCTLTABLE ((unsigned long *)(ROM_APITABLE[13])) | |
#define ROM_INTERRUPTTABLE ((unsigned long *)(ROM_APITABLE[14])) | |
//***************************************************************************** | |
// | |
// Macros for calling ROM functions in the ADC API. | |
// | |
//***************************************************************************** | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ADCSequenceDataGet \ | |
((long (*)(unsigned long ulBase, \ | |
unsigned long ulSequenceNum, \ | |
unsigned long *pulBuffer))ROM_ADCTABLE[0]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ADCIntDisable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulSequenceNum))ROM_ADCTABLE[1]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ADCIntEnable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulSequenceNum))ROM_ADCTABLE[2]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ADCIntStatus \ | |
((unsigned long (*)(unsigned long ulBase, \ | |
unsigned long ulSequenceNum, \ | |
tBoolean bMasked))ROM_ADCTABLE[3]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ADCIntClear \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulSequenceNum))ROM_ADCTABLE[4]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ADCSequenceEnable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulSequenceNum))ROM_ADCTABLE[5]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ADCSequenceDisable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulSequenceNum))ROM_ADCTABLE[6]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ADCSequenceConfigure \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulSequenceNum, \ | |
unsigned long ulTrigger, \ | |
unsigned long ulPriority))ROM_ADCTABLE[7]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ADCSequenceStepConfigure \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulSequenceNum, \ | |
unsigned long ulStep, \ | |
unsigned long ulConfig))ROM_ADCTABLE[8]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ADCSequenceOverflow \ | |
((long (*)(unsigned long ulBase, \ | |
unsigned long ulSequenceNum))ROM_ADCTABLE[9]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ADCSequenceOverflowClear \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulSequenceNum))ROM_ADCTABLE[10]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ADCSequenceUnderflow \ | |
((long (*)(unsigned long ulBase, \ | |
unsigned long ulSequenceNum))ROM_ADCTABLE[11]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ADCSequenceUnderflowClear \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulSequenceNum))ROM_ADCTABLE[12]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ADCProcessorTrigger \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulSequenceNum))ROM_ADCTABLE[13]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ADCHardwareOversampleConfigure \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulFactor))ROM_ADCTABLE[14]) | |
#endif | |
//***************************************************************************** | |
// | |
// Macros for calling ROM functions in the Comparator API. | |
// | |
//***************************************************************************** | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ComparatorIntClear \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulComp))ROM_COMPARATORTABLE[0]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ComparatorConfigure \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulComp, \ | |
unsigned long ulConfig))ROM_COMPARATORTABLE[1]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ComparatorRefSet \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulRef))ROM_COMPARATORTABLE[2]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ComparatorValueGet \ | |
((tBoolean (*)(unsigned long ulBase, \ | |
unsigned long ulComp))ROM_COMPARATORTABLE[3]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ComparatorIntEnable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulComp))ROM_COMPARATORTABLE[4]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ComparatorIntDisable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulComp))ROM_COMPARATORTABLE[5]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_ComparatorIntStatus \ | |
((tBoolean (*)(unsigned long ulBase, \ | |
unsigned long ulComp, \ | |
tBoolean bMasked))ROM_COMPARATORTABLE[6]) | |
#endif | |
//***************************************************************************** | |
// | |
// Macros for calling ROM functions in the Flash API. | |
// | |
//***************************************************************************** | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_FlashProgram \ | |
((long (*)(unsigned long *pulData, \ | |
unsigned long ulAddress, \ | |
unsigned long ulCount))ROM_FLASHTABLE[0]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_FlashUsecGet \ | |
((unsigned long (*)(void))ROM_FLASHTABLE[1]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_FlashUsecSet \ | |
((void (*)(unsigned long ulClocks))ROM_FLASHTABLE[2]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_FlashErase \ | |
((long (*)(unsigned long ulAddress))ROM_FLASHTABLE[3]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_FlashProtectGet \ | |
((tFlashProtection (*)(unsigned long ulAddress))ROM_FLASHTABLE[4]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_FlashProtectSet \ | |
((long (*)(unsigned long ulAddress, \ | |
tFlashProtection eProtect))ROM_FLASHTABLE[5]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_FlashProtectSave \ | |
((long (*)(void))ROM_FLASHTABLE[6]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_FlashUserGet \ | |
((long (*)(unsigned long *pulUser0, \ | |
unsigned long *pulUser1))ROM_FLASHTABLE[7]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_FlashUserSet \ | |
((long (*)(unsigned long ulUser0, \ | |
unsigned long ulUser1))ROM_FLASHTABLE[8]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_FlashUserSave \ | |
((long (*)(void))ROM_FLASHTABLE[9]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_FlashIntEnable \ | |
((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[10]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_FlashIntDisable \ | |
((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[11]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_FlashIntGetStatus \ | |
((unsigned long (*)(tBoolean bMasked))ROM_FLASHTABLE[12]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_FlashIntClear \ | |
((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[13]) | |
#endif | |
//***************************************************************************** | |
// | |
// Macros for calling ROM functions in the GPIO API. | |
// | |
//***************************************************************************** | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOPinWrite \ | |
((void (*)(unsigned long ulPort, \ | |
unsigned char ucPins, \ | |
unsigned char ucVal))ROM_GPIOTABLE[0]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIODirModeSet \ | |
((void (*)(unsigned long ulPort, \ | |
unsigned char ucPins, \ | |
unsigned long ulPinIO))ROM_GPIOTABLE[1]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIODirModeGet \ | |
((unsigned long (*)(unsigned long ulPort, \ | |
unsigned char ucPin))ROM_GPIOTABLE[2]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOIntTypeSet \ | |
((void (*)(unsigned long ulPort, \ | |
unsigned char ucPins, \ | |
unsigned long ulIntType))ROM_GPIOTABLE[3]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOIntTypeGet \ | |
((unsigned long (*)(unsigned long ulPort, \ | |
unsigned char ucPin))ROM_GPIOTABLE[4]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOPadConfigSet \ | |
((void (*)(unsigned long ulPort, \ | |
unsigned char ucPins, \ | |
unsigned long ulStrength, \ | |
unsigned long ulPadType))ROM_GPIOTABLE[5]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOPadConfigGet \ | |
((void (*)(unsigned long ulPort, \ | |
unsigned char ucPin, \ | |
unsigned long *pulStrength, \ | |
unsigned long *pulPadType))ROM_GPIOTABLE[6]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOPinIntEnable \ | |
((void (*)(unsigned long ulPort, \ | |
unsigned char ucPins))ROM_GPIOTABLE[7]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOPinIntDisable \ | |
((void (*)(unsigned long ulPort, \ | |
unsigned char ucPins))ROM_GPIOTABLE[8]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOPinIntStatus \ | |
((long (*)(unsigned long ulPort, \ | |
tBoolean bMasked))ROM_GPIOTABLE[9]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOPinIntClear \ | |
((void (*)(unsigned long ulPort, \ | |
unsigned char ucPins))ROM_GPIOTABLE[10]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOPinRead \ | |
((long (*)(unsigned long ulPort, \ | |
unsigned char ucPins))ROM_GPIOTABLE[11]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOPinTypeCAN \ | |
((void (*)(unsigned long ulPort, \ | |
unsigned char ucPins))ROM_GPIOTABLE[12]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOPinTypeComparator \ | |
((void (*)(unsigned long ulPort, \ | |
unsigned char ucPins))ROM_GPIOTABLE[13]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOPinTypeGPIOInput \ | |
((void (*)(unsigned long ulPort, \ | |
unsigned char ucPins))ROM_GPIOTABLE[14]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOPinTypeGPIOOutput \ | |
((void (*)(unsigned long ulPort, \ | |
unsigned char ucPins))ROM_GPIOTABLE[15]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOPinTypeI2C \ | |
((void (*)(unsigned long ulPort, \ | |
unsigned char ucPins))ROM_GPIOTABLE[16]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOPinTypePWM \ | |
((void (*)(unsigned long ulPort, \ | |
unsigned char ucPins))ROM_GPIOTABLE[17]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOPinTypeQEI \ | |
((void (*)(unsigned long ulPort, \ | |
unsigned char ucPins))ROM_GPIOTABLE[18]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOPinTypeSSI \ | |
((void (*)(unsigned long ulPort, \ | |
unsigned char ucPins))ROM_GPIOTABLE[19]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOPinTypeTimer \ | |
((void (*)(unsigned long ulPort, \ | |
unsigned char ucPins))ROM_GPIOTABLE[20]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOPinTypeUART \ | |
((void (*)(unsigned long ulPort, \ | |
unsigned char ucPins))ROM_GPIOTABLE[21]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_GPIOPinTypeGPIOOutputOD \ | |
((void (*)(unsigned long ulPort, \ | |
unsigned char ucPins))ROM_GPIOTABLE[22]) | |
#endif | |
//***************************************************************************** | |
// | |
// Macros for calling ROM functions in the I2C API. | |
// | |
//***************************************************************************** | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CMasterDataPut \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned char ucData))ROM_I2CTABLE[0]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CMasterInitExpClk \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulI2CClk, \ | |
tBoolean bFast))ROM_I2CTABLE[1]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CSlaveInit \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned char ucSlaveAddr))ROM_I2CTABLE[2]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CMasterEnable \ | |
((void (*)(unsigned long ulBase))ROM_I2CTABLE[3]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CSlaveEnable \ | |
((void (*)(unsigned long ulBase))ROM_I2CTABLE[4]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CMasterDisable \ | |
((void (*)(unsigned long ulBase))ROM_I2CTABLE[5]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CSlaveDisable \ | |
((void (*)(unsigned long ulBase))ROM_I2CTABLE[6]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CMasterIntEnable \ | |
((void (*)(unsigned long ulBase))ROM_I2CTABLE[7]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CSlaveIntEnable \ | |
((void (*)(unsigned long ulBase))ROM_I2CTABLE[8]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CMasterIntDisable \ | |
((void (*)(unsigned long ulBase))ROM_I2CTABLE[9]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CSlaveIntDisable \ | |
((void (*)(unsigned long ulBase))ROM_I2CTABLE[10]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CMasterIntStatus \ | |
((tBoolean (*)(unsigned long ulBase, \ | |
tBoolean bMasked))ROM_I2CTABLE[11]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CSlaveIntStatus \ | |
((tBoolean (*)(unsigned long ulBase, \ | |
tBoolean bMasked))ROM_I2CTABLE[12]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CMasterIntClear \ | |
((void (*)(unsigned long ulBase))ROM_I2CTABLE[13]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CSlaveIntClear \ | |
((void (*)(unsigned long ulBase))ROM_I2CTABLE[14]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CMasterSlaveAddrSet \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned char ucSlaveAddr, \ | |
tBoolean bReceive))ROM_I2CTABLE[15]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CMasterBusy \ | |
((tBoolean (*)(unsigned long ulBase))ROM_I2CTABLE[16]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CMasterBusBusy \ | |
((tBoolean (*)(unsigned long ulBase))ROM_I2CTABLE[17]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CMasterControl \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulCmd))ROM_I2CTABLE[18]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CMasterErr \ | |
((unsigned long (*)(unsigned long ulBase))ROM_I2CTABLE[19]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CMasterDataGet \ | |
((unsigned long (*)(unsigned long ulBase))ROM_I2CTABLE[20]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CSlaveStatus \ | |
((unsigned long (*)(unsigned long ulBase))ROM_I2CTABLE[21]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CSlaveDataPut \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned char ucData))ROM_I2CTABLE[22]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_I2CSlaveDataGet \ | |
((unsigned long (*)(unsigned long ulBase))ROM_I2CTABLE[23]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UpdateI2C \ | |
((void (*)(void))ROM_I2CTABLE[24]) | |
#endif | |
//***************************************************************************** | |
// | |
// Macros for calling ROM functions in the Interrupt API. | |
// | |
//***************************************************************************** | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_IntEnable \ | |
((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[0]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_IntDisable \ | |
((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[3]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_IntPriorityGroupingSet \ | |
((void (*)(unsigned long ulBits))ROM_INTERRUPTTABLE[4]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_IntPriorityGroupingGet \ | |
((unsigned long (*)(void))ROM_INTERRUPTTABLE[5]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_IntPrioritySet \ | |
((void (*)(unsigned long ulInterrupt, \ | |
unsigned char ucPriority))ROM_INTERRUPTTABLE[6]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_IntPriorityGet \ | |
((long (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[7]) | |
#endif | |
//***************************************************************************** | |
// | |
// Macros for calling ROM functions in the PWM API. | |
// | |
//***************************************************************************** | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMPulseWidthSet \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulPWMOut, \ | |
unsigned long ulWidth))ROM_PWMTABLE[0]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMGenConfigure \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulGen, \ | |
unsigned long ulConfig))ROM_PWMTABLE[1]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMGenPeriodSet \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulGen, \ | |
unsigned long ulPeriod))ROM_PWMTABLE[2]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMGenPeriodGet \ | |
((unsigned long (*)(unsigned long ulBase, \ | |
unsigned long ulGen))ROM_PWMTABLE[3]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMGenEnable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulGen))ROM_PWMTABLE[4]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMGenDisable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulGen))ROM_PWMTABLE[5]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMPulseWidthGet \ | |
((unsigned long (*)(unsigned long ulBase, \ | |
unsigned long ulPWMOut))ROM_PWMTABLE[6]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMDeadBandEnable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulGen, \ | |
unsigned short usRise, \ | |
unsigned short usFall))ROM_PWMTABLE[7]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMDeadBandDisable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulGen))ROM_PWMTABLE[8]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMSyncUpdate \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulGenBits))ROM_PWMTABLE[9]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMSyncTimeBase \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulGenBits))ROM_PWMTABLE[10]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMOutputState \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulPWMOutBits, \ | |
tBoolean bEnable))ROM_PWMTABLE[11]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMOutputInvert \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulPWMOutBits, \ | |
tBoolean bInvert))ROM_PWMTABLE[12]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMOutputFault \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulPWMOutBits, \ | |
tBoolean bFaultSuppress))ROM_PWMTABLE[13]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMGenIntTrigEnable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulGen, \ | |
unsigned long ulIntTrig))ROM_PWMTABLE[14]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMGenIntTrigDisable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulGen, \ | |
unsigned long ulIntTrig))ROM_PWMTABLE[15]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMGenIntStatus \ | |
((unsigned long (*)(unsigned long ulBase, \ | |
unsigned long ulGen, \ | |
tBoolean bMasked))ROM_PWMTABLE[16]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMGenIntClear \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulGen, \ | |
unsigned long ulInts))ROM_PWMTABLE[17]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMIntEnable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulGenFault))ROM_PWMTABLE[18]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMIntDisable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulGenFault))ROM_PWMTABLE[19]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMFaultIntClear \ | |
((void (*)(unsigned long ulBase))ROM_PWMTABLE[20]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_PWMIntStatus \ | |
((unsigned long (*)(unsigned long ulBase, \ | |
tBoolean bMasked))ROM_PWMTABLE[21]) | |
#endif | |
//***************************************************************************** | |
// | |
// Macros for calling ROM functions in the QEI API. | |
// | |
//***************************************************************************** | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_QEIPositionGet \ | |
((unsigned long (*)(unsigned long ulBase))ROM_QEITABLE[0]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_QEIEnable \ | |
((void (*)(unsigned long ulBase))ROM_QEITABLE[1]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_QEIDisable \ | |
((void (*)(unsigned long ulBase))ROM_QEITABLE[2]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_QEIConfigure \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulConfig, \ | |
unsigned long ulMaxPosition))ROM_QEITABLE[3]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_QEIPositionSet \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulPosition))ROM_QEITABLE[4]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_QEIDirectionGet \ | |
((long (*)(unsigned long ulBase))ROM_QEITABLE[5]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_QEIErrorGet \ | |
((tBoolean (*)(unsigned long ulBase))ROM_QEITABLE[6]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_QEIVelocityEnable \ | |
((void (*)(unsigned long ulBase))ROM_QEITABLE[7]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_QEIVelocityDisable \ | |
((void (*)(unsigned long ulBase))ROM_QEITABLE[8]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_QEIVelocityConfigure \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulPreDiv, \ | |
unsigned long ulPeriod))ROM_QEITABLE[9]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_QEIVelocityGet \ | |
((unsigned long (*)(unsigned long ulBase))ROM_QEITABLE[10]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_QEIIntEnable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulIntFlags))ROM_QEITABLE[11]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_QEIIntDisable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulIntFlags))ROM_QEITABLE[12]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_QEIIntStatus \ | |
((unsigned long (*)(unsigned long ulBase, \ | |
tBoolean bMasked))ROM_QEITABLE[13]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_QEIIntClear \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulIntFlags))ROM_QEITABLE[14]) | |
#endif | |
//***************************************************************************** | |
// | |
// Macros for calling ROM functions in the SSI API. | |
// | |
//***************************************************************************** | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SSIDataPut \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulData))ROM_SSITABLE[0]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SSIConfigSetExpClk \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulSSIClk, \ | |
unsigned long ulProtocol, \ | |
unsigned long ulMode, \ | |
unsigned long ulBitRate, \ | |
unsigned long ulDataWidth))ROM_SSITABLE[1]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SSIEnable \ | |
((void (*)(unsigned long ulBase))ROM_SSITABLE[2]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SSIDisable \ | |
((void (*)(unsigned long ulBase))ROM_SSITABLE[3]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SSIIntEnable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulIntFlags))ROM_SSITABLE[4]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SSIIntDisable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulIntFlags))ROM_SSITABLE[5]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SSIIntStatus \ | |
((unsigned long (*)(unsigned long ulBase, \ | |
tBoolean bMasked))ROM_SSITABLE[6]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SSIIntClear \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulIntFlags))ROM_SSITABLE[7]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SSIDataPutNonBlocking \ | |
((long (*)(unsigned long ulBase, \ | |
unsigned long ulData))ROM_SSITABLE[8]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SSIDataGet \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long *pulData))ROM_SSITABLE[9]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SSIDataGetNonBlocking \ | |
((long (*)(unsigned long ulBase, \ | |
unsigned long *pulData))ROM_SSITABLE[10]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UpdateSSI \ | |
((void (*)(void))ROM_SSITABLE[11]) | |
#endif | |
//***************************************************************************** | |
// | |
// Macros for calling ROM functions in the SysCtl API. | |
// | |
//***************************************************************************** | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlSleep \ | |
((void (*)(void))ROM_SYSCTLTABLE[0]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlSRAMSizeGet \ | |
((unsigned long (*)(void))ROM_SYSCTLTABLE[1]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlFlashSizeGet \ | |
((unsigned long (*)(void))ROM_SYSCTLTABLE[2]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlPinPresent \ | |
((tBoolean (*)(unsigned long ulPin))ROM_SYSCTLTABLE[3]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlPeripheralPresent \ | |
((tBoolean (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[4]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlPeripheralReset \ | |
((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[5]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlPeripheralEnable \ | |
((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[6]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlPeripheralDisable \ | |
((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[7]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlPeripheralSleepEnable \ | |
((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[8]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlPeripheralSleepDisable \ | |
((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[9]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlPeripheralDeepSleepEnable \ | |
((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[10]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlPeripheralDeepSleepDisable \ | |
((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[11]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlPeripheralClockGating \ | |
((void (*)(tBoolean bEnable))ROM_SYSCTLTABLE[12]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlIntEnable \ | |
((void (*)(unsigned long ulInts))ROM_SYSCTLTABLE[13]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlIntDisable \ | |
((void (*)(unsigned long ulInts))ROM_SYSCTLTABLE[14]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlIntClear \ | |
((void (*)(unsigned long ulInts))ROM_SYSCTLTABLE[15]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlIntStatus \ | |
((unsigned long (*)(tBoolean bMasked))ROM_SYSCTLTABLE[16]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlLDOSet \ | |
((void (*)(unsigned long ulVoltage))ROM_SYSCTLTABLE[17]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlLDOGet \ | |
((unsigned long (*)(void))ROM_SYSCTLTABLE[18]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlReset \ | |
((void (*)(void))ROM_SYSCTLTABLE[19]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlDeepSleep \ | |
((void (*)(void))ROM_SYSCTLTABLE[20]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlResetCauseGet \ | |
((unsigned long (*)(void))ROM_SYSCTLTABLE[21]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlResetCauseClear \ | |
((void (*)(unsigned long ulCauses))ROM_SYSCTLTABLE[22]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlClockSet \ | |
((void (*)(unsigned long ulConfig))ROM_SYSCTLTABLE[23]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlClockGet \ | |
((unsigned long (*)(void))ROM_SYSCTLTABLE[24]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlPWMClockSet \ | |
((void (*)(unsigned long ulConfig))ROM_SYSCTLTABLE[25]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlPWMClockGet \ | |
((unsigned long (*)(void))ROM_SYSCTLTABLE[26]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlADCSpeedSet \ | |
((void (*)(unsigned long ulSpeed))ROM_SYSCTLTABLE[27]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlADCSpeedGet \ | |
((unsigned long (*)(void))ROM_SYSCTLTABLE[28]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlGPIOAHBEnable \ | |
((void (*)(unsigned long ulGPIOPeripheral))ROM_SYSCTLTABLE[29]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysCtlGPIOAHBDisable \ | |
((void (*)(unsigned long ulGPIOPeripheral))ROM_SYSCTLTABLE[30]) | |
#endif | |
//***************************************************************************** | |
// | |
// Macros for calling ROM functions in the SysTick API. | |
// | |
//***************************************************************************** | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysTickValueGet \ | |
((unsigned long (*)(void))ROM_SYSTICKTABLE[0]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysTickEnable \ | |
((void (*)(void))ROM_SYSTICKTABLE[1]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysTickDisable \ | |
((void (*)(void))ROM_SYSTICKTABLE[2]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysTickIntEnable \ | |
((void (*)(void))ROM_SYSTICKTABLE[3]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysTickIntDisable \ | |
((void (*)(void))ROM_SYSTICKTABLE[4]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysTickPeriodSet \ | |
((void (*)(unsigned long ulPeriod))ROM_SYSTICKTABLE[5]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_SysTickPeriodGet \ | |
((unsigned long (*)(void))ROM_SYSTICKTABLE[6]) | |
#endif | |
//***************************************************************************** | |
// | |
// Macros for calling ROM functions in the Timer API. | |
// | |
//***************************************************************************** | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerIntClear \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulIntFlags))ROM_TIMERTABLE[0]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerEnable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulTimer))ROM_TIMERTABLE[1]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerDisable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulTimer))ROM_TIMERTABLE[2]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerConfigure \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulConfig))ROM_TIMERTABLE[3]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerControlLevel \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulTimer, \ | |
tBoolean bInvert))ROM_TIMERTABLE[4]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerControlTrigger \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulTimer, \ | |
tBoolean bEnable))ROM_TIMERTABLE[5]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerControlEvent \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulTimer, \ | |
unsigned long ulEvent))ROM_TIMERTABLE[6]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerControlStall \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulTimer, \ | |
tBoolean bStall))ROM_TIMERTABLE[7]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerRTCEnable \ | |
((void (*)(unsigned long ulBase))ROM_TIMERTABLE[8]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerRTCDisable \ | |
((void (*)(unsigned long ulBase))ROM_TIMERTABLE[9]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerPrescaleSet \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulTimer, \ | |
unsigned long ulValue))ROM_TIMERTABLE[10]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerPrescaleGet \ | |
((unsigned long (*)(unsigned long ulBase, \ | |
unsigned long ulTimer))ROM_TIMERTABLE[11]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerLoadSet \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulTimer, \ | |
unsigned long ulValue))ROM_TIMERTABLE[14]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerLoadGet \ | |
((unsigned long (*)(unsigned long ulBase, \ | |
unsigned long ulTimer))ROM_TIMERTABLE[15]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerValueGet \ | |
((unsigned long (*)(unsigned long ulBase, \ | |
unsigned long ulTimer))ROM_TIMERTABLE[16]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerMatchSet \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulTimer, \ | |
unsigned long ulValue))ROM_TIMERTABLE[17]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerMatchGet \ | |
((unsigned long (*)(unsigned long ulBase, \ | |
unsigned long ulTimer))ROM_TIMERTABLE[18]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerIntEnable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulIntFlags))ROM_TIMERTABLE[19]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerIntDisable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulIntFlags))ROM_TIMERTABLE[20]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_TimerIntStatus \ | |
((unsigned long (*)(unsigned long ulBase, \ | |
tBoolean bMasked))ROM_TIMERTABLE[21]) | |
#endif | |
//***************************************************************************** | |
// | |
// Macros for calling ROM functions in the UART API. | |
// | |
//***************************************************************************** | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTCharPut \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned char ucData))ROM_UARTTABLE[0]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTParityModeSet \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulParity))ROM_UARTTABLE[1]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTParityModeGet \ | |
((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[2]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTFIFOLevelSet \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulTxLevel, \ | |
unsigned long ulRxLevel))ROM_UARTTABLE[3]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTFIFOLevelGet \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long *pulTxLevel, \ | |
unsigned long *pulRxLevel))ROM_UARTTABLE[4]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTConfigSetExpClk \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulUARTClk, \ | |
unsigned long ulBaud, \ | |
unsigned long ulConfig))ROM_UARTTABLE[5]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTConfigGetExpClk \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulUARTClk, \ | |
unsigned long *pulBaud, \ | |
unsigned long *pulConfig))ROM_UARTTABLE[6]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTEnable \ | |
((void (*)(unsigned long ulBase))ROM_UARTTABLE[7]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTDisable \ | |
((void (*)(unsigned long ulBase))ROM_UARTTABLE[8]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTEnableSIR \ | |
((void (*)(unsigned long ulBase, \ | |
tBoolean bLowPower))ROM_UARTTABLE[9]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTDisableSIR \ | |
((void (*)(unsigned long ulBase))ROM_UARTTABLE[10]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTCharsAvail \ | |
((tBoolean (*)(unsigned long ulBase))ROM_UARTTABLE[11]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTSpaceAvail \ | |
((tBoolean (*)(unsigned long ulBase))ROM_UARTTABLE[12]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTCharGetNonBlocking \ | |
((long (*)(unsigned long ulBase))ROM_UARTTABLE[13]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTCharGet \ | |
((long (*)(unsigned long ulBase))ROM_UARTTABLE[14]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTCharPutNonBlocking \ | |
((tBoolean (*)(unsigned long ulBase, \ | |
unsigned char ucData))ROM_UARTTABLE[15]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTBreakCtl \ | |
((void (*)(unsigned long ulBase, \ | |
tBoolean bBreakState))ROM_UARTTABLE[16]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTIntEnable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulIntFlags))ROM_UARTTABLE[17]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTIntDisable \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulIntFlags))ROM_UARTTABLE[18]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTIntStatus \ | |
((unsigned long (*)(unsigned long ulBase, \ | |
tBoolean bMasked))ROM_UARTTABLE[19]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UARTIntClear \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulIntFlags))ROM_UARTTABLE[20]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_UpdateUART \ | |
((void (*)(void))ROM_UARTTABLE[21]) | |
#endif | |
//***************************************************************************** | |
// | |
// Macros for calling ROM functions in the Watchdog API. | |
// | |
//***************************************************************************** | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_WatchdogIntClear \ | |
((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[0]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_WatchdogRunning \ | |
((tBoolean (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[1]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_WatchdogEnable \ | |
((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[2]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_WatchdogResetEnable \ | |
((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[3]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_WatchdogResetDisable \ | |
((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[4]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_WatchdogLock \ | |
((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[5]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_WatchdogUnlock \ | |
((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[6]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_WatchdogLockState \ | |
((tBoolean (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[7]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_WatchdogReloadSet \ | |
((void (*)(unsigned long ulBase, \ | |
unsigned long ulLoadVal))ROM_WATCHDOGTABLE[8]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_WatchdogReloadGet \ | |
((unsigned long (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[9]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_WatchdogValueGet \ | |
((unsigned long (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[10]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_WatchdogIntEnable \ | |
((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[11]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_WatchdogIntStatus \ | |
((unsigned long (*)(unsigned long ulBase, \ | |
tBoolean bMasked))ROM_WATCHDOGTABLE[12]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_WatchdogStallEnable \ | |
((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[13]) | |
#endif | |
#if defined(TARGET_IS_DUSTDEVIL_RA0) | |
#define ROM_WatchdogStallDisable \ | |
((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[14]) | |
#endif | |
#endif // __ROM_H__ |