⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rom.h

📁 基于TI公司Cortex-M3的uart超级通信开发
💻 H
📖 第 1 页 / 共 5 页
字号:
//*****************************************************************************
//
// rom.h - Macros to facilitate calling functions in the ROM.
//
// Copyright (c) 2007-2009 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 5228 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]))
#define ROM_ETHERNETTABLE       ((unsigned long *)(ROM_APITABLE[15]))
#define ROM_USBTABLE            ((unsigned long *)(ROM_APITABLE[16]))
#define ROM_UDMATABLE           ((unsigned long *)(ROM_APITABLE[17]))
#define ROM_CANTABLE            ((unsigned long *)(ROM_APITABLE[18]))
#define ROM_HIBERNATETABLE      ((unsigned long *)(ROM_APITABLE[19]))
#define ROM_MPUTABLE            ((unsigned long *)(ROM_APITABLE[20]))
#define ROM_SOFTWARETABLE       ((unsigned long *)(ROM_APITABLE[21]))

//*****************************************************************************
//
// Macros for calling ROM functions in the ADC API.
//
//*****************************************************************************
#if defined(TARGET_IS_DUSTDEVIL_RA0) || \
    defined(TARGET_IS_TEMPEST_RB1)
#define ROM_ADCSequenceDataGet                                                \
        ((long (*)(unsigned long ulBase,                                      \
                   unsigned long ulSequenceNum,                               \
                   unsigned long *pulBuffer))ROM_ADCTABLE[0])
#endif
#if defined(TARGET_IS_DUSTDEVIL_RA0) || \
    defined(TARGET_IS_TEMPEST_RB1)
#define ROM_ADCIntDisable                                                     \
        ((void (*)(unsigned long ulBase,                                      \
                   unsigned long ulSequenceNum))ROM_ADCTABLE[1])
#endif
#if defined(TARGET_IS_DUSTDEVIL_RA0) || \
    defined(TARGET_IS_TEMPEST_RB1)
#define ROM_ADCIntEnable                                                      \
        ((void (*)(unsigned long ulBase,                                      \
                   unsigned long ulSequenceNum))ROM_ADCTABLE[2])
#endif
#if defined(TARGET_IS_DUSTDEVIL_RA0) || \
    defined(TARGET_IS_TEMPEST_RB1)
#define ROM_ADCIntStatus                                                      \
        ((unsigned long (*)(unsigned long ulBase,                             \
                            unsigned long ulSequenceNum,                      \
                            tBoolean bMasked))ROM_ADCTABLE[3])
#endif
#if defined(TARGET_IS_DUSTDEVIL_RA0) || \
    defined(TARGET_IS_TEMPEST_RB1)
#define ROM_ADCIntClear                                                       \
        ((void (*)(unsigned long ulBase,                                      \
                   unsigned long ulSequenceNum))ROM_ADCTABLE[4])
#endif
#if defined(TARGET_IS_DUSTDEVIL_RA0) || \
    defined(TARGET_IS_TEMPEST_RB1)
#define ROM_ADCSequenceEnable                                                 \
        ((void (*)(unsigned long ulBase,                                      \
                   unsigned long ulSequenceNum))ROM_ADCTABLE[5])
#endif
#if defined(TARGET_IS_DUSTDEVIL_RA0) || \
    defined(TARGET_IS_TEMPEST_RB1)
#define ROM_ADCSequenceDisable                                                \
        ((void (*)(unsigned long ulBase,                                      \
                   unsigned long ulSequenceNum))ROM_ADCTABLE[6])
#endif
#if defined(TARGET_IS_DUSTDEVIL_RA0) || \
    defined(TARGET_IS_TEMPEST_RB1)
#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) || \
    defined(TARGET_IS_TEMPEST_RB1)
#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) || \
    defined(TARGET_IS_TEMPEST_RB1)
#define ROM_ADCSequenceOverflow                                               \
        ((long (*)(unsigned long ulBase,                                      \
                   unsigned long ulSequenceNum))ROM_ADCTABLE[9])
#endif
#if defined(TARGET_IS_DUSTDEVIL_RA0) || \
    defined(TARGET_IS_TEMPEST_RB1)
#define ROM_ADCSequenceOverflowClear                                          \
        ((void (*)(unsigned long ulBase,                                      \
                   unsigned long ulSequenceNum))ROM_ADCTABLE[10])
#endif
#if defined(TARGET_IS_DUSTDEVIL_RA0) || \
    defined(TARGET_IS_TEMPEST_RB1)
#define ROM_ADCSequenceUnderflow                                              \
        ((long (*)(unsigned long ulBase,                                      \
                   unsigned long ulSequenceNum))ROM_ADCTABLE[11])
#endif
#if defined(TARGET_IS_DUSTDEVIL_RA0) || \
    defined(TARGET_IS_TEMPEST_RB1)
#define ROM_ADCSequenceUnderflowClear                                         \
        ((void (*)(unsigned long ulBase,                                      \
                   unsigned long ulSequenceNum))ROM_ADCTABLE[12])
