Hello,
We have developed an application for STR912FAW47. We are using RTX, interruptions and tasks. We are also using floating point arithmetics.
Randomly, we find R0 overwritten with 0xFF or 0x00, in some part of our RAM memory (internal as well as external). We thought it could probably be that any of our interruptions could not save register properly and so we have defined our interruptions as _srv Ex: void TIM2_IRQHandler_srv(void) and saved registers manually Ex: IMPORT TIM2_IRQHandler_srv EXPORT TIM2_IRQHandler_irq TIM2_IRQHandler_irq
STMDB R13!,{R0-R7,R12,R14} BL TIM2_IRQHandler_srv LDMIA R13!,{R0-R7,R12,R14} SUBS PC,R14,#0x00000004
But the problem still exists. We are using optimization Level 1 (-O1) and the following versions: MDK-ARM V4.1.0.791 RL-ARM V4.13 C Compiler V4.1.0.791 CPU DLL V4.22a
Has anybody any idea of what could it be related to? Thanks!!!