Hello Ingo,
The 'AW60 device has a total of 26 interrupt vectors allocated (0 - 25). The SCI1RX vector is at position 17 ($FFDC), and the Reset vector is at position 0 ($FFFE). At least these two vectors should be correctly filled. You also seem to be confusing the label name for the start of the ISR code with the label to identify the vector location. Within the include file for the device, the label Vsci1rx actually refers to the vector location, so the ISR name will need to be altered to avoid conflict; say SCI1RX_ISR. The minimum code for the vector table would be -
ORG Vsci1rx ; $FFDC vector location
DC.W SCI1RX_ISR ; Start of ISR code
ORG Vreset ; $FFFE vector location
DC.W _Startup ; Start of codeHowever, if you also wish to direct all unused interrupts to the handler
spurious, you will need a table entry for each of the 26 interrupts. The following shows the alternative -
ORG Vrti ; Start of interrupt vectors for device
DC.W spurious ; 25 RTI
DC.W spurious ; 24 IIC1
DC.W spurious ; 23 ADC1
DC.W spurious ; 22 KEYBOARD1
DC.W spurious ; 21 SCI2TX
DC.W spurious ; 20 SCI2RX
DC.W spurious ; 19 SCI2ERR
DC.W spurious ; 18 SCI1TX
DC.W SCI1RX_ISR ; 17 SCI1RX
DC.W spurious ; 16 SCI1ERR
DC.W spurious ; 15 SPI1
DC.W spurious ; 14 TPM2OVF
DC.W spurious ; 13 TPM2CH1
DC.W spurious ; 12 TPM2CH0
DC.W spurious ; 11 TPM1OVF
DC.W spurious ; 10 TPM1CH5
DC.W spurious ; 9 TPM1CH4
DC.W spurious ; 8 TPM1CH3
DC.W spurious ; 7 TPM1CH2
DC.W spurious ; 6 TPM1CH1
DC.W spurious ; 5 TPM1CH0
DC.W spurious ; 4 ICG
DC.W spurious ; 3 LVD
DC.W spurious ; 2 IRQ
DC.W spurious ; 1 SWI
DC.W _Startup ; 0 RESET
During your initial experimentation, assuming SCI1 receive interrupt is enabled, the contents of SCI1RX_ISR should minimally clear the RDRF flag. Otherwise the ISR may be perpetually re-entered. Refer to the datasheet for the flag clearing mechanism required.
Regards,
Mac