ARM: ported CMSIS RTOS validation project stops when using interrupts
Information in this knowledgebase article applies to:
We have ported the example contained in the CMSIS-RTOS_Validation pack to a different controller to run it on some real hardware. But the project stops running when executing test cases that involve the usage of an interrupt handler. What is the problem with it?
The validation test code uses a special test interrupt handler and IRQ entry number 0 by default.
If this handler is not referenced by the vector table (normally implemented in the startup assembler code) at this entry, activating this interrupt will not call the validation code handler. Instead, the default handler for this device at this entry gets called, which might still be an endless loop. So the program will hang here.
To make the validation code work, the test interrupt handler needs to be referenced in the vector table. For this, replace the handler at the vector entry used by the validation code, which is entry 0 by default, with the test interrupt handler:
Then, when this interrupt becomes active, the correct handler of the validation code is called and the test can continue.
Last Reviewed: Thursday, January 10, 2019
of your data.