|
|||||||||||
|
Technical Support Support Resources
Product Information |
C166: EXTS Problems Using the _ATOMIC_ FunctionInformation in this article applies to:
SYMPTOMSI have written the following code:
expecting interrupts to be disabled for the duration of the execution of both lines of C code. However, the assembly code generated was:
If I am reading this correctly, the EXTS instruction will reset the internal counter being used for the ATOMIC instruction back to 1, causing only the following instruction (MOVB) to be non-interruptable. Is there a workaround for this problem? CAUSEThis happens because the EXTS instruction is required to execute the two lines of C code you have written. The result is that you run into a limitation of the microcontroller which cannot properly handle situations where EXTS instructions follow ATOMIC instructions. RESOLUTIONThere are two other methods to disable interrupts.
MORE INFORMATION
Last Reviewed: Thursday, February 25, 2021 | ||||||||||
|
|||||||||||
Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.