1438 lines
75 KiB
C
Executable File
1438 lines
75 KiB
C
Executable File
/* --COPYRIGHT--,BSD
|
|
* Copyright (c) 2016, Texas Instruments Incorporated
|
|
* All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
*
|
|
* * Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
*
|
|
* * Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution.
|
|
*
|
|
* * Neither the name of Texas Instruments Incorporated nor the names of
|
|
* its contributors may be used to endorse or promote products derived
|
|
* from this software without specific prior written permission.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
|
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
|
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
* --/COPYRIGHT--*/
|
|
//*****************************************************************************
|
|
//
|
|
// rom_driverlib_fr235x.h - Macros to facilitate calling functions in ROM for
|
|
// MSP430FR2355, FR2353
|
|
//
|
|
// Copyright (c) 2017 Texas Instruments Incorporated. All rights reserved.
|
|
// TI Information - Selective Disclosure
|
|
//
|
|
//*****************************************************************************
|
|
//
|
|
|
|
#if defined(__TI_COMPILER_VERSION__)
|
|
#if __TI_COMPILER_VERSION__ >= 16012000
|
|
#define __cc_rom __attribute__((call_conv("cc_rom")))
|
|
#else
|
|
#error "The cc_rom attribute requires MSP TI COMPILER 16.12.0.STS or more recent."
|
|
#endif // __TI_COMPILER_VERSION__ >= 16012000
|
|
#endif // (defined(__TI_COMPILER_VERSION__))
|
|
|
|
#if defined(__IAR_SYSTEMS_ICC__) && (__VER__ < 650)
|
|
#error "The __cc_rom attribute requires IAR version 6.50 or more recent."
|
|
#endif
|
|
|
|
#if __REGISTER_R4__ != __REGISTER_FREE__
|
|
#error "Incorrect setting for R4, expected it to be free."
|
|
#endif
|
|
|
|
#if __REGISTER_R5__ != __REGISTER_FREE__
|
|
#error "Incorrect setting for R5, expected it to be free."
|
|
#endif
|
|
|
|
// Suppress type conversion warning
|
|
#ifdef __TI_COMPILER_VERSION__
|
|
#pragma diag_suppress 173
|
|
#endif
|
|
|
|
#if (defined(__TI_COMPILER_VERSION__) && !defined(__LARGE_DATA_MODEL__)) || \
|
|
(defined(__IAR_SYSTEMS_ICC__) && (__DATA_MODEL__!=__DATA_MODEL_LARGE__))
|
|
#error "Only large data model supported for this ROM."
|
|
#endif
|
|
|
|
#ifndef __ROM_DRIVERLIB_H__
|
|
#define __ROM_DRIVERLIB_H__
|
|
|
|
#if (defined(__TI_COMPILER_VERSION__) && defined(__LARGE_CODE_MODEL__)) || \
|
|
(defined(__IAR_SYSTEMS_ICC__) && (__CODE_MODEL__==__CODE_MODEL_LARGE__))
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Pointers to the main API tables.
|
|
//
|
|
//*****************************************************************************
|
|
#ifndef ROM_TABLE
|
|
#define ROM_TABLE ((uint32_t *)ROMLIB_START)
|
|
#endif
|
|
#define ROM_DRIVERLIB_APITABLE ((uint32_t *)&ROM_TABLE[2])
|
|
#define ROM_DRIVERLIB_VERSIONL (ROM_DRIVERLIB_APITABLE[0])
|
|
#define ROM_DRIVERLIB_VERSIONH (ROM_DRIVERLIB_APITABLE[1])
|
|
#define ROM_ADCTABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[2]))
|
|
#define ROM_CRCTABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[3]))
|
|
#define ROM_CSTABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[4]))
|
|
#define ROM_ECOMPTABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[5]))
|
|
#define ROM_EUSCIASPITABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[6]))
|
|
#define ROM_EUSCIAUARTTABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[7]))
|
|
#define ROM_EUSCIBI2CTABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[8]))
|
|
#define ROM_EUSCIBSPITABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[9]))
|
|
#define ROM_FRAMCTLTABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[10]))
|
|
#define ROM_GPIOTABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[11]))
|
|
#define ROM_ICCTABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[12]))
|
|
#define ROM_MPY32TABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[14]))
|
|
#define ROM_PMMTABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[15]))
|
|
#define ROM_RTCTABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[16]))
|
|
#define ROM_SACTABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[17]))
|
|
#define ROM_SFRTABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[18]))
|
|
#define ROM_SYSCTLTABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[19]))
|
|
#define ROM_TIMER_BTABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[22]))
|
|
#define ROM_TLVTABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[23]))
|
|
#define ROM_WDTATABLE ((uint32_t *)(ROM_DRIVERLIB_APITABLE[24]))
|
|
|
|
#define ROM_DRIVERLIB_getVersion() ((uint32_t)ROM_DRIVERLIB_VERSIONH<<16|\
|
|
ROM_DRIVERLIB_VERSIONL)
|
|
#ifndef ROM_getVersion
|
|
#define ROM_getVersion() ((uint32_t)(ROMLIB_START[0]))
|
|
#endif
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the ADC API.
|
|
//
|
|
//*****************************************************************************
|
|
|
|
#define ROM_ADC_init \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t sampleHoldSignalSourceSelect, \
|
|
uint8_t clockSourceSelect, \
|
|
uint16_t clockSourceDivider))ROM_ADCTABLE[0])
|
|
|
|
#define ROM_ADC_enable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_ADCTABLE[1])
|
|
|
|
#define ROM_ADC_disable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_ADCTABLE[2])
|
|
|
|
#define ROM_ADC_setupSamplingTimer \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t clockCycleHoldCount, \
|
|
uint16_t multipleSamplesEnabled))ROM_ADCTABLE[3])
|
|
|
|
#define ROM_ADC_disableSamplingTimer \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_ADCTABLE[4])
|
|
|
|
#define ROM_ADC_configureMemory \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t inputSourceSelect, \
|
|
uint8_t positiveRefVoltageSourceSelect, \
|
|
uint8_t negativeRefVoltageSourceSelect))ROM_ADCTABLE[5])
|
|
|
|
#define ROM_ADC_enableInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t interruptMask))ROM_ADCTABLE[6])
|
|
|
|
#define ROM_ADC_disableInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t interruptMask))ROM_ADCTABLE[7])
|
|
|
|
#define ROM_ADC_clearInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t interruptFlagMask))ROM_ADCTABLE[8])
|
|
|
|
#define ROM_ADC_getInterruptStatus \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t interruptFlagMask))ROM_ADCTABLE[9])
|
|
|
|
#define ROM_ADC_startConversion \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t conversionSequenceModeSelect))ROM_ADCTABLE[10])
|
|
|
|
#define ROM_ADC_disableConversions \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
bool preempt))ROM_ADCTABLE[11])
|
|
|
|
#define ROM_ADC_getResults \
|
|
((int16_t ( __cc_rom *)(uint16_t baseAddress))ROM_ADCTABLE[12])
|
|
|
|
#define ROM_ADC_setResolution \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t resolutionSelect))ROM_ADCTABLE[13])
|
|
|
|
#define ROM_ADC_setSampleHoldSignalInversion \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t invertedSignal))ROM_ADCTABLE[14])
|
|
|
|
#define ROM_ADC_setDataReadBackFormat \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t readBackFormat))ROM_ADCTABLE[15])
|
|
|
|
#define ROM_ADC_setReferenceBufferSamplingRate \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t samplingRateSelect))ROM_ADCTABLE[16])
|
|
|
|
#define ROM_ADC_setWindowComp \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t highThreshold, \
|
|
uint16_t lowThreshold))ROM_ADCTABLE[17])
|
|
|
|
#define ROM_ADC_getMemoryAddressForDMA \
|
|
((uint32_t ( __cc_rom *)(uint16_t baseAddress))ROM_ADCTABLE[18])
|
|
|
|
#define ROM_ADC_isBusy \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress))ROM_ADCTABLE[19])
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the CRC API.
|
|
//
|
|
//*****************************************************************************
|
|
|
|
#define ROM_CRC_setSeed \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t seed))ROM_CRCTABLE[0])
|
|
|
|
#define ROM_CRC_set16BitData \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t dataIn))ROM_CRCTABLE[1])
|
|
|
|
#define ROM_CRC_set8BitData \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t dataIn))ROM_CRCTABLE[2])
|
|
|
|
#define ROM_CRC_set16BitDataReversed \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t dataIn))ROM_CRCTABLE[3])
|
|
|
|
#define ROM_CRC_set8BitDataReversed \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t dataIn))ROM_CRCTABLE[4])
|
|
|
|
#define ROM_CRC_getData \
|
|
((uint16_t ( __cc_rom *)(uint16_t baseAddress))ROM_CRCTABLE[5])
|
|
|
|
#define ROM_CRC_getResult \
|
|
((uint16_t ( __cc_rom *)(uint16_t baseAddress))ROM_CRCTABLE[6])
|
|
|
|
#define ROM_CRC_getResultBitsReversed \
|
|
((uint16_t ( __cc_rom *)(uint16_t baseAddress))ROM_CRCTABLE[7])
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the CS API.
|
|
//
|
|
//*****************************************************************************
|
|
|
|
#define ROM_CS_initClockSignal \
|
|
((void ( __cc_rom *)(uint8_t selectedClockSignal, \
|
|
uint16_t clockSource, \
|
|
uint16_t clockSourceDivider))ROM_CSTABLE[1])
|
|
|
|
#define ROM_CS_turnOnXT1LF \
|
|
((void ( __cc_rom *)(uint16_t xt1Drive))ROM_CSTABLE[2])
|
|
|
|
#define ROM_CS_bypassXT1 \
|
|
((void ( __cc_rom *)(void))ROM_CSTABLE[3])
|
|
|
|
#define ROM_CS_turnOnXT1LFWithTimeout \
|
|
((bool ( __cc_rom *)(uint16_t xt1Drive, \
|
|
uint16_t timeout))ROM_CSTABLE[4])
|
|
|
|
#define ROM_CS_bypassXT1WithTimeout \
|
|
((bool ( __cc_rom *)(uint16_t timeout))ROM_CSTABLE[5])
|
|
|
|
#define ROM_CS_turnOffXT1 \
|
|
((void ( __cc_rom *)(void))ROM_CSTABLE[6])
|
|
|
|
#define ROM_CS_turnOnXT1HF \
|
|
((void ( __cc_rom *)(uint16_t xt1Drive, \
|
|
uint16_t xt1HFFreq))ROM_CSTABLE[7])
|
|
|
|
#define ROM_CS_turnOnXT1HFWithTimeout \
|
|
((bool ( __cc_rom *)(uint16_t xt1Drive, \
|
|
uint16_t xt1HFFreq, \
|
|
uint16_t timeout))ROM_CSTABLE[8])
|
|
|
|
#define ROM_CS_turnOnSMCLK \
|
|
((void ( __cc_rom *)(void))ROM_CSTABLE[9])
|
|
|
|
#define ROM_CS_turnOffSMCLK \
|
|
((void ( __cc_rom *)(void))ROM_CSTABLE[10])
|
|
|
|
#define ROM_CS_enableVLOAutoOff \
|
|
((void ( __cc_rom *)(void))ROM_CSTABLE[11])
|
|
|
|
#define ROM_CS_disableVLOAutoOff \
|
|
((void ( __cc_rom *)(void))ROM_CSTABLE[12])
|
|
|
|
#define ROM_CS_initFLLSettle \
|
|
((bool ( __cc_rom *)(uint16_t fsystem, \
|
|
uint16_t ratio))ROM_CSTABLE[13])
|
|
|
|
#define ROM_CS_initFLL \
|
|
((bool ( __cc_rom *)(uint16_t fsystem, \
|
|
uint16_t ratio))ROM_CSTABLE[14])
|
|
#ifndef __TI_COMPILER_VERSION__
|
|
#define ROM_CS_initFLLLoadTrim \
|
|
((bool ( __cc_rom *)(uint16_t fsystem, \
|
|
uint16_t ratio, \
|
|
CS_initFLLParam *param))ROM_CSTABLE[16])
|
|
#endif
|
|
#define ROM_CS_enableClockRequest \
|
|
((void ( __cc_rom *)(uint8_t selectClock))ROM_CSTABLE[17])
|
|
|
|
#define ROM_CS_disableClockRequest \
|
|
((void ( __cc_rom *)(uint8_t selectClock))ROM_CSTABLE[18])
|
|
|
|
#define ROM_CS_getFaultFlagStatus \
|
|
((uint8_t ( __cc_rom *)(uint8_t mask))ROM_CSTABLE[19])
|
|
|
|
#define ROM_CS_clearFaultFlag \
|
|
((void ( __cc_rom *)(uint8_t mask))ROM_CSTABLE[20])
|
|
|
|
#define ROM_CS_clearAllOscFlagsWithTimeout \
|
|
((uint16_t ( __cc_rom *)(uint16_t timeout))ROM_CSTABLE[24])
|
|
|
|
#define ROM_CS_enableXT1AutomaticGainControl \
|
|
((void ( __cc_rom *)(void))ROM_CSTABLE[25])
|
|
|
|
#define ROM_CS_disableXT1AutomaticGainControl \
|
|
((void ( __cc_rom *)(void))ROM_CSTABLE[26])
|
|
|
|
#define ROM_CS_enableFLLUnlock \
|
|
((void ( __cc_rom *)(void))ROM_CSTABLE[27])
|
|
|
|
#define ROM_CS_disableFLLUnlock \
|
|
((void ( __cc_rom *)(void))ROM_CSTABLE[28])
|
|
|
|
#define ROM_CS_enableREFOLP \
|
|
((void ( __cc_rom *)(void))ROM_CSTABLE[29])
|
|
|
|
#define ROM_CS_disableREFOLP \
|
|
((void ( __cc_rom *)(void))ROM_CSTABLE[30])
|
|
|
|
#define ROM_CS_getREFOLP \
|
|
((bool ( __cc_rom *)(void))ROM_CSTABLE[31])
|
|
|
|
#define ROM_CS_enableXT1FaultOff \
|
|
((void ( __cc_rom *)(void))ROM_CSTABLE[32])
|
|
|
|
#define ROM_CS_disableXT1FaultOff \
|
|
((void ( __cc_rom *)(void))ROM_CSTABLE[33])
|
|
|
|
#define ROM_CS_getXT1FaultOff \
|
|
((bool ( __cc_rom *)(void))ROM_CSTABLE[34])
|
|
|
|
#define ROM_CS_getREFOReady \
|
|
((bool ( __cc_rom *)(void))ROM_CSTABLE[35])
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the ECOMP API.
|
|
//
|
|
//*****************************************************************************
|
|
#ifndef __TI_COMPILER_VERSION__
|
|
#define ROM_EComp_init \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
EComp_initParam *param))ROM_ECOMPTABLE[0])
|
|
#endif
|
|
#define ROM_EComp_selectHysteresisMode \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t hysteresisMode))ROM_ECOMPTABLE[1])
|
|
|
|
#define ROM_EComp_selectPowerMode \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t powerMode))ROM_ECOMPTABLE[2])
|
|
|
|
#define ROM_EComp_enable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_ECOMPTABLE[3])
|
|
|
|
#define ROM_EComp_disable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_ECOMPTABLE[4])
|
|
|
|
#define ROM_EComp_enableInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t interruptMask))ROM_ECOMPTABLE[5])
|
|
|
|
#define ROM_EComp_disableInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t interruptMask))ROM_ECOMPTABLE[6])
|
|
|
|
#define ROM_EComp_clearInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t interruptFlagMask))ROM_ECOMPTABLE[7])
|
|
|
|
#define ROM_EComp_getInterruptStatus \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t interruptFlagMask))ROM_ECOMPTABLE[8])
|
|
|
|
#define ROM_EComp_setInterruptEdgeDirection \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t edgeDirection))ROM_ECOMPTABLE[9])
|
|
|
|
#define ROM_EComp_toggleInterruptEdgeDirection \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_ECOMPTABLE[10])
|
|
|
|
#define ROM_EComp_outputValue \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress))ROM_ECOMPTABLE[11])
|
|
#ifndef __TI_COMPILER_VERSION__
|
|
#define ROM_EComp_configureDAC \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
EComp_configureDACParam *param))ROM_ECOMPTABLE[12])
|
|
#endif
|
|
#define ROM_EComp_enableDAC \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_ECOMPTABLE[13])
|
|
|
|
#define ROM_EComp_disableDAC \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_ECOMPTABLE[14])
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the EUSCIASPI API.
|
|
//
|
|
//*****************************************************************************
|
|
#ifndef __TI_COMPILER_VERSION__
|
|
#define ROM_EUSCI_A_SPI_initMaster \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
EUSCI_A_SPI_initMasterParam *param))ROM_EUSCIASPITABLE[0])
|
|
#endif
|
|
#define ROM_EUSCI_A_SPI_select4PinFunctionality \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t select4PinFunctionality))ROM_EUSCIASPITABLE[1])
|
|
#ifndef __TI_COMPILER_VERSION__
|
|
#define ROM_EUSCI_A_SPI_changeMasterClock \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
EUSCI_A_SPI_changeMasterClockParam *param))ROM_EUSCIASPITABLE[2])
|
|
|
|
#define ROM_EUSCI_A_SPI_initSlave \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
EUSCI_A_SPI_initSlaveParam *param))ROM_EUSCIASPITABLE[3])
|
|
#endif
|
|
#define ROM_EUSCI_A_SPI_changeClockPhasePolarity \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t clockPhase, \
|
|
uint16_t clockPolarity))ROM_EUSCIASPITABLE[4])
|
|
|
|
#define ROM_EUSCI_A_SPI_transmitData \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t transmitData))ROM_EUSCIASPITABLE[5])
|
|
|
|
#define ROM_EUSCI_A_SPI_receiveData \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIASPITABLE[6])
|
|
|
|
#define ROM_EUSCI_A_SPI_enableInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t mask))ROM_EUSCIASPITABLE[7])
|
|
|
|
#define ROM_EUSCI_A_SPI_disableInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t mask))ROM_EUSCIASPITABLE[8])
|
|
|
|
#define ROM_EUSCI_A_SPI_getInterruptStatus \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t mask))ROM_EUSCIASPITABLE[9])
|
|
|
|
#define ROM_EUSCI_A_SPI_clearInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t mask))ROM_EUSCIASPITABLE[10])
|
|
|
|
#define ROM_EUSCI_A_SPI_enable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIASPITABLE[11])
|
|
|
|
#define ROM_EUSCI_A_SPI_disable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIASPITABLE[12])
|
|
|
|
#define ROM_EUSCI_A_SPI_getReceiveBufferAddress \
|
|
((uint32_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIASPITABLE[13])
|
|
|
|
#define ROM_EUSCI_A_SPI_isBusy \
|
|
((uint16_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIASPITABLE[14])
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the EUSCIAUART API.
|
|
//
|
|
//*****************************************************************************
|
|
#ifndef __TI_COMPILER_VERSION__
|
|
#define ROM_EUSCI_A_UART_init \
|
|
((bool ( __cc_rom *)(uint16_t baseAddress, \
|
|
EUSCI_A_UART_initParam *param))ROM_EUSCIAUARTTABLE[0])
|
|
#endif
|
|
#define ROM_EUSCI_A_UART_transmitData \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t transmitData))ROM_EUSCIAUARTTABLE[1])
|
|
|
|
#define ROM_EUSCI_A_UART_receiveData \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIAUARTTABLE[2])
|
|
|
|
#define ROM_EUSCI_A_UART_enableInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t mask))ROM_EUSCIAUARTTABLE[3])
|
|
|
|
#define ROM_EUSCI_A_UART_disableInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t mask))ROM_EUSCIAUARTTABLE[4])
|
|
|
|
#define ROM_EUSCI_A_UART_getInterruptStatus \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t mask))ROM_EUSCIAUARTTABLE[5])
|
|
|
|
#define ROM_EUSCI_A_UART_clearInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t mask))ROM_EUSCIAUARTTABLE[6])
|
|
|
|
#define ROM_EUSCI_A_UART_enable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIAUARTTABLE[7])
|
|
|
|
#define ROM_EUSCI_A_UART_disable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIAUARTTABLE[8])
|
|
|
|
#define ROM_EUSCI_A_UART_queryStatusFlags \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t mask))ROM_EUSCIAUARTTABLE[9])
|
|
|
|
#define ROM_EUSCI_A_UART_setDormant \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIAUARTTABLE[10])
|
|
|
|
#define ROM_EUSCI_A_UART_resetDormant \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIAUARTTABLE[11])
|
|
|
|
#define ROM_EUSCI_A_UART_transmitAddress \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t transmitAddress))ROM_EUSCIAUARTTABLE[12])
|
|
|
|
#define ROM_EUSCI_A_UART_transmitBreak \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIAUARTTABLE[13])
|
|
|
|
#define ROM_EUSCI_A_UART_getReceiveBufferAddress \
|
|
((uint32_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIAUARTTABLE[14])
|
|
|
|
#define ROM_EUSCI_A_UART_getTransmitBufferAddress \
|
|
((uint32_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIAUARTTABLE[15])
|
|
|
|
#define ROM_EUSCI_A_UART_selectDeglitchTime \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t deglitchTime))ROM_EUSCIAUARTTABLE[16])
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the EUSCIBI2C API.
|
|
//
|
|
//*****************************************************************************
|
|
#ifndef __TI_COMPILER_VERSION__
|
|
#define ROM_EUSCI_B_I2C_initMaster \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
EUSCI_B_I2C_initMasterParam *param))ROM_EUSCIBI2CTABLE[0])
|
|
|
|
#define ROM_EUSCI_B_I2C_initSlave \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
EUSCI_B_I2C_initSlaveParam *param))ROM_EUSCIBI2CTABLE[1])
|
|
#endif
|
|
#define ROM_EUSCI_B_I2C_enable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBI2CTABLE[2])
|
|
|
|
#define ROM_EUSCI_B_I2C_disable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBI2CTABLE[3])
|
|
|
|
#define ROM_EUSCI_B_I2C_setSlaveAddress \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t slaveAddress))ROM_EUSCIBI2CTABLE[4])
|
|
|
|
#define ROM_EUSCI_B_I2C_setMode \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t mode))ROM_EUSCIBI2CTABLE[5])
|
|
|
|
#define ROM_EUSCI_B_I2C_getMode \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBI2CTABLE[6])
|
|
|
|
#define ROM_EUSCI_B_I2C_slavePutData \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t transmitData))ROM_EUSCIBI2CTABLE[7])
|
|
|
|
#define ROM_EUSCI_B_I2C_slaveGetData \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBI2CTABLE[8])
|
|
|
|
#define ROM_EUSCI_B_I2C_isBusBusy \
|
|
((uint16_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBI2CTABLE[9])
|
|
|
|
#define ROM_EUSCI_B_I2C_masterIsStopSent \
|
|
((uint16_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBI2CTABLE[10])
|
|
|
|
#define ROM_EUSCI_B_I2C_masterReceiveSingleByte \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBI2CTABLE[11])
|
|
|
|
#define ROM_EUSCI_B_I2C_masterIsStartSent \
|
|
((uint16_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBI2CTABLE[12])
|
|
|
|
#define ROM_EUSCI_B_I2C_enableInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t mask))ROM_EUSCIBI2CTABLE[13])
|
|
|
|
#define ROM_EUSCI_B_I2C_disableInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t mask))ROM_EUSCIBI2CTABLE[14])
|
|
|
|
#define ROM_EUSCI_B_I2C_clearInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t mask))ROM_EUSCIBI2CTABLE[15])
|
|
|
|
#define ROM_EUSCI_B_I2C_getInterruptStatus \
|
|
((uint16_t ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t mask))ROM_EUSCIBI2CTABLE[16])
|
|
|
|
#define ROM_EUSCI_B_I2C_masterSendSingleByte \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t txData))ROM_EUSCIBI2CTABLE[17])
|
|
|
|
#define ROM_EUSCI_B_I2C_masterSendSingleByteWithTimeout \
|
|
((bool ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t txData, \
|
|
uint32_t timeout))ROM_EUSCIBI2CTABLE[18])
|
|
|
|
#define ROM_EUSCI_B_I2C_masterSendMultiByteStart \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t txData))ROM_EUSCIBI2CTABLE[19])
|
|
|
|
#define ROM_EUSCI_B_I2C_masterSendMultiByteStartWithTimeout \
|
|
((bool ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t txData, \
|
|
uint32_t timeout))ROM_EUSCIBI2CTABLE[20])
|
|
|
|
#define ROM_EUSCI_B_I2C_masterSendMultiByteNext \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t txData))ROM_EUSCIBI2CTABLE[21])
|
|
|
|
#define ROM_EUSCI_B_I2C_masterSendMultiByteNextWithTimeout \
|
|
((bool ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t txData, \
|
|
uint32_t timeout))ROM_EUSCIBI2CTABLE[22])
|
|
|
|
#define ROM_EUSCI_B_I2C_masterSendMultiByteFinish \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t txData))ROM_EUSCIBI2CTABLE[23])
|
|
|
|
#define ROM_EUSCI_B_I2C_masterSendMultiByteFinishWithTimeout \
|
|
((bool ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t txData, \
|
|
uint32_t timeout))ROM_EUSCIBI2CTABLE[24])
|
|
|
|
#define ROM_EUSCI_B_I2C_masterSendStart \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBI2CTABLE[25])
|
|
|
|
#define ROM_EUSCI_B_I2C_masterSendMultiByteStop \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBI2CTABLE[26])
|
|
|
|
#define ROM_EUSCI_B_I2C_masterReceiveStart \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBI2CTABLE[28])
|
|
|
|
#define ROM_EUSCI_B_I2C_masterReceiveMultiByteNext \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBI2CTABLE[29])
|
|
|
|
#define ROM_EUSCI_B_I2C_masterReceiveMultiByteFinish \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBI2CTABLE[30])
|
|
|
|
#define ROM_EUSCI_B_I2C_masterReceiveMultiByteFinishWithTimeout \
|
|
((bool ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t *txData, \
|
|
uint32_t timeout))ROM_EUSCIBI2CTABLE[31])
|
|
|
|
#define ROM_EUSCI_B_I2C_masterReceiveMultiByteStop \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBI2CTABLE[32])
|
|
|
|
#define ROM_EUSCI_B_I2C_enableMultiMasterMode \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBI2CTABLE[33])
|
|
|
|
#define ROM_EUSCI_B_I2C_disableMultiMasterMode \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBI2CTABLE[34])
|
|
|
|
#define ROM_EUSCI_B_I2C_masterReceiveSingle \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBI2CTABLE[35])
|
|
|
|
#define ROM_EUSCI_B_I2C_getReceiveBufferAddress \
|
|
((uint32_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBI2CTABLE[36])
|
|
|
|
#define ROM_EUSCI_B_I2C_getTransmitBufferAddress \
|
|
((uint32_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBI2CTABLE[37])
|
|
|
|
#define ROM_EUSCI_B_I2C_remapPins \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t pinsSelect))ROM_EUSCIBI2CTABLE[38])
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the EUSCIBSPI API.
|
|
//
|
|
//*****************************************************************************
|
|
#ifndef __TI_COMPILER_VERSION__
|
|
#define ROM_EUSCI_B_SPI_initMaster \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
EUSCI_B_SPI_initMasterParam *param))ROM_EUSCIBSPITABLE[0])
|
|
#endif
|
|
#define ROM_EUSCI_B_SPI_select4PinFunctionality \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t select4PinFunctionality))ROM_EUSCIBSPITABLE[1])
|
|
#ifndef __TI_COMPILER_VERSION__
|
|
#define ROM_EUSCI_B_SPI_changeMasterClock \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
EUSCI_B_SPI_changeMasterClockParam *param))ROM_EUSCIBSPITABLE[2])
|
|
|
|
#define ROM_EUSCI_B_SPI_initSlave \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
EUSCI_B_SPI_initSlaveParam *param))ROM_EUSCIBSPITABLE[3])
|
|
#endif
|
|
#define ROM_EUSCI_B_SPI_changeClockPhasePolarity \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t clockPhase, \
|
|
uint16_t clockPolarity))ROM_EUSCIBSPITABLE[4])
|
|
|
|
#define ROM_EUSCI_B_SPI_transmitData \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t transmitData))ROM_EUSCIBSPITABLE[5])
|
|
|
|
#define ROM_EUSCI_B_SPI_receiveData \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBSPITABLE[6])
|
|
|
|
#define ROM_EUSCI_B_SPI_enableInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t mask))ROM_EUSCIBSPITABLE[7])
|
|
|
|
#define ROM_EUSCI_B_SPI_disableInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t mask))ROM_EUSCIBSPITABLE[8])
|
|
|
|
#define ROM_EUSCI_B_SPI_getInterruptStatus \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t mask))ROM_EUSCIBSPITABLE[9])
|
|
|
|
#define ROM_EUSCI_B_SPI_clearInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t mask))ROM_EUSCIBSPITABLE[10])
|
|
|
|
#define ROM_EUSCI_B_SPI_enable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBSPITABLE[11])
|
|
|
|
#define ROM_EUSCI_B_SPI_disable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBSPITABLE[12])
|
|
|
|
#define ROM_EUSCI_B_SPI_getReceiveBufferAddress \
|
|
((uint32_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBSPITABLE[13])
|
|
|
|
#define ROM_EUSCI_B_SPI_getTransmitBufferAddress \
|
|
((uint32_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBSPITABLE[14])
|
|
|
|
#define ROM_EUSCI_B_SPI_isBusy \
|
|
((uint16_t ( __cc_rom *)(uint16_t baseAddress))ROM_EUSCIBSPITABLE[15])
|
|
|
|
#define ROM_EUSCI_B_SPI_remapPins \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t pinsSelect))ROM_EUSCIBSPITABLE[16])
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the FRAMCTL API.
|
|
//
|
|
//*****************************************************************************
|
|
#ifndef __TI_COMPILER_VERSION__
|
|
#define ROM_FRAMCtl_write8 \
|
|
((void ( __cc_rom *)(uint8_t *dataPtr, \
|
|
uint8_t *framPtr, \
|
|
uint16_t numberOfBytes))ROM_FRAMCTLTABLE[0])
|
|
|
|
#define ROM_FRAMCtl_write16 \
|
|
((void ( __cc_rom *)(uint16_t *dataPtr, \
|
|
uint16_t *framPtr, \
|
|
uint16_t numberOfWords))ROM_FRAMCTLTABLE[1])
|
|
|
|
#define ROM_FRAMCtl_write32 \
|
|
((void ( __cc_rom *)(uint32_t *dataPtr, \
|
|
uint32_t *framPtr, \
|
|
uint16_t count))ROM_FRAMCTLTABLE[2])
|
|
|
|
#define ROM_FRAMCtl_fillMemory32 \
|
|
((void ( __cc_rom *)(uint32_t value, \
|
|
uint32_t *framPtr, \
|
|
uint16_t count))ROM_FRAMCTLTABLE[3])
|
|
#endif
|
|
#define ROM_FRAMCtl_enableInterrupt \
|
|
((void ( __cc_rom *)(uint8_t interruptMask))ROM_FRAMCTLTABLE[4])
|
|
|
|
#define ROM_FRAMCtl_getInterruptStatus \
|
|
((uint8_t ( __cc_rom *)(uint16_t interruptFlagMask))ROM_FRAMCTLTABLE[5])
|
|
|
|
#define ROM_FRAMCtl_disableInterrupt \
|
|
((void ( __cc_rom *)(uint16_t interruptMask))ROM_FRAMCTLTABLE[6])
|
|
|
|
#define ROM_FRAMCtl_configureWaitStateControl \
|
|
((void ( __cc_rom *)(uint8_t waitState))ROM_FRAMCTLTABLE[7])
|
|
|
|
#define ROM_FRAMCtl_delayPowerUpFromLPM \
|
|
((void ( __cc_rom *)(uint8_t delayStatus))ROM_FRAMCTLTABLE[8])
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the GPIO API.
|
|
//
|
|
//*****************************************************************************
|
|
|
|
#define ROM_GPIO_setAsOutputPin \
|
|
((void ( __cc_rom *)(uint8_t selectedPort, \
|
|
uint16_t selectedPins))ROM_GPIOTABLE[0])
|
|
|
|
#define ROM_GPIO_setAsInputPin \
|
|
((void ( __cc_rom *)(uint8_t selectedPort, \
|
|
uint16_t selectedPins))ROM_GPIOTABLE[1])
|
|
|
|
#define ROM_GPIO_setAsPeripheralModuleFunctionOutputPin \
|
|
((void ( __cc_rom *)(uint8_t selectedPort, \
|
|
uint16_t selectedPins, \
|
|
uint8_t mode))ROM_GPIOTABLE[2])
|
|
|
|
#define ROM_GPIO_setAsPeripheralModuleFunctionInputPin \
|
|
((void ( __cc_rom *)(uint8_t selectedPort, \
|
|
uint16_t selectedPins, \
|
|
uint8_t mode))ROM_GPIOTABLE[3])
|
|
|
|
#define ROM_GPIO_setOutputHighOnPin \
|
|
((void ( __cc_rom *)(uint8_t selectedPort, \
|
|
uint16_t selectedPins))ROM_GPIOTABLE[4])
|
|
|
|
#define ROM_GPIO_setOutputLowOnPin \
|
|
((void ( __cc_rom *)(uint8_t selectedPort, \
|
|
uint16_t selectedPins))ROM_GPIOTABLE[5])
|
|
|
|
#define ROM_GPIO_toggleOutputOnPin \
|
|
((void ( __cc_rom *)(uint8_t selectedPort, \
|
|
uint16_t selectedPins))ROM_GPIOTABLE[6])
|
|
|
|
#define ROM_GPIO_setAsInputPinWithPullDownResistor \
|
|
((void ( __cc_rom *)(uint8_t selectedPort, \
|
|
uint16_t selectedPins))ROM_GPIOTABLE[7])
|
|
|
|
#define ROM_GPIO_setAsInputPinWithPullUpResistor \
|
|
((void ( __cc_rom *)(uint8_t selectedPort, \
|
|
uint16_t selectedPins))ROM_GPIOTABLE[8])
|
|
|
|
#define ROM_GPIO_getInputPinValue \
|
|
((uint8_t ( __cc_rom *)(uint8_t selectedPort, \
|
|
uint16_t selectedPins))ROM_GPIOTABLE[9])
|
|
|
|
#define ROM_GPIO_enableInterrupt \
|
|
((void ( __cc_rom *)(uint8_t selectedPort, \
|
|
uint16_t selectedPins))ROM_GPIOTABLE[10])
|
|
|
|
#define ROM_GPIO_disableInterrupt \
|
|
((void ( __cc_rom *)(uint8_t selectedPort, \
|
|
uint16_t selectedPins))ROM_GPIOTABLE[11])
|
|
|
|
#define ROM_GPIO_getInterruptStatus \
|
|
((uint16_t ( __cc_rom *)(uint8_t selectedPort, \
|
|
uint16_t selectedPins))ROM_GPIOTABLE[12])
|
|
|
|
#define ROM_GPIO_clearInterrupt \
|
|
((void ( __cc_rom *)(uint8_t selectedPort, \
|
|
uint16_t selectedPins))ROM_GPIOTABLE[13])
|
|
|
|
#define ROM_GPIO_selectInterruptEdge \
|
|
((void ( __cc_rom *)(uint8_t selectedPort, \
|
|
uint16_t selectedPins, \
|
|
uint8_t edgeSelect))ROM_GPIOTABLE[14])
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the ICC API.
|
|
//
|
|
//*****************************************************************************
|
|
|
|
#define ROM_ICC_enable \
|
|
((void ( __cc_rom *)(void))ROM_ICCTABLE[0])
|
|
|
|
#define ROM_ICC_disable \
|
|
((void ( __cc_rom *)(void))ROM_ICCTABLE[1])
|
|
|
|
#define ROM_ICC_setInterruptLevel \
|
|
((void ( __cc_rom *)(uint32_t ILSRmask, \
|
|
uint8_t interruptLevel))ROM_ICCTABLE[2])
|
|
|
|
#define ROM_ICC_getInterruptLevel \
|
|
((uint8_t ( __cc_rom *)(uint32_t interruptSource))ROM_ICCTABLE[3])
|
|
|
|
#define ROM_ICC_isVirtualStackEmpty \
|
|
((bool ( __cc_rom *)(void))ROM_ICCTABLE[4])
|
|
|
|
#define ROM_ICC_isVirtualStackFull \
|
|
((bool ( __cc_rom *)(void))ROM_ICCTABLE[5])
|
|
|
|
#define ROM_ICC_getCurrentICM \
|
|
((uint8_t ( __cc_rom *)(void))ROM_ICCTABLE[6])
|
|
|
|
#define ROM_ICC_getMVSStackPointer \
|
|
((uint8_t ( __cc_rom *)(void))ROM_ICCTABLE[7])
|
|
|
|
#define ROM_ICC_getICM3 \
|
|
((uint8_t ( __cc_rom *)(void))ROM_ICCTABLE[8])
|
|
|
|
#define ROM_ICC_getICM2 \
|
|
((uint8_t ( __cc_rom *)(void))ROM_ICCTABLE[9])
|
|
|
|
#define ROM_ICC_getICM1 \
|
|
((uint8_t ( __cc_rom *)(void))ROM_ICCTABLE[10])
|
|
|
|
#define ROM_ICC_getICM0 \
|
|
((uint8_t ( __cc_rom *)(void))ROM_ICCTABLE[11])
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the MPY32 API.
|
|
//
|
|
//*****************************************************************************
|
|
|
|
#define ROM_MPY32_setWriteDelay \
|
|
((void ( __cc_rom *)(uint16_t writeDelaySelect))ROM_MPY32TABLE[0])
|
|
|
|
#define ROM_MPY32_enableSaturationMode \
|
|
((void ( __cc_rom *)(void))ROM_MPY32TABLE[1])
|
|
|
|
#define ROM_MPY32_disableSaturationMode \
|
|
((void ( __cc_rom *)(void))ROM_MPY32TABLE[2])
|
|
|
|
#define ROM_MPY32_getSaturationMode \
|
|
((uint8_t ( __cc_rom *)(void))ROM_MPY32TABLE[3])
|
|
|
|
#define ROM_MPY32_enableFractionalMode \
|
|
((void ( __cc_rom *)(void))ROM_MPY32TABLE[4])
|
|
|
|
#define ROM_MPY32_disableFractionalMode \
|
|
((void ( __cc_rom *)(void))ROM_MPY32TABLE[5])
|
|
|
|
#define ROM_MPY32_getFractionalMode \
|
|
((uint8_t ( __cc_rom *)(void))ROM_MPY32TABLE[6])
|
|
|
|
#define ROM_MPY32_setOperandOne8Bit \
|
|
((void ( __cc_rom *)(uint8_t multiplicationType, \
|
|
uint8_t operand))ROM_MPY32TABLE[7])
|
|
|
|
#define ROM_MPY32_setOperandOne16Bit \
|
|
((void ( __cc_rom *)(uint8_t multiplicationType, \
|
|
uint16_t operand))ROM_MPY32TABLE[8])
|
|
|
|
#define ROM_MPY32_setOperandTwo8Bit \
|
|
((void ( __cc_rom *)(uint8_t operand))ROM_MPY32TABLE[11])
|
|
|
|
#define ROM_MPY32_setOperandTwo16Bit \
|
|
((void ( __cc_rom *)(uint16_t operand))ROM_MPY32TABLE[12])
|
|
|
|
#define ROM_MPY32_setOperandTwo24Bit \
|
|
((void ( __cc_rom *)(uint32_t operand))ROM_MPY32TABLE[13])
|
|
|
|
#define ROM_MPY32_setOperandTwo32Bit \
|
|
((void ( __cc_rom *)(uint32_t operand))ROM_MPY32TABLE[14])
|
|
|
|
#define ROM_MPY32_getResult \
|
|
((uint64_t ( __cc_rom *)(void))ROM_MPY32TABLE[15])
|
|
|
|
#define ROM_MPY32_getSumExtension \
|
|
((uint16_t ( __cc_rom *)(void))ROM_MPY32TABLE[16])
|
|
|
|
#define ROM_MPY32_getCarryBitValue \
|
|
((uint16_t ( __cc_rom *)(void))ROM_MPY32TABLE[17])
|
|
|
|
#define ROM_MPY32_clearCarryBitValue \
|
|
((void ( __cc_rom *)(void))ROM_MPY32TABLE[18])
|
|
#ifndef __TI_COMPILER_VERSION__
|
|
#define ROM_MPY32_preloadResult \
|
|
((void ( __cc_rom *)(uint64_t result))ROM_MPY32TABLE[19])
|
|
#endif
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the PMM API.
|
|
//
|
|
//*****************************************************************************
|
|
|
|
#define ROM_PMM_enableSVSH \
|
|
((void ( __cc_rom *)(void))ROM_PMMTABLE[0])
|
|
|
|
#define ROM_PMM_disableSVSH \
|
|
((void ( __cc_rom *)(void))ROM_PMMTABLE[1])
|
|
|
|
#define ROM_PMM_turnOnRegulator \
|
|
((void ( __cc_rom *)(void))ROM_PMMTABLE[2])
|
|
|
|
#define ROM_PMM_turnOffRegulator \
|
|
((void ( __cc_rom *)(void))ROM_PMMTABLE[3])
|
|
|
|
#define ROM_PMM_trigPOR \
|
|
((void ( __cc_rom *)(void))ROM_PMMTABLE[4])
|
|
|
|
#define ROM_PMM_trigBOR \
|
|
((void ( __cc_rom *)(void))ROM_PMMTABLE[5])
|
|
|
|
#define ROM_PMM_clearInterrupt \
|
|
((void ( __cc_rom *)(uint16_t mask))ROM_PMMTABLE[6])
|
|
|
|
#define ROM_PMM_getInterruptStatus \
|
|
((uint16_t ( __cc_rom *)(uint16_t mask))ROM_PMMTABLE[7])
|
|
|
|
#define ROM_PMM_unlockLPM5 \
|
|
((void ( __cc_rom *)(void))ROM_PMMTABLE[8])
|
|
|
|
#define ROM_PMM_getBandgapMode \
|
|
((uint16_t ( __cc_rom *)(void))ROM_PMMTABLE[9])
|
|
|
|
#define ROM_PMM_isBandgapActive \
|
|
((uint16_t ( __cc_rom *)(void))ROM_PMMTABLE[10])
|
|
|
|
#define ROM_PMM_isRefGenActive \
|
|
((uint16_t ( __cc_rom *)(void))ROM_PMMTABLE[11])
|
|
|
|
#define ROM_PMM_getBufferedBandgapVoltageStatus \
|
|
((uint16_t ( __cc_rom *)(void))ROM_PMMTABLE[12])
|
|
|
|
#define ROM_PMM_getVariableReferenceVoltageStatus \
|
|
((uint16_t ( __cc_rom *)(void))ROM_PMMTABLE[13])
|
|
|
|
#define ROM_PMM_disableTempSensor \
|
|
((void ( __cc_rom *)(void))ROM_PMMTABLE[14])
|
|
|
|
#define ROM_PMM_enableTempSensor \
|
|
((void ( __cc_rom *)(void))ROM_PMMTABLE[15])
|
|
|
|
#define ROM_PMM_disableExternalReference \
|
|
((void ( __cc_rom *)(void))ROM_PMMTABLE[16])
|
|
|
|
#define ROM_PMM_enableExternalReference \
|
|
((void ( __cc_rom *)(void))ROM_PMMTABLE[17])
|
|
|
|
#define ROM_PMM_disableInternalReference \
|
|
((void ( __cc_rom *)(void))ROM_PMMTABLE[18])
|
|
|
|
#define ROM_PMM_enableInternalReference \
|
|
((void ( __cc_rom *)(void))ROM_PMMTABLE[19])
|
|
|
|
#define ROM_PMM_selectVoltageReference \
|
|
((void ( __cc_rom *)(uint8_t refV))ROM_PMMTABLE[20])
|
|
|
|
#define ROM_PMM_setPowerMode \
|
|
((void ( __cc_rom *)(uint8_t mode))ROM_PMMTABLE[21])
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the RTC API.
|
|
//
|
|
//*****************************************************************************
|
|
|
|
#define ROM_RTC_init \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t modulo, \
|
|
uint16_t clockPredivider))ROM_RTCTABLE[0])
|
|
|
|
#define ROM_RTC_start \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t clockSource))ROM_RTCTABLE[1])
|
|
|
|
#define ROM_RTC_stop \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_RTCTABLE[2])
|
|
|
|
#define ROM_RTC_setModulo \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t modulo))ROM_RTCTABLE[3])
|
|
|
|
#define ROM_RTC_enableInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t interruptMask))ROM_RTCTABLE[4])
|
|
|
|
#define ROM_RTC_disableInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t interruptMask))ROM_RTCTABLE[5])
|
|
|
|
#define ROM_RTC_getInterruptStatus \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t interruptFlagMask))ROM_RTCTABLE[6])
|
|
|
|
#define ROM_RTC_clearInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
int8_t interruptFlagMask))ROM_RTCTABLE[7])
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the SAC API.
|
|
//
|
|
//*****************************************************************************
|
|
|
|
#define ROM_SAC_OA_init \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t positiveInput, \
|
|
uint16_t negativeInput))ROM_SACTABLE[0])
|
|
|
|
#define ROM_SAC_OA_selectPowerMode \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t powerMode))ROM_SACTABLE[1])
|
|
|
|
#define ROM_SAC_OA_enable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_SACTABLE[2])
|
|
|
|
#define ROM_SAC_OA_disable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_SACTABLE[3])
|
|
|
|
#define ROM_SAC_enable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_SACTABLE[4])
|
|
|
|
#define ROM_SAC_disable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_SACTABLE[5])
|
|
|
|
#define ROM_SAC_PGA_setMode \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t mode))ROM_SACTABLE[6])
|
|
|
|
#define ROM_SAC_PGA_setGain \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t gain))ROM_SACTABLE[7])
|
|
|
|
#define ROM_SAC_DAC_enable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_SACTABLE[8])
|
|
|
|
#define ROM_SAC_DAC_disable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_SACTABLE[9])
|
|
|
|
#define ROM_SAC_DAC_interruptEnable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_SACTABLE[10])
|
|
|
|
#define ROM_SAC_DAC_interruptDisable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_SACTABLE[11])
|
|
|
|
#define ROM_SAC_DAC_DMARequestEnable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_SACTABLE[12])
|
|
|
|
#define ROM_SAC_DAC_DMARequestDisable \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_SACTABLE[13])
|
|
|
|
#define ROM_SAC_DAC_selectLoad \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t load))ROM_SACTABLE[14])
|
|
|
|
#define ROM_SAC_DAC_selectRefVoltage \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t reference))ROM_SACTABLE[15])
|
|
|
|
#define ROM_SAC_DAC_getData \
|
|
((uint16_t ( __cc_rom *)(uint16_t baseAddress))ROM_SACTABLE[16])
|
|
|
|
#define ROM_SAC_DAC_setData \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t data))ROM_SACTABLE[17])
|
|
|
|
#define ROM_SAC_DAC_getIFG \
|
|
((bool ( __cc_rom *)(uint16_t baseAddress))ROM_SACTABLE[18])
|
|
|
|
#define ROM_SAC_DAC_clearIFG \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_SACTABLE[19])
|
|
|
|
#define ROM_SAC_getInterruptVector \
|
|
((uint16_t ( __cc_rom *)(uint16_t baseAddress))ROM_SACTABLE[20])
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the SFR API.
|
|
//
|
|
//*****************************************************************************
|
|
|
|
#define ROM_SFR_enableInterrupt \
|
|
((void ( __cc_rom *)(uint8_t interruptMask))ROM_SFRTABLE[0])
|
|
|
|
#define ROM_SFR_disableInterrupt \
|
|
((void ( __cc_rom *)(uint8_t interruptMask))ROM_SFRTABLE[1])
|
|
|
|
#define ROM_SFR_getInterruptStatus \
|
|
((uint8_t ( __cc_rom *)(uint8_t interruptFlagMask))ROM_SFRTABLE[2])
|
|
|
|
#define ROM_SFR_clearInterrupt \
|
|
((void ( __cc_rom *)(uint8_t interruptFlagMask))ROM_SFRTABLE[3])
|
|
|
|
#define ROM_SFR_setResetPinPullResistor \
|
|
((void ( __cc_rom *)(uint16_t pullResistorSetup))ROM_SFRTABLE[4])
|
|
|
|
#define ROM_SFR_setNMIEdge \
|
|
((void ( __cc_rom *)(uint16_t edgeDirection))ROM_SFRTABLE[5])
|
|
|
|
#define ROM_SFR_setResetNMIPinFunction \
|
|
((void ( __cc_rom *)(uint8_t resetPinFunction))ROM_SFRTABLE[6])
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the SYSCTL API.
|
|
//
|
|
//*****************************************************************************
|
|
|
|
#define ROM_SysCtl_enableDedicatedJTAGPins \
|
|
((void ( __cc_rom *)(void))ROM_SYSCTLTABLE[0])
|
|
|
|
#define ROM_SysCtl_getBSLEntryIndication \
|
|
((uint8_t ( __cc_rom *)(void))ROM_SYSCTLTABLE[1])
|
|
|
|
#define ROM_SysCtl_enablePMMAccessProtect \
|
|
((void ( __cc_rom *)(void))ROM_SYSCTLTABLE[2])
|
|
|
|
#define ROM_SysCtl_enableRAMBasedInterruptVectors \
|
|
((void ( __cc_rom *)(void))ROM_SYSCTLTABLE[3])
|
|
|
|
#define ROM_SysCtl_disableRAMBasedInterruptVectors \
|
|
((void ( __cc_rom *)(void))ROM_SYSCTLTABLE[4])
|
|
|
|
#define ROM_SysCtl_enableBSLProtect \
|
|
((void ( __cc_rom *)(void))ROM_SYSCTLTABLE[5])
|
|
|
|
#define ROM_SysCtl_disableBSLProtect \
|
|
((void ( __cc_rom *)(void))ROM_SYSCTLTABLE[6])
|
|
|
|
#define ROM_SysCtl_enableBSLMemory \
|
|
((void ( __cc_rom *)(void))ROM_SYSCTLTABLE[7])
|
|
|
|
#define ROM_SysCtl_disableBSLMemory \
|
|
((void ( __cc_rom *)(void))ROM_SYSCTLTABLE[8])
|
|
|
|
#define ROM_SysCtl_setRAMAssignedToBSL \
|
|
((void ( __cc_rom *)(uint8_t BSLRAMAssignment))ROM_SYSCTLTABLE[9])
|
|
|
|
#define ROM_SysCtl_initJTAGMailbox \
|
|
((void ( __cc_rom *)(uint8_t mailboxSizeSelect, \
|
|
uint8_t autoClearInboxFlagSelect))ROM_SYSCTLTABLE[10])
|
|
|
|
#define ROM_SysCtl_getJTAGMailboxFlagStatus \
|
|
((uint8_t ( __cc_rom *)(uint8_t mailboxFlagMask))ROM_SYSCTLTABLE[11])
|
|
|
|
#define ROM_SysCtl_clearJTAGMailboxFlagStatus \
|
|
((void ( __cc_rom *)(uint8_t mailboxFlagMask))ROM_SYSCTLTABLE[12])
|
|
|
|
#define ROM_SysCtl_getJTAGInboxMessage16Bit \
|
|
((uint16_t ( __cc_rom *)(uint8_t inboxSelect))ROM_SYSCTLTABLE[13])
|
|
|
|
#define ROM_SysCtl_getJTAGInboxMessage32Bit \
|
|
((uint32_t ( __cc_rom *)(void))ROM_SYSCTLTABLE[14])
|
|
|
|
#define ROM_SysCtl_setJTAGOutgoingMessage16Bit \
|
|
((void ( __cc_rom *)(uint8_t outboxSelect, \
|
|
uint16_t outgoingMessage))ROM_SYSCTLTABLE[15])
|
|
|
|
#define ROM_SysCtl_setJTAGOutgoingMessage32Bit \
|
|
((void ( __cc_rom *)(uint32_t outgoingMessage))ROM_SYSCTLTABLE[16])
|
|
|
|
#define ROM_SysCtl_protectFRAMWrite \
|
|
((void ( __cc_rom *)(uint8_t writeProtect))ROM_SYSCTLTABLE[17])
|
|
|
|
#define ROM_SysCtl_enableFRAMWrite \
|
|
((void ( __cc_rom *)(uint8_t writeEnable))ROM_SYSCTLTABLE[18])
|
|
|
|
#define ROM_SysCtl_setInfraredConfig \
|
|
((void ( __cc_rom *)(uint8_t dataSource, \
|
|
uint8_t mode, \
|
|
uint8_t polarity))ROM_SYSCTLTABLE[19])
|
|
|
|
#define ROM_SysCtl_enableInfrared \
|
|
((void ( __cc_rom *)(void))ROM_SYSCTLTABLE[20])
|
|
|
|
#define ROM_SysCtl_disableInfrared \
|
|
((void ( __cc_rom *)(void))ROM_SYSCTLTABLE[21])
|
|
|
|
#define ROM_SysCtl_getInfraredData \
|
|
((uint8_t ( __cc_rom *)(void))ROM_SYSCTLTABLE[22])
|
|
|
|
#define ROM_SysCtl_setFRWPOA \
|
|
((void ( __cc_rom *)(uint8_t offsetAddress))ROM_SYSCTLTABLE[23])
|
|
|
|
#define ROM_SysCtl_setHARTCLK \
|
|
((void ( __cc_rom *)(uint8_t clockSource))ROM_SYSCTLTABLE[24])
|
|
|
|
#define ROM_SysCtl_setHARTMOD \
|
|
((void ( __cc_rom *)(uint8_t mode))ROM_SYSCTLTABLE[25])
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the TIMERB API.
|
|
//
|
|
//*****************************************************************************
|
|
|
|
#define ROM_Timer_B_startCounter \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t timerMode))ROM_TIMER_BTABLE[0])
|
|
#ifndef __TI_COMPILER_VERSION__
|
|
#define ROM_Timer_B_initContinuousMode \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
Timer_B_initContinuousModeParam *param))ROM_TIMER_BTABLE[1])
|
|
|
|
#define ROM_Timer_B_initUpMode \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
Timer_B_initUpModeParam *param))ROM_TIMER_BTABLE[2])
|
|
|
|
#define ROM_Timer_B_initUpDownMode \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
Timer_B_initUpDownModeParam *param))ROM_TIMER_BTABLE[3])
|
|
|
|
#define ROM_Timer_B_initCaptureMode \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
Timer_B_initCaptureModeParam *param))ROM_TIMER_BTABLE[4])
|
|
|
|
#define ROM_Timer_B_initCompareMode \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
Timer_B_initCompareModeParam *param))ROM_TIMER_BTABLE[5])
|
|
#endif
|
|
#define ROM_Timer_B_enableInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_TIMER_BTABLE[6])
|
|
|
|
#define ROM_Timer_B_disableInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_TIMER_BTABLE[7])
|
|
|
|
#define ROM_Timer_B_getInterruptStatus \
|
|
((uint32_t ( __cc_rom *)(uint16_t baseAddress))ROM_TIMER_BTABLE[8])
|
|
|
|
#define ROM_Timer_B_enableCaptureCompareInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t captureCompareRegister))ROM_TIMER_BTABLE[9])
|
|
|
|
#define ROM_Timer_B_disableCaptureCompareInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t captureCompareRegister))ROM_TIMER_BTABLE[10])
|
|
|
|
#define ROM_Timer_B_getCaptureCompareInterruptStatus \
|
|
((uint32_t ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t captureCompareRegister, \
|
|
uint16_t mask))ROM_TIMER_BTABLE[11])
|
|
|
|
#define ROM_Timer_B_clear \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_TIMER_BTABLE[12])
|
|
|
|
#define ROM_Timer_B_getSynchronizedCaptureCompareInput \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t captureCompareRegister, \
|
|
uint16_t synchronized))ROM_TIMER_BTABLE[13])
|
|
|
|
#define ROM_Timer_B_getOutputForOutputModeOutBitValue \
|
|
((uint8_t ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t captureCompareRegister))ROM_TIMER_BTABLE[14])
|
|
|
|
#define ROM_Timer_B_getCaptureCompareCount \
|
|
((uint16_t ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t captureCompareRegister))ROM_TIMER_BTABLE[15])
|
|
|
|
#define ROM_Timer_B_setOutputForOutputModeOutBitValue \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t captureCompareRegister, \
|
|
uint8_t outputModeOutBitValue))ROM_TIMER_BTABLE[16])
|
|
#ifndef __TI_COMPILER_VERSION__
|
|
#define ROM_Timer_B_outputPWM \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
Timer_B_outputPWMParam *param))ROM_TIMER_BTABLE[17])
|
|
#endif
|
|
#define ROM_Timer_B_stop \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_TIMER_BTABLE[18])
|
|
|
|
#define ROM_Timer_B_setCompareValue \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t compareRegister, \
|
|
uint16_t compareValue))ROM_TIMER_BTABLE[19])
|
|
|
|
#define ROM_Timer_B_clearTimerInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_TIMER_BTABLE[20])
|
|
|
|
#define ROM_Timer_B_clearCaptureCompareInterrupt \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t captureCompareRegister))ROM_TIMER_BTABLE[21])
|
|
|
|
#define ROM_Timer_B_selectCounterLength \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t counterLength))ROM_TIMER_BTABLE[22])
|
|
|
|
#define ROM_Timer_B_selectLatchingGroup \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t groupLatch))ROM_TIMER_BTABLE[23])
|
|
|
|
#define ROM_Timer_B_initCompareLatchLoadEvent \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t compareRegister, \
|
|
uint16_t compareLatchLoadEvent))ROM_TIMER_BTABLE[24])
|
|
|
|
#define ROM_Timer_B_getCounterValue \
|
|
((uint16_t ( __cc_rom *)(uint16_t baseAddress))ROM_TIMER_BTABLE[25])
|
|
|
|
#define ROM_Timer_B_setOutputMode \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint16_t compareRegister, \
|
|
uint16_t compareOutputMode))ROM_TIMER_BTABLE[26])
|
|
|
|
#define ROM_Timer_B_selectOutputHighImpedanceTrigger \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t triggerSelect))ROM_TIMER_BTABLE[27])
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the TLV API.
|
|
//
|
|
//*****************************************************************************
|
|
|
|
#define ROM_TLV_getInfo \
|
|
((void ( __cc_rom *)(uint8_t tag, \
|
|
uint8_t instance, \
|
|
uint8_t *length, \
|
|
uint16_t **data_address))ROM_TLVTABLE[0])
|
|
|
|
#define ROM_TLV_getDeviceType \
|
|
((uint16_t ( __cc_rom *)(void))ROM_TLVTABLE[1])
|
|
|
|
#define ROM_TLV_getMemory \
|
|
((uint16_t ( __cc_rom *)(uint8_t instance))ROM_TLVTABLE[2])
|
|
|
|
#define ROM_TLV_getPeripheral \
|
|
((uint16_t ( __cc_rom *)(uint8_t tag, \
|
|
uint8_t instance))ROM_TLVTABLE[3])
|
|
|
|
#define ROM_TLV_getInterrupt \
|
|
((uint8_t ( __cc_rom *)(uint8_t tag))ROM_TLVTABLE[4])
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// Macros for calling ROM functions in the WDTA API.
|
|
//
|
|
//*****************************************************************************
|
|
|
|
#define ROM_WDT_A_hold \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_WDTATABLE[0])
|
|
|
|
#define ROM_WDT_A_start \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_WDTATABLE[1])
|
|
|
|
#define ROM_WDT_A_resetTimer \
|
|
((void ( __cc_rom *)(uint16_t baseAddress))ROM_WDTATABLE[2])
|
|
|
|
#define ROM_WDT_A_initWatchdogTimer \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t clockSelect, \
|
|
uint8_t clockDivider))ROM_WDTATABLE[3])
|
|
|
|
#define ROM_WDT_A_initIntervalTimer \
|
|
((void ( __cc_rom *)(uint16_t baseAddress, \
|
|
uint8_t clockSelect, \
|
|
uint8_t clockDivider))ROM_WDTATABLE[4])
|
|
|
|
#else
|
|
#error "Small code model is not supported because ROM lives above 64k memory."
|
|
#endif
|
|
|
|
#endif // __ROM_DRIVERLIB_H__
|