Other Parts Discussed in Thread: MSPWARE
Tool/software: Code Composer Studio
I was previously working with CCS 9.1 and decided to migrate to the most recent version of CCS 10. I was surprised when my GPIO functionally for my application stopped working. Turns our that the header msp430fr5994.h for CCS 10 had its Port 1 - 8 base address definitions removed.
#define __MSP430_HAS_DIO__ /* Definition to show that module is available */ #define __MSP430_BASEADDRESS_DIO__ 0x0200 #define DIO_BASE __MSP430_BASEADDRESS_DIO__ #define __MSP430_HAS_PORTA_R__ /* Definition to show that port is available */ #define __MSP430_BASEADDRESS_PORTA_R__ 0x200 #define PA_BASE __MSP430_BASEADDRESS_PORTA_R__ #define __MSP430_HAS_PORTJ_R__ /* Definition to show that port is available */ #define __MSP430_BASEADDRESS_PORTJ_R__ 0x320 #define PJ_BASE __MSP430_BASEADDRESS_PORTJ_R__ #define __MSP430_HAS_PORT1_R__ /* Definition to show that port is available */ #define __MSP430_BASEADDRESS_PORT1_R__ 0x200 #define P1_BASE __MSP430_BASEADDRESS_PORT1_R__ #define __MSP430_HAS_PASEL0__ /* Define for DriverLib */ #define __MSP430_HAS_PASEL1__ /* Define for DriverLib */ #define __MSP430_HAS_PJSEL0__ /* Define for DriverLib */ #define __MSP430_HAS_PJSEL1__ /* Define for DriverLib */ #define __MSP430_HAS_P1SEL0__ /* Define for DriverLib */ #define __MSP430_HAS_P1SEL1__ /* Define for DriverLib */
The previous version of this same header was:
#define __MSP430_HAS_DIO__ /* Definition to show that module is available */ #define __MSP430_BASEADDRESS_DIO__ 0x0200 #define DIO_BASE __MSP430_BASEADDRESS_DIO__ #define __MSP430_HAS_PORTA_R__ /* Definition to show that port is available */ #define __MSP430_BASEADDRESS_PORTA_R__ 0x200 #define PA_BASE __MSP430_BASEADDRESS_PORTA_R__ #define __MSP430_HAS_PORTB_R__ /* Definition to show that port is available */ #define __MSP430_BASEADDRESS_PORTB_R__ 0x220 #define PB_BASE __MSP430_BASEADDRESS_PORTB_R__ #define __MSP430_HAS_PORTC_R__ /* Definition to show that port is available */ #define __MSP430_BASEADDRESS_PORTC_R__ 0x240 #define PC_BASE __MSP430_BASEADDRESS_PORTC_R__ #define __MSP430_HAS_PORTD_R__ /* Definition to show that port is available */ #define __MSP430_BASEADDRESS_PORTD_R__ 0x260 #define PD_BASE __MSP430_BASEADDRESS_PORTD_R__ #define __MSP430_HAS_PORTJ_R__ /* Definition to show that port is available */ #define __MSP430_BASEADDRESS_PORTJ_R__ 0x320 #define PJ_BASE __MSP430_BASEADDRESS_PORTJ_R__ #define __MSP430_HAS_PORT1_R__ /* Definition to show that port is available */ #define __MSP430_BASEADDRESS_PORT1_R__ 0x200 #define P1_BASE __MSP430_BASEADDRESS_PORT1_R__ #define __MSP430_HAS_PORT2_R__ /* Definition to show that port is available */ #define __MSP430_BASEADDRESS_PORT2_R__ 0x200 #define P2_BASE __MSP430_BASEADDRESS_PORT2_R__ #define __MSP430_HAS_PORT3_R__ /* Definition to show that port is available */ #define __MSP430_BASEADDRESS_PORT3_R__ 0x220 #define P3_BASE __MSP430_BASEADDRESS_PORT3_R__ #define __MSP430_HAS_PORT4_R__ /* Definition to show that port is available */ #define __MSP430_BASEADDRESS_PORT4_R__ 0x220 #define P4_BASE __MSP430_BASEADDRESS_PORT4_R__ #define __MSP430_HAS_PORT5_R__ /* Definition to show that port is available */ #define __MSP430_BASEADDRESS_PORT5_R__ 0x240 #define P5_BASE __MSP430_BASEADDRESS_PORT5_R__ #define __MSP430_HAS_PORT6_R__ /* Definition to show that port is available */ #define __MSP430_BASEADDRESS_PORT6_R__ 0x240 #define P6_BASE __MSP430_BASEADDRESS_PORT6_R__ #define __MSP430_HAS_PORT7_R__ /* Definition to show that port is available */ #define __MSP430_BASEADDRESS_PORT7_R__ 0x260 #define P7_BASE __MSP430_BASEADDRESS_PORT7_R__ #define __MSP430_HAS_PORT8_R__ /* Definition to show that port is available */ #define __MSP430_BASEADDRESS_PORT8_R__ 0x260 #define P8_BASE __MSP430_BASEADDRESS_PORT8_R__
Please be aware if this bug, as it will break GPIO related code of people who switch to CCS 10.