SLAA381C December   2007  – September 2018 MSP430F233 , MSP430F235 , MSP430F2410 , MSP430F247 , MSP430F248 , MSP430F249

 

  1.   Migrating From MSP430F13x and MSP430F14x MCUs to MSP430F23x and MSP430F24x MCUs
    1.     Trademarks
    2. 1 Comparison of MSP430F1xx and MSP430F2xx Families
    3. 2 Hardware Considerations for F13x/F14x to F23x/F24x Migration
      1. 2.1 Device Package and Pinout
      2. 2.2 Current Consumption
      3. 2.3 Operating Frequency and Supply Voltage
      4. 2.4 Device Errata
    4. 3 Firmware Considerations for F13x/F14x to F23x/F24x Migration
      1. 3.1 Memory Considerations
        1. 3.1.1 Device Memory Map
        2. 3.1.2 Information Flash Memory
      2. 3.2 Serial Communication – USART and USCI
        1. 3.2.1 UART Mode
        2. 3.2.2 SPI Mode
      3. 3.3 Clock System
        1. 3.3.1 LFXT1 and XT2 Oscillators
        2. 3.3.2 Digitally Controlled Oscillator (DCO)
      4. 3.4 Bootloader (BSL)
      5. 3.5 Interrupt Vectors
      6. 3.6 Beware of Reserved Bits!
      7. 3.7 Timers
      8. 3.8 Analog Comparator
    5. 4 References
  2.   Revision History

Interrupt Vectors

The interrupt vector arrangement of F13x/F14x and F23x/F24x MCUs are different, and application code using interrupt-controlled program flow needs to be migrated. Migrating to an F23x/F24x MCU involves making sure that the new interrupt vector locations are used. See Table 2 for a list of module-associated interrupt vectors that require attention.

Table 2. Changed Interrupt Vector Locations

Module F13x/F14x F23x/F24x Comments
Timer_A3 0xFFEA, 0xFFEC 0xFFF0, 0xFFF2
ADC12 0xFFEE 0xFFEA
Port 1 0xFFE8 0xFFE4
Port 2 0xFFE2 0xFFE6
USART0, USCI_A0, USCI_B0 0xFFF0, 0xFFF2 0xFFEC, 0xFFEE The USCI interrupt vectors are multiplexed between RX, TX, I2C data and I2C status events.
USART1, USCI_A1, USCI_B1 0xFFE4, 0xFFE6 0xFFE0, 0xFFE2

In general, recompiling the F13x/F14x application code using F23x/F24x MCU support files automatically takes care of populating the interrupt vector table according to the device-specific requirements (for example, for Timer_A or ADC12). However, in some cases, the interrupt vector routines themselves also need to be modified to accommodate a different interrupt flag demultiplexing scheme (USART compared to USCI).

Also, the memory range that is reserved for interrupt vectors (interrupt vector table) differs between F13x/F14x and F23x/F24x MCUs. For F13x/F14x MCUs, this memory ranges from address 0xFFE0 to 0xFFFF (16 words), and for F23x/F24x MCUs, it ranges from 0xFFC0 to 0xFFFF (32 words). In addition to this, the word memory location 0xFFBE is reserved on F23x/F24x MCUs and used as the BSL security key (see Section 3.4).