#endif
#if defined(TARGET_IS_DUSTDEVIL_RA0) || \
    defined(TARGET_IS_TEMPEST_RB1)
#define ROM_ADCProcessorTrigger                                               \
        ((void (*)(unsigned long ulBase,                                      \
                   unsigned long ulSequenceNum))ROM_ADCTABLE[13])
#endif
#if defined(TARGET_IS_DUSTDEVIL_RA0) || \
    defined(TARGET_IS_TEMPEST_RB1)
#define ROM_ADCHardwareOversampleConfigure                                    \
        ((void (*)(unsigned long ulBase,                                      \
                   unsigned long ulFactor))ROM_ADCTABLE[14])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the CAN API.
//
//*****************************************************************************
#if defined(TARGET_IS_TEMPEST_RB1)
#define ROM_CANIntClear                                                       \
        ((void (*)(unsigned long ulBase,                                      \
                   unsigned long ulIntClr))ROM_CANTABLE[0])
#endif
#if defined(TARGET_IS_TEMPEST_RB1)
#define ROM_CANInit                                                           \
        ((void (*)(unsigned long ulBase))ROM_CANTABLE[1])
#endif
#if defined(TARGET_IS_TEMPEST_RB1)
#define ROM_CANEnable                                                         \
        ((void (*)(unsigned long ulBase))ROM_CANTABLE[2])
#endif
#if defined(TARGET_IS_TEMPEST_RB1)
#define ROM_CANDisable                                                        \
        ((void (*)(unsigned long ulBase))ROM_CANTABLE[3])
#endif
#if defined(TARGET_IS_TEMPEST_RB1)
#define ROM_CANBitTimingSet                                                   \
        ((void (*)(unsigned long ulBase,                                      \
                   tCANBitClkParms *pClkParms))ROM_CANTABLE[4])
#endif
#if defined(TARGET_IS_TEMPEST_RB1)
#define ROM_CANBitTimingGet                                                   \
        ((void (*)(unsigned long ulBase,                                      \
                   tCANBitClkParms *pClkParms))ROM_CANTABLE[5])
#endif
#if defined(TARGET_IS_TEMPEST_RB1)
#define ROM_CANMessageSet                                                     \
        ((void (*)(unsigned long ulBase,                                      \
                   unsigned long ulObjID,                                     \
                   tCANMsgObject *pMsgObject,                                 \
                   tMsgObjType eMsgType))ROM_CANTABLE[6])
#endif
#if defined(TARGET_IS_TEMPEST_RB1)
#define ROM_CANMessageGet                                                     \
        ((void (*)(unsigned long ulBase,                                      \
                   unsigned long ulObjID,                                     \
                   tCANMsgObject *pMsgObject,                                 \
                   tBoolean bClrPendingInt))ROM_CANTABLE[7])
#endif
#if defined(TARGET_IS_TEMPEST_RB1)
#define ROM_CANStatusGet                                                      \
        ((unsigned long (*)(unsigned long ulBase,                             \
                            tCANStsReg eStatusReg))ROM_CANTABLE[8])
#endif
#if defined(TARGET_IS_TEMPEST_RB1)
#define ROM_CANMessageClear                                                   \
        ((void (*)(unsigned long ulBase,                                      \
                   unsigned long ulObjID))ROM_CANTABLE[9])
#endif
#if defined(TARGET_IS_TEMPEST_RB1)
#define ROM_CANIntEnable                                                      \
        ((void (*)(unsigned long ulBase,                                      \
                   unsigned long ulIntFlags))ROM_CANTABLE[10])
#endif
#if defined(TARGET_IS_TEMPEST_RB1)
#define ROM_CANIntDisable                                                     \
        ((void (*)(unsigned long ulBase,                                      \
                   unsigned long ulIntFlags))ROM_CANTABLE[11])
#endif
#if defined(TARGET_IS_TEMPEST_RB1)
#define ROM_CANIntStatus                                                      \
        ((unsigned long (*)(unsigned long ulBase,                             \
                            tCANIntStsReg eIntStsReg))ROM_CANTABLE[12])
#endif
#if defined(TARGET_IS_TEMPEST_RB1)
#define ROM_CANRetryGet                                                       \
        ((tBoolean (*)(unsigned long ulBase))ROM_CANTABLE[13])
#endif
#if defined(TARGET_IS_TEMPEST_RB1)
#define ROM_CANRetrySet                                                       \
        ((void (*)(unsigned long ulBase,                                      \
                   tBoolean bAutoRetry))ROM_CANTABLE[14])
#endif
#if defined(TARGET_IS_TEMPEST_RB1)
#define ROM_CANErrCntrGet                                                     \
        ((tBoolean (*)(unsigned long ulBase,                                  \
                       unsigned long *pulRxCount,                             \
                       unsigned long *pulTxCount))ROM_CANTABLE[15])
#endif

//*****************************************************************************
//
// Macros for calling ROM functions in the Comparator API.
//
//*****************************************************************************
#if defined(TARGET_IS_DUSTDEVIL_RA0) || \
    defined(TARGET_IS_TEMPEST_RB1)
#define ROM_ComparatorIntClear                                                \

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -