According to Visual DSP++ 4.0 Compiler and Library Ref Manual, SIG_GPTMR2 processor signal is only supported with ADSP-2126x.
However, I'm working with ADSP-21364 and I have a program using SIG_GPTMR2, which seems to work fine.
SIG_GPTMR2 is the General purpouse IOP timer 2 which should be SIG_P17 in the case of ADSP-21364.
My question is: Is it right to use SIG_GPTMR2 with ADSP-21364? How can this be working?
Your observations are expected. The reason is that though the VisualDSP++ library manual doesn't explicitly mention the signal name SIG_GPTMR2, the "signal.h" header file still has the corresponding definition:
#if defined(__ADSP21367__) || defined(__ADSP21368__) || defined(__ADSP21369__) || defined(__2137x__) || defined(__214xx__)# define SIG_EP0 20 // External Port0 interrupt - Corresponds to Sig_P9# define SIG_GPTMR1 21# define SIG_SP7 22 // SPORT 7 interrupt - Corresponds to Sig_P11 in LX3# define SIG_DAIL 23# define SIG_EP1 24 // External Port1 interrupt - Corresponds to Sig_P13# define SIG_DPI 25 // DPII interrup -Corresponds to Sig_P14 in LX3# define SIG_MTM 26 // Mem to Mem Interrupt - Corresponds to Sig_P15# define SIG_SP6 27 // SPORT 6 interrupt -Corresponds to Sig_P16 in LX3 # define SIG_GPTMR2 28 # define SIG_SPIL 29 #else# define SIG_PP 20# define SIG_GPTMR1 21# define SIG_DAIL 23# define SIG_PWM 24# define SIG_DTCP 26# define SIG_GPTMR2 28 # define SIG_SPIL 29 #endif
Please note that unlike in ADSP-2126x, in ADSP-2136x the P17I interrupt (mapped to GPTMR2 by default) can be mapped to any interrupt other than GPTMR2. Using the signal name "SIG_GPTMR2" will have the same effect of using the signal name "SIG_P17I". However, the recommended way is to first make sure that the PICRx registers are programmed appropriately to map the GPTMR2 interrupt to the required programmable interrupt (PxI) and then use the definition (SIG_PxI) instead of SIG_GPTMR2.
Hope this helps.
PS:: I would also recommend you to use the latest VisualDSP++ version (5.0) with the latest update (Update 9.1) available at the link below: