297 lines
13 KiB
C
297 lines
13 KiB
C
//###########################################################################
|
|
//
|
|
// FILE: hw_memmap.h
|
|
//
|
|
// TITLE: Macros defining the memory map of the C28x.
|
|
//
|
|
//###########################################################################
|
|
// $Copyright:
|
|
// Copyright (C) 2022 Texas Instruments Incorporated - http://www.ti.com
|
|
//
|
|
// 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.
|
|
// $
|
|
//###########################################################################
|
|
|
|
#ifndef HW_MEMMAP_H
|
|
#define HW_MEMMAP_H
|
|
|
|
//*****************************************************************************
|
|
//
|
|
// The following are defines for the base address of the memories and
|
|
// peripherals.
|
|
//
|
|
//*****************************************************************************
|
|
#define M0_RAM_BASE 0x00000000U
|
|
#define M1_RAM_BASE 0x00000400U
|
|
#define ADCARESULT_BASE 0x00000B00U
|
|
#define ADCBRESULT_BASE 0x00000B20U
|
|
#define ADCCRESULT_BASE 0x00000B40U
|
|
#define ADCDRESULT_BASE 0x00000B60U
|
|
#define CPUTIMER0_BASE 0x00000C00U
|
|
#define CPUTIMER1_BASE 0x00000C08U
|
|
#define CPUTIMER2_BASE 0x00000C10U
|
|
#define PIECTRL_BASE 0x00000CE0U
|
|
#define PIEVECTTABLE_BASE 0x00000D00U
|
|
#define DMA_BASE 0x00001000U
|
|
#define DMA_CH1_BASE 0x00001020U
|
|
#define DMA_CH2_BASE 0x00001040U
|
|
#define DMA_CH3_BASE 0x00001060U
|
|
#define DMA_CH4_BASE 0x00001080U
|
|
#define DMA_CH5_BASE 0x000010A0U
|
|
#define DMA_CH6_BASE 0x000010C0U
|
|
#define CLA1_BASE 0x00001400U
|
|
#define CLATOCPU_RAM_BASE 0x00001480U
|
|
#define CPUTOCLA_RAM_BASE 0x00001500U
|
|
#define CLATODMA_RAM_BASE 0x00001680U
|
|
#define DMATOCLA_RAM_BASE 0x00001700U
|
|
#define CLB1_BASE 0x00003000U
|
|
#define CLB1_LOGICCFG_BASE 0x00003000U
|
|
#define CLB1_LOGICCTL_BASE 0x00003100U
|
|
#define CLB1_DATAEXCH_BASE 0x00003180U
|
|
#define CLB2_BASE 0x00003200U
|
|
#define CLB2_LOGICCFG_BASE 0x00003200U
|
|
#define CLB2_LOGICCTL_BASE 0x00003300U
|
|
#define CLB2_DATAEXCH_BASE 0x00003380U
|
|
#define CLB3_BASE 0x00003400U
|
|
#define CLB3_LOGICCFG_BASE 0x00003400U
|
|
#define CLB3_LOGICCTL_BASE 0x00003500U
|
|
#define CLB3_DATAEXCH_BASE 0x00003580U
|
|
#define CLB4_BASE 0x00003600U
|
|
#define CLB4_LOGICCFG_BASE 0x00003600U
|
|
#define CLB4_LOGICCTL_BASE 0x00003700U
|
|
#define CLB4_DATAEXCH_BASE 0x00003780U
|
|
#define CLB5_BASE 0x00003800U
|
|
#define CLB5_LOGICCFG_BASE 0x00003800U
|
|
#define CLB5_LOGICCTL_BASE 0x00003900U
|
|
#define CLB5_DATAEXCH_BASE 0x00003980U
|
|
#define CLB6_BASE 0x00003A00U
|
|
#define CLB6_LOGICCFG_BASE 0x00003A00U
|
|
#define CLB6_LOGICCTL_BASE 0x00003B00U
|
|
#define CLB6_DATAEXCH_BASE 0x00003B80U
|
|
#define CLB7_BASE 0x00003C00U
|
|
#define CLB7_LOGICCFG_BASE 0x00003C00U
|
|
#define CLB7_LOGICCTL_BASE 0x00003D00U
|
|
#define CLB7_DATAEXCH_BASE 0x00003D80U
|
|
#define CLB8_BASE 0x00003E00U
|
|
#define CLB8_LOGICCFG_BASE 0x00003E00U
|
|
#define CLB8_LOGICCTL_BASE 0x00003F00U
|
|
#define CLB8_DATAEXCH_BASE 0x00003F80U
|
|
#define EPWM1_BASE 0x00004000U
|
|
#define EPWM2_BASE 0x00004100U
|
|
#define EPWM3_BASE 0x00004200U
|
|
#define EPWM4_BASE 0x00004300U
|
|
#define EPWM5_BASE 0x00004400U
|
|
#define EPWM6_BASE 0x00004500U
|
|
#define EPWM7_BASE 0x00004600U
|
|
#define EPWM8_BASE 0x00004700U
|
|
#define EPWM9_BASE 0x00004800U
|
|
#define EPWM10_BASE 0x00004900U
|
|
#define EPWM11_BASE 0x00004A00U
|
|
#define EPWM12_BASE 0x00004B00U
|
|
#define EPWM13_BASE 0x00004C00U
|
|
#define EPWM14_BASE 0x00004D00U
|
|
#define EPWM15_BASE 0x00004E00U
|
|
#define EPWM16_BASE 0x00004F00U
|
|
#define EQEP1_BASE 0x00005100U
|
|
#define EQEP2_BASE 0x00005140U
|
|
#define EQEP3_BASE 0x00005180U
|
|
#define ECAP1_BASE 0x00005200U
|
|
#define ECAP2_BASE 0x00005240U
|
|
#define ECAP3_BASE 0x00005280U
|
|
#define ECAP4_BASE 0x000052C0U
|
|
#define ECAP5_BASE 0x00005300U
|
|
#define ECAP6_BASE 0x00005340U
|
|
#define HRCAP6_BASE 0x00005360U
|
|
#define ECAP7_BASE 0x00005380U
|
|
#define HRCAP7_BASE 0x000053A0U
|
|
#define DACA_BASE 0x00005C00U
|
|
#define DACB_BASE 0x00005C10U
|
|
#define DACC_BASE 0x00005C20U
|
|
#define CMPSS1_BASE 0x00005C80U
|
|
#define CMPSS2_BASE 0x00005CA0U
|
|
#define CMPSS3_BASE 0x00005CC0U
|
|
#define CMPSS4_BASE 0x00005CE0U
|
|
#define CMPSS5_BASE 0x00005D00U
|
|
#define CMPSS6_BASE 0x00005D20U
|
|
#define CMPSS7_BASE 0x00005D40U
|
|
#define CMPSS8_BASE 0x00005D60U
|
|
#define SDFM1_BASE 0x00005E00U
|
|
#define SDFM2_BASE 0x00005E80U
|
|
#define MCBSPA_BASE 0x00006000U
|
|
#define MCBSPB_BASE 0x00006040U
|
|
#define SPIA_BASE 0x00006100U
|
|
#define SPIB_BASE 0x00006110U
|
|
#define SPIC_BASE 0x00006120U
|
|
#define SPID_BASE 0x00006130U
|
|
#define BGCRC_CPU_BASE 0x00006340U
|
|
#define BGCRC_CLA1_BASE 0x00006380U
|
|
#define PMBUSA_BASE 0x00006400U
|
|
#define FSITXA_BASE 0x00006600U
|
|
#define FSIRXA_BASE 0x00006680U
|
|
#define FSITXB_BASE 0x00006700U
|
|
#define FSIRXB_BASE 0x00006780U
|
|
#define FSIRXC_BASE 0x00006880U
|
|
#define FSIRXD_BASE 0x00006980U
|
|
#define FSIRXE_BASE 0x00006A80U
|
|
#define FSIRXF_BASE 0x00006B80U
|
|
#define FSIRXG_BASE 0x00006C80U
|
|
#define FSIRXH_BASE 0x00006D80U
|
|
#define WD_BASE 0x00007000U
|
|
#define NMI_BASE 0x00007060U
|
|
#define XINT_BASE 0x00007070U
|
|
#define SCIA_BASE 0x00007200U
|
|
#define SCIB_BASE 0x00007210U
|
|
#define SCIC_BASE 0x00007220U
|
|
#define SCID_BASE 0x00007230U
|
|
#define I2CA_BASE 0x00007300U
|
|
#define I2CB_BASE 0x00007340U
|
|
#define ADCA_BASE 0x00007400U
|
|
#define ADCB_BASE 0x00007480U
|
|
#define ADCC_BASE 0x00007500U
|
|
#define ADCD_BASE 0x00007580U
|
|
#define INPUTXBAR_BASE 0x00007900U
|
|
#define XBAR_BASE 0x00007920U
|
|
#define SYNCSOC_BASE 0x00007940U
|
|
#define CLBINPUTXBAR_BASE 0x00007960U
|
|
#define DMACLASRCSEL_BASE 0x00007980U
|
|
#define EPWMXBAR_BASE 0x00007A00U
|
|
#define CLBXBAR_BASE 0x00007A40U
|
|
#define OUTPUTXBAR_BASE 0x00007A80U
|
|
#define CLBOUTPUTXBAR_BASE 0x00007BC0U
|
|
#define GPIOCTRL_BASE 0x00007C00U
|
|
#define GPIODATA_BASE 0x00007F00U
|
|
#define GPIODATAREAD_BASE 0x00007F80U
|
|
#define LS0_RAM_BASE 0x00008000U
|
|
#define LS1_RAM_BASE 0x00008800U
|
|
#define LS2_RAM_BASE 0x00009000U
|
|
#define LS3_RAM_BASE 0x00009800U
|
|
#define LS4_RAM_BASE 0x0000A000U
|
|
#define LS5_RAM_BASE 0x0000A800U
|
|
#define LS6_RAM_BASE 0x0000B000U
|
|
#define LS7_RAM_BASE 0x0000B800U
|
|
#define D0_RAM_BASE 0x0000C000U
|
|
#define D1_RAM_BASE 0x0000C800U
|
|
#define GS0_RAM_BASE 0x0000D000U
|
|
#define GS1_RAM_BASE 0x0000E000U
|
|
#define GS2_RAM_BASE 0x0000F000U
|
|
#define GS3_RAM_BASE 0x00010000U
|
|
#define GS4_RAM_BASE 0x00011000U
|
|
#define GS5_RAM_BASE 0x00012000U
|
|
#define GS6_RAM_BASE 0x00013000U
|
|
#define GS7_RAM_BASE 0x00014000U
|
|
#define GS8_RAM_BASE 0x00015000U
|
|
#define GS9_RAM_BASE 0x00016000U
|
|
#define GS10_RAM_BASE 0x00017000U
|
|
#define GS11_RAM_BASE 0x00018000U
|
|
#define GS12_RAM_BASE 0x00019000U
|
|
#define GS13_RAM_BASE 0x0001A000U
|
|
#define GS14_RAM_BASE 0x0001B000U
|
|
#define GS15_RAM_BASE 0x0001C000U
|
|
#define CMTOCPUXMSGRAM0_BASE 0x00038000U
|
|
#define CMTOCPUXMSGRAM1_BASE 0x00038400U
|
|
#define CPUXTOCMMSGRAM0_BASE 0x00039000U
|
|
#define CPUXTOCMMSGRAM1_BASE 0x00039400U
|
|
#define CPU1TOCPU2MSGRAM0_BASE 0x0003A000U
|
|
#define CPU1TOCPU2MSGRAM1_BASE 0x0003A400U
|
|
#define CPU2TOCPU1MSGRAM0_BASE 0x0003B000U
|
|
#define CPU2TOCPU1MSGRAM1_BASE 0x0003B400U
|
|
#define USBA_BASE 0x00040000U
|
|
#define EMIF1_BASE 0x00047000U
|
|
#define EMIF2_BASE 0x00047800U
|
|
#define CANA_BASE 0x00048000U
|
|
#define CANA_MSG_RAM_BASE 0x00049000U
|
|
#define CANB_BASE 0x0004A000U
|
|
#define CANB_MSG_RAM_BASE 0x0004B000U
|
|
#define ESC_SS_BASE 0x00057E00U
|
|
#define ESC_SS_CONFIG_BASE 0x00057F00U
|
|
#define MCANA_DRIVER_BASE 0x00058000U
|
|
#define MCANA_MSG_RAM_BASE 0x00058000U
|
|
#define MCANASS_BASE 0x0005C400U
|
|
#define MCANA_BASE 0x0005C600U
|
|
#define MCANA_ERROR_BASE 0x0005C800U
|
|
#define IPC_CPUXTOCPUX_BASE 0x0005CE00U
|
|
#define FLASHPUMPSEMAPHORE_BASE 0x0005CE24U
|
|
#define IPC_CPUXTOCM_BASE 0x0005CE40U
|
|
#define DEVCFG_BASE 0x0005D000U
|
|
#define CLKCFG_BASE 0x0005D200U
|
|
#define CPUSYS_BASE 0x0005D300U
|
|
#define SYSSTAT_BASE 0x0005D400U
|
|
#define PERIPHAC_BASE 0x0005D500U
|
|
#define PERIPHAC_BASE 0x0005D500U
|
|
#define ANALOGSUBSYS_BASE 0x0005D700U
|
|
#define CMCONF_BASE 0x0005DC00U
|
|
#define HWBIST_BASE 0x0005E000U
|
|
#define PBIST_BASE 0x0005E200U
|
|
#define DCC0_BASE 0x0005E700U
|
|
#define DCC1_BASE 0x0005E740U
|
|
#define DCC2_BASE 0x0005E780U
|
|
#define ERAD_GLOBAL_BASE 0x0005E800U
|
|
#define ERAD_HWBP1_BASE 0x0005E900U
|
|
#define ERAD_HWBP2_BASE 0x0005E908U
|
|
#define ERAD_HWBP3_BASE 0x0005E910U
|
|
#define ERAD_HWBP4_BASE 0x0005E918U
|
|
#define ERAD_HWBP5_BASE 0x0005E920U
|
|
#define ERAD_HWBP6_BASE 0x0005E928U
|
|
#define ERAD_HWBP7_BASE 0x0005E930U
|
|
#define ERAD_HWBP8_BASE 0x0005E938U
|
|
#define ERAD_COUNTER1_BASE 0x0005E980U
|
|
#define ERAD_COUNTER2_BASE 0x0005E990U
|
|
#define ERAD_COUNTER3_BASE 0x0005E9A0U
|
|
#define ERAD_COUNTER4_BASE 0x0005E9B0U
|
|
#define ERAD_CRC_GLOBAL_BASE 0x0005EA00U
|
|
#define ERAD_CRC1_BASE 0x0005EA10U
|
|
#define ERAD_CRC2_BASE 0x0005EA20U
|
|
#define ERAD_CRC3_BASE 0x0005EA30U
|
|
#define ERAD_CRC4_BASE 0x0005EA40U
|
|
#define ERAD_CRC5_BASE 0x0005EA50U
|
|
#define ERAD_CRC6_BASE 0x0005EA60U
|
|
#define ERAD_CRC7_BASE 0x0005EA70U
|
|
#define ERAD_CRC8_BASE 0x0005EA80U
|
|
#define DCSM_Z1_BASE 0x0005F000U
|
|
#define DCSM_Z2_BASE 0x0005F080U
|
|
#define DCSMCOMMON_BASE 0x0005F0C0U
|
|
#define MEMCFG_BASE 0x0005F400U
|
|
#define EMIF1CONFIG_BASE 0x0005F4C0U
|
|
#define EMIF2CONFIG_BASE 0x0005F4E0U
|
|
#define ACCESSPROTECTION_BASE 0x0005F500U
|
|
#define MEMORYERROR_BASE 0x0005F540U
|
|
#define ROMWAITSTATE_BASE 0x0005F580U
|
|
#define ROMPREFETCH_BASE 0x0005F588U
|
|
#define TESTERROR_BASE 0x0005F590U
|
|
#define FLASH0CTRL_BASE 0x0005F800U
|
|
#define FLASH0ECC_BASE 0x0005FB00U
|
|
#define UID_BASE 0x00070200U
|
|
#define CPUID_BASE 0x00070223U
|
|
#define DCSM_Z1OTP_BASE 0x00078000U
|
|
#define DCSM_Z2OTP_BASE 0x00078200U
|
|
#if defined(__TMS320C28XX_CLA2__)
|
|
#define CLA1_ONLY_BASE 0x00000C00U
|
|
#endif
|
|
#endif
|