Intermodule Measurements
To capture state flow showing how your target system processes an interrupt
To capture state flow showing how your target system processes an interrupt
Use an oscilloscope with a sample rate faster than the microprocessor clock rate to trigger on the asynchronous interrupt request.
1Select the Intermodule menu.
2Select the oscilloscope from the Modules list and set it to Group Run. Select the state analyzer module and set it to respond to the arm signal from the oscilloscope module.
3Select the oscilloscope module.
4Select the Trigger menu, and set the mode to Edge trigger.
5Select the state analyzer module.
6Select the Trigger menu of the state analyzer, and set the analyzer to trigger on any state and store any state.
7Select Group Run from the upper right corner of the display.
When the interrupt occurs, the oscilloscope will trigger, subsequently triggering the state analyzer.
If the analyzer doesn’t capture the expected interrupt activity, ensure that the interrupt isn’t masked due to the actions of other program code.
This setup can help you answer questions like the following:
∙Does the processor branch to the proper interrupt handling routine?
∙Are registers and status information saved properly?
∙How long does it take to service the interrupt?
∙Is the interrupt acknowledged properly?
∙After the interrupt is serviced, does the processor restore registers and status information and continue with the interrupted routine as expected?
You can use the state analyzer to check the address of the interrupt routine as well as to see if interrupt processing is done as expected. Using a preprocessor and inverse assembler with the state analyzer will make it easier to read the program flow.