SLAU367P October 2012 – April 2020 MSP430FR5041 , MSP430FR5043 , MSP430FR50431 , MSP430FR5847 , MSP430FR58471 , MSP430FR5848 , MSP430FR5849 , MSP430FR5857 , MSP430FR5858 , MSP430FR5859 , MSP430FR5867 , MSP430FR58671 , MSP430FR5868 , MSP430FR5869 , MSP430FR5870 , MSP430FR5872 , MSP430FR58721 , MSP430FR5887 , MSP430FR5888 , MSP430FR5889 , MSP430FR58891 , MSP430FR5922 , MSP430FR59221 , MSP430FR5947 , MSP430FR59471 , MSP430FR5948 , MSP430FR5949 , MSP430FR5957 , MSP430FR5958 , MSP430FR5959 , MSP430FR5962 , MSP430FR5964 , MSP430FR5967 , MSP430FR5968 , MSP430FR5969 , MSP430FR5969-SP , MSP430FR59691 , MSP430FR5970 , MSP430FR5972 , MSP430FR59721 , MSP430FR5986 , MSP430FR5987 , MSP430FR5988 , MSP430FR5989 , MSP430FR5989-EP , MSP430FR59891 , MSP430FR5992 , MSP430FR5994 , MSP430FR59941 , MSP430FR6005 , MSP430FR6007 , MSP430FR6035 , MSP430FR6037 , MSP430FR60371 , MSP430FR6041 , MSP430FR6043 , MSP430FR60431 , MSP430FR6045 , MSP430FR6047 , MSP430FR60471 , MSP430FR6820 , MSP430FR6822 , MSP430FR68221 , MSP430FR6870 , MSP430FR6872 , MSP430FR68721 , MSP430FR6877 , MSP430FR6879 , MSP430FR68791 , MSP430FR6887 , MSP430FR6888 , MSP430FR6889 , MSP430FR68891 , MSP430FR6920 , MSP430FR6922 , MSP430FR69221 , MSP430FR6927 , MSP430FR69271 , MSP430FR6928 , MSP430FR6970 , MSP430FR6972 , MSP430FR69721 , MSP430FR6977 , MSP430FR6979 , MSP430FR69791 , MSP430FR6987 , MSP430FR6988 , MSP430FR6989 , MSP430FR69891
The following software example shows the recommended use of SYSSNIV. The SYSSNIV value is added to the PC to automatically jump to the appropriate routine. For SYSRSTIV and SYSUNIV, a similar software approach can be used. The following is an example for a generic device. Vectors can change in priority for a given device. The device-specific data sheet should be referenced for the vector locations. All vectors should be coded symbolically to allow for easy portability of code.
SNI_ISR: ADD &SYSSNIV,PC ; Add offset to jump table
RETI ; Vector 0: No interrupt
JMP DBD_ISR ; Vector 2: DBDIFG
JMP ACCTIM_ISR ; Vector 4: ACCTIMIFG
JMP RSVD1_ISR ; Vector 6: Reserved for future usage.
JMP RSVD2_ISR ; Vector 8: Reserved for future usage.
JMP RSVD3_ISR ; Vector 10: Reserved for future usage.
JMP RSVD4_ISR ; Vector 12: Reserved for future usage.
JMP ACCV_ISR ; Vector 14: ACCVIFG
JMP VMA_ISR ; Vector 16: VMAIFG
JMP JMBI_ISR ; Vector 18: JMBINIFG
JMP JMBO_ISR ; Vector 20: JMBOUTIFG
JMP SBD_ISR ; Vector 22: SBDIFG
DBD_ISR: ; Vector 2: DBDIFG
... ; Task_2 starts here
RETI ; Return
ACCTIM_ISR: ; Vector 4
... ; Task_4 starts here
RETI ; Return
RSVD1_ISR: ; Vector 6
... ; Task_6 starts here
RETI ; Return
RSVD2_ISR: ; Vector 8
... ; Task_8 starts here
RETI ; Return
RSVD3_ISR: ; Vector 10
... ; Task_10 starts here
RETI ; Return
RSVD4_ISR: ; Vector 12
... ; Task_12 starts here
RETI ; Return
ACCV_ISR: ; Vector 14
... ; Task_14 starts here
RETI ; Return
VMA_ISR: ; Vector 16
... ; Task_16 starts here
RETI ; Return
JMBI_ISR: ; Vector 18
... ; Task_18 starts here
JMBO_ISR: ; Vector 20
... ; Task_20 starts here
RETI ; Return
SBD_ISR: ; Vector 22
... ; Task_22 starts here
RETI ; Return