I just want to confirm, on the TM4C123 and TM4C129 parts, are interrupts enabled by default at system reset?
I ask because I come from other embedded platforms where interrupts are disabled by default and a global interrupt enable must be performed by software after other initialization is complete.
What prompts this question is that interrupts are being serviced even though code has not called IntMasterEnable(), so:
Is my understanding correct that the TivaWare function IntMasterEnable() sets PRIMASK to 0, which is already the case whether IntMasterEnable() is called or not because PRIMASK is 0 at power up?
Are there any other factors that enable or prevent the global servicing of interrupts? (besides PRIMASK and any individual interrupt enables)
And is there a rock solid way to prevent spurious peripheral interrupts occurring before software initialization is complete? I saw the sticky post on the TM4C forum which advises to first disable peripherals, however in the time between system reset and such code being called, C startup code including the C runtime library is being run, memory is zeroes, constructors are called, etc., and that leaves a window during which interrupts can occur anyway.
Thanks