/* --COPYRIGHT--,BSD | |
* Copyright (c) 2014, 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--*/ | |
#ifndef __HW_MEMMAP__ | |
#define __HW_MEMMAP__ | |
#define __DRIVERLIB_MSP430FR5XX_6XX_FAMILY__ | |
//***************************************************************************** | |
// | |
// Include device specific header file | |
// | |
//***************************************************************************** | |
#if defined (__MSP430FR6989__) | |
#include <msp430fr6989.h> | |
#else | |
#include <msp430.h> | |
#endif | |
#if defined(__IAR_SYSTEMS_ICC__) | |
#include "../deprecated/IAR/msp430fr5xx_6xxgeneric.h" | |
#elif defined(__TI_COMPILER_VERSION__) | |
#include "../deprecated/CCS/msp430fr5xx_6xxgeneric.h" | |
#elif defined(__GNUC__) | |
#include "msp430fr5xx_6xxgeneric.h" | |
#else | |
#include "msp430fr5xx_6xxgeneric.h" | |
#endif | |
#include "stdint.h" | |
#include "stdbool.h" | |
//***************************************************************************** | |
// | |
// SUCCESS and FAILURE for API return value | |
// | |
//***************************************************************************** | |
#define STATUS_SUCCESS 0x01 | |
#define STATUS_FAIL 0x00 | |
//***************************************************************************** | |
// | |
// The following are defines for the base address of the peripherals. | |
// | |
//***************************************************************************** | |
#ifdef __MSP430_HAS_ADC10_A__ | |
#define \ | |
ADC10_A_BASE __MSP430_BASEADDRESS_ADC10_A__ | |
#endif | |
#ifdef __MSP430_HAS_ADC10_B__ | |
#define \ | |
ADC10_B_BASE __MSP430_BASEADDRESS_ADC10_B__ | |
#endif | |
#ifdef __MSP430_HAS_ADC12_B__ | |
#define \ | |
ADC12_B_BASE __MSP430_BASEADDRESS_ADC12_B__ | |
#endif | |
#ifdef __MSP430_HAS_ADC12_PLUS__ | |
#define \ | |
ADC12_A_BASE __MSP430_BASEADDRESS_ADC12_PLUS__ | |
#endif | |
#ifdef __MSP430_HAS_AES256__ | |
#define \ | |
AES256_BASE __MSP430_BASEADDRESS_AES256__ | |
#endif | |
#ifdef __MSP430_HAS_AES__ | |
#define \ | |
AES_BASE __MSP430_BASEADDRESS_AES__ | |
#endif | |
#ifdef __MSP430_HAS_AUX_SUPPLY__ | |
#define \ | |
AUX_SUPPLY_BASE __MSP430_BASEADDRESS_AUX_SUPPLY__ | |
#endif | |
#ifdef __MSP430_HAS_BACKUP_RAM__ | |
#define \ | |
BAK_RAM_BASE __MSP430_BASEADDRESS_BACKUP_RAM__ | |
#endif | |
#ifdef __MSP430_HAS_BATTERY_CHARGER__ | |
#define \ | |
BAK_BATT_BASE __MSP430_BASEADDRESS_BATTERY_CHARGER__ | |
#endif | |
#ifdef __MSP430_HAS_CAP_SENSE_IO_0__ | |
#define \ | |
CAP_TOUCH_0_BASE __MSP430_BASEADDRESS_CAP_SENSE_IO_0__ | |
#endif | |
#ifdef __MSP430_HAS_CAP_SENSE_IO_1__ | |
#define \ | |
CAP_TOUCH_1_BASE __MSP430_BASEADDRESS_CAP_SENSE_IO_1__ | |
#endif | |
#ifdef __MSP430_HAS_COMPB__ | |
#define \ | |
COMP_B_BASE __MSP430_BASEADDRESS_COMPB__ | |
#endif | |
#ifdef __MSP430_HAS_COMPD__ | |
#define \ | |
COMP_D_BASE __MSP430_BASEADDRESS_COMPD__ | |
#endif | |
#ifdef __MSP430_HAS_COMP_E__ | |
#define \ | |
COMP_E_BASE __MSP430_BASEADDRESS_COMP_E__ | |
#endif | |
#ifdef __MSP430_HAS_COMPE__ | |
#define \ | |
__MSP430_BASEADDRESS_COMP_E__ __MSP430_BASEADDRESS_COMPE__ | |
#ifndef COMP_E_VECTOR | |
#ifdef COMP_B_VECTOR | |
#define COMP_E_VECTOR COMP_B_VECTOR | |
#endif | |
#endif | |
#ifndef COMP_B_VECTOR | |
#ifdef COMP_E_VECTOR | |
#define COMP_B_VECTOR COMP_E_VECTOR | |
#endif | |
#endif | |
#endif | |
#ifdef __MSP430_HAS_COMP_E__ | |
#define \ | |
__MSP430_BASEADDRESS_COMPE__ __MSP430_BASEADDRESS_COMP_E__ | |
#ifndef COMP_B_VECTOR | |
#ifdef COMP_E_VECTOR | |
#define COMP_B_VECTOR COMP_E_VECTOR | |
#endif | |
#endif | |
#ifndef COMP_E_VECTOR | |
#ifdef COMP_B_VECTOR | |
#define COMP_E_VECTOR COMP_B_VECTOR | |
#endif | |
#endif | |
#endif | |
#ifdef __MSP430_HAS_CRC__ | |
#define \ | |
CRC_BASE __MSP430_BASEADDRESS_CRC__ | |
#endif | |
#ifdef __MSP430_HAS_CS__ | |
#ifndef __MSP430_BASEADDRESS_CS_A__ | |
#define __MSP430_BASEADDRESS_CS_A__ __MSP430_BASEADDRESS_CS__ | |
#endif | |
#endif | |
#ifdef __MSP430_HAS_CS_A__ | |
#define \ | |
CS_BASE __MSP430_BASEADDRESS_CS_A__ | |
#ifndef __MSP430_BASEADDRESS_CS__ | |
#define __MSP430_BASEADDRESS_CS__ __MSP430_BASEADDRESS_CS_A__ | |
#endif | |
#endif | |
#ifdef __MSP430_HAS_DAC12_2__ | |
#define \ | |
DAC12_A_BASE __MSP430_BASEADDRESS_DAC12_2__ | |
#endif | |
#ifdef __MSP430_HAS_DMAX_3__ | |
#define \ | |
DMA_BASE __MSP430_BASEADDRESS_DMAX_3__ | |
#endif | |
#ifdef __MSP430_HAS_DMAX_6__ | |
#define \ | |
DMA_BASE __MSP430_BASEADDRESS_DMAX_6__ | |
#endif | |
#ifdef __MSP430_HAS_EUSCI_A0__ | |
#define \ | |
EUSCI_A0_BASE __MSP430_BASEADDRESS_EUSCI_A0__ | |
#endif | |
#ifdef __MSP430_HAS_EUSCI_A1__ | |
#define \ | |
EUSCI_A1_BASE __MSP430_BASEADDRESS_EUSCI_A1__ | |
#endif | |
#ifdef __MSP430_HAS_EUSCI_A2__ | |
#define \ | |
EUSCI_A2_BASE __MSP430_BASEADDRESS_EUSCI_A2__ | |
#endif | |
#ifdef __MSP430_HAS_EUSCI_A3__ | |
#define \ | |
EUSCI_A3_BASE __MSP430_BASEADDRESS_EUSCI_A3__ | |
#endif | |
#ifdef __MSP430_HAS_EUSCI_B0__ | |
#define \ | |
EUSCI_B0_BASE __MSP430_BASEADDRESS_EUSCI_B0__ | |
#endif | |
#ifdef __MSP430_HAS_EUSCI_B1__ | |
#define \ | |
EUSCI_B1_BASE __MSP430_BASEADDRESS_EUSCI_B1__ | |
#endif | |
#ifdef __MSP430_HAS_FLASH__ | |
#define \ | |
FLASH_BASE __MSP430_BASEADDRESS_FLASH__ | |
#endif | |
#ifdef __MSP430_HAS_FRAM_FR5XX__ | |
#define \ | |
FRAM_BASE __MSP430_BASEADDRESS_FRAM_FR5XX__ | |
#endif | |
#ifdef __MSP430_HAS_FRAM__ | |
#define \ | |
FRAM_BASE __MSP430_BASEADDRESS_FRAM__ | |
#endif | |
#ifdef __MSP430_HAS_LCD_B__ | |
#define \ | |
LCD_B_BASE __MSP430_BASEADDRESS_LCD_B__ | |
#endif | |
#ifdef __MSP430_HAS_LCD_C__ | |
#define \ | |
LCD_C_BASE __MSP430_BASEADDRESS_LCD_C__ | |
#endif | |
#ifdef __MSP430_HAS_MPU_A__ | |
#define \ | |
MPU_BASE __MSP430_BASEADDRESS_MPU_A__ | |
#ifndef __MSP430_BASEADDRESS_MPU__ | |
#define __MSP430_BASEADDRESS_MPU__ __MSP430_BASEADDRESS_MPU_A__ | |
#endif | |
#endif | |
#ifdef __MSP430_HAS_MPU__ | |
#ifndef __MSP430_BASEADDRESS_MPU_A__ | |
#define __MSP430_BASEADDRESS_MPU_A__ __MSP430_BASEADDRESS_MPU__ | |
#endif | |
#endif | |
#ifdef __MSP430_HAS_MPY32__ | |
#define \ | |
MPY32_BASE __MSP430_BASEADDRESS_MPY32__ | |
#endif | |
#ifdef __MSP430_HAS_PMM_FR5xx__ | |
#define \ | |
PMM_BASE __MSP430_BASEADDRESS_PMM_FR5xx__ | |
#endif | |
#ifdef __MSP430_HAS_PMM_FRAM__ | |
#define \ | |
PMM_BASE __MSP430_BASEADDRESS_PMM_FRAM__ | |
#endif | |
#ifdef __MSP430_HAS_PMM__ | |
#define \ | |
PMM_BASE __MSP430_BASEADDRESS_PMM__ | |
#endif | |
#ifdef __MSP430_HAS_PORT10_R__ | |
#define \ | |
P10_BASE __MSP430_BASEADDRESS_PORT10_R__ | |
#endif | |
#ifdef __MSP430_HAS_PORT11_R__ | |
#define \ | |
P11_BASE __MSP430_BASEADDRESS_PORT11_R__ | |
#endif | |
#ifdef __MSP430_HAS_PORT1_MAPPING__ | |
#define \ | |
P1MAP_BASE __MSP430_BASEADDRESS_PORT1_MAPPING__ | |
#endif | |
#ifdef __MSP430_HAS_PORT1_R__ | |
#define \ | |
P1_BASE __MSP430_BASEADDRESS_PORT1_R__ | |
#endif | |
#ifdef __MSP430_HAS_PORT2_MAPPING__ | |
#define \ | |
P2MAP_BASE __MSP430_BASEADDRESS_PORT2_MAPPING__ | |
#endif | |
#ifdef __MSP430_HAS_PORT2_R__ | |
#define \ | |
P2_BASE __MSP430_BASEADDRESS_PORT2_R__ | |
#endif | |
#ifdef __MSP430_HAS_PORT3_MAPPING__ | |
#define \ | |
P3MAP_BASE __MSP430_BASEADDRESS_PORT3_MAPPING__ | |
#endif | |
#ifdef __MSP430_HAS_PORT3_R__ | |
#define \ | |
P3_BASE __MSP430_BASEADDRESS_PORT3_R__ | |
#endif | |
#ifdef __MSP430_HAS_PORT4_MAPPING__ | |
#define \ | |
P4MAP_BASE __MSP430_BASEADDRESS_PORT4_MAPPING__ | |
#endif | |
#ifdef __MSP430_HAS_PORT4_R__ | |
#define \ | |
P4_BASE __MSP430_BASEADDRESS_PORT4_R__ | |
#endif | |
#ifdef __MSP430_HAS_PORT5_R__ | |
#define \ | |
P5_BASE __MSP430_BASEADDRESS_PORT5_R__ | |
#endif | |
#ifdef __MSP430_HAS_PORT6_R__ | |
#define \ | |
P6_BASE __MSP430_BASEADDRESS_PORT6_R__ | |
#endif | |
#ifdef __MSP430_HAS_PORT7_R__ | |
#define \ | |
P7_BASE __MSP430_BASEADDRESS_PORT7_R__ | |
#endif | |
#ifdef __MSP430_HAS_PORT8_R__ | |
#define \ | |
P8_BASE __MSP430_BASEADDRESS_PORT8_R__ | |
#endif | |
#ifdef __MSP430_HAS_PORT9_R__ | |
#define \ | |
P9_BASE __MSP430_BASEADDRESS_PORT9_R__ | |
#endif | |
#ifdef __MSP430_HAS_PORTA_R__ | |
#define \ | |
PA_BASE __MSP430_BASEADDRESS_PORTA_R__ | |
#endif | |
#ifdef __MSP430_HAS_PORTB_R__ | |
#define \ | |
PB_BASE __MSP430_BASEADDRESS_PORTB_R__ | |
#endif | |
#ifdef __MSP430_HAS_PORTC_R__ | |
#define \ | |
PC_BASE __MSP430_BASEADDRESS_PORTC_R__ | |
#endif | |
#ifdef __MSP430_HAS_PORTD_R__ | |
#define \ | |
PD_BASE __MSP430_BASEADDRESS_PORTD_R__ | |
#endif | |
#ifdef __MSP430_HAS_PORTE_R__ | |
#define \ | |
PE_BASE __MSP430_BASEADDRESS_PORTE_R__ | |
#endif | |
#ifdef __MSP430_HAS_PORTF_R__ | |
#define \ | |
PF_BASE __MSP430_BASEADDRESS_PORTF_R__ | |
#endif | |
#ifdef __MSP430_HAS_PORTJ_R__ | |
#define \ | |
PJ_BASE __MSP430_BASEADDRESS_PORTJ_R__ | |
#endif | |
#ifdef __MSP430_HAS_PORT_MAPPING__ | |
#define \ | |
PMAP_CTRL_BASE __MSP430_BASEADDRESS_PORT_MAPPING__ | |
#endif | |
#ifdef __MSP430_HAS_PU__ | |
#define \ | |
LDOPWR_BASE __MSP430_BASEADDRESS_PU__ | |
#endif | |
#ifdef __MSP430_HAS_RC__ | |
#define \ | |
RAM_BASE __MSP430_BASEADDRESS_RC__ | |
#endif | |
#ifdef __MSP430_HAS_REF_A__ | |
#define \ | |
REF_A_BASE __MSP430_BASEADDRESS_REF_A__ | |
#endif | |
#ifdef __MSP430_HAS_REF__ | |
#define \ | |
REF_BASE __MSP430_BASEADDRESS_REF__ | |
#endif | |
#ifdef __MSP430_HAS_RTC_B__ | |
#define \ | |
RTC_B_BASE __MSP430_BASEADDRESS_RTC_B__ | |
#endif | |
#ifdef __MSP430_HAS_RTC_C__ | |
#define \ | |
RTC_C_BASE __MSP430_BASEADDRESS_RTC_C__ | |
#endif | |
#ifdef __MSP430_HAS_RTC_D__ | |
#define \ | |
RTC_D_BASE __MSP430_BASEADDRESS_RTC_D__ | |
#endif | |
#ifdef __MSP430_HAS_RTC__ | |
#define \ | |
RTC_A_BASE __MSP430_BASEADDRESS_RTC__ | |
#endif | |
#ifdef __MSP430_HAS_SD24_B__ | |
#define \ | |
SD24_BASE __MSP430_BASEADDRESS_SD24_B__ | |
#endif | |
#ifdef __MSP430_HAS_SFR__ | |
#define \ | |
SFR_BASE __MSP430_BASEADDRESS_SFR__ | |
#endif | |
#ifdef __MSP430_HAS_SYS__ | |
#define \ | |
SYS_BASE __MSP430_BASEADDRESS_SYS__ | |
#endif | |
#ifdef __MSP430_HAS_T0A3__ | |
#define \ | |
TIMER_A0_BASE __MSP430_BASEADDRESS_T0A3__ | |
#endif | |
#ifdef __MSP430_HAS_T0A5__ | |
#define \ | |
TIMER_A0_BASE __MSP430_BASEADDRESS_T0A5__ | |
#endif | |
#ifdef __MSP430_HAS_T0B3__ | |
#define \ | |
TIMER_B0_BASE __MSP430_BASEADDRESS_T0B3__ | |
#endif | |
#ifdef __MSP430_HAS_T0B7__ | |
#define \ | |
TIMER_B0_BASE __MSP430_BASEADDRESS_T0B7__ | |
#endif | |
#ifdef __MSP430_HAS_T0D3__ | |
#define \ | |
TIMER_D0_BASE __MSP430_BASEADDRESS_T0D3__ | |
#endif | |
#ifdef __MSP430_HAS_T1A2__ | |
#define \ | |
TIMER_A1_BASE __MSP430_BASEADDRESS_T1A2__ | |
#endif | |
#ifdef __MSP430_HAS_T1A3__ | |
#define \ | |
TIMER_A1_BASE __MSP430_BASEADDRESS_T1A3__ | |
#endif | |
#ifdef __MSP430_HAS_T1B3__ | |
#define \ | |
TIMER_B1_BASE __MSP430_BASEADDRESS_T1B3__ | |
#endif | |
#ifdef __MSP430_HAS_T1D3__ | |
#define \ | |
TIMER_D1_BASE __MSP430_BASEADDRESS_T1D3__ | |
#endif | |
#ifdef __MSP430_HAS_T2A2__ | |
#define \ | |
TIMER_A2_BASE __MSP430_BASEADDRESS_T2A2__ | |
#endif | |
#ifdef __MSP430_HAS_T2A3__ | |
#define \ | |
TIMER_A2_BASE __MSP430_BASEADDRESS_T2A3__ | |
#endif | |
#ifdef __MSP430_HAS_T2B3__ | |
#define \ | |
TIMER_B2_BASE __MSP430_BASEADDRESS_T2B3__ | |
#endif | |
#ifdef __MSP430_HAS_T3A2__ | |
#define \ | |
TIMER_A3_BASE __MSP430_BASEADDRESS_T3A2__ | |
#endif | |
#ifdef __MSP430_HAS_TEV0__ | |
#define \ | |
TEC0_BASE __MSP430_BASEADDRESS_TEV0__ | |
#endif | |
#ifdef __MSP430_HAS_TEV1__ | |
#define \ | |
TEC1_BASE __MSP430_BASEADDRESS_TEV1__ | |
#endif | |
#ifdef __MSP430_HAS_UCS__ | |
#define \ | |
UCS_BASE __MSP430_BASEADDRESS_UCS__ | |
#endif | |
#ifdef __MSP430_HAS_USB__ | |
#define \ | |
USB_BASE __MSP430_BASEADDRESS_USB__ | |
#endif | |
#ifdef __MSP430_HAS_USCI_A0__ | |
#define \ | |
USCI_A0_BASE __MSP430_BASEADDRESS_USCI_A0__ | |
#endif | |
#ifdef __MSP430_HAS_USCI_A1__ | |
#define \ | |
USCI_A1_BASE __MSP430_BASEADDRESS_USCI_A1__ | |
#endif | |
#ifdef __MSP430_HAS_USCI_A2__ | |
#define \ | |
USCI_A2_BASE __MSP430_BASEADDRESS_USCI_A2__ | |
#endif | |
#ifdef __MSP430_HAS_USCI_A3__ | |
#define \ | |
USCI_A3_BASE __MSP430_BASEADDRESS_USCI_A3__ | |
#endif | |
#ifdef __MSP430_HAS_USCI_B0__ | |
#define \ | |
USCI_B0_BASE __MSP430_BASEADDRESS_USCI_B0__ | |
#endif | |
#ifdef __MSP430_HAS_USCI_B1__ | |
#define \ | |
USCI_B1_BASE __MSP430_BASEADDRESS_USCI_B1__ | |
#endif | |
#ifdef __MSP430_HAS_USCI_B2__ | |
#define \ | |
USCI_B2_BASE __MSP430_BASEADDRESS_USCI_B2__ | |
#endif | |
#ifdef __MSP430_HAS_USCI_B3__ | |
#define \ | |
USCI_B3_BASE __MSP430_BASEADDRESS_USCI_B3__ | |
#endif | |
#ifdef __MSP430_HAS_WDT_A__ | |
#define \ | |
WDT_A_BASE __MSP430_BASEADDRESS_WDT_A__ | |
#endif | |
#endif // #ifndef __HW_MEMMAP__ |