How do interrupts interact with each other on the TC375 given that it has 3 cores and the GTM? I'm assuming this configuration allows ISRs tied to different cores to run simultaneously, but what about GTM-based and external interrupts? Detailed information about priority and interrupt routing would be greatly appreciated.
If it is not easy to provide general information, please answer this: Is it safe to assume that an ISR triggered by a pin change specified by attachInterrupt() cannot execute at the same time as an ISR triggered by the GTM, or can these functions execute simultaneously on the TC375 ShieldBuddy?
How do the ISR functions end up on specific cores? Do attachInterrupt() and TimerChannelConfig[x] put them on specific cores based on the interrupt pin or timer channel number, respectively, or based on the order in which the setup functions are called, or are ISR functions handled by whatever core is available when the interrupt occurs? Is there a way to pin specific external and GTM ISRs to specific cores, and if so, what would determine each interrupt's priority on that core?
On the TC275, attachInterrupt() and TimerChannelConfig[x] and will create interrupts on the cores which originally initialised them. Each core behaves like a completely separate Arduino. The TC375 version is currently limited to using core0 but this will be fixed in the near future.