This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RM46: strange reset behaviour when using realtime clock interrupts

Other Parts Discussed in Thread: UNIFLASH

Hi :)

i'm using the uniflash.bat tool from command line to reset the application running on my RM46 processor. Normally this works.

But now i noticed when my application using the real time clock interrupts (RTI) every second reset request from pc doesnt do anything.

and i have no clue why...

Thought maybe the isr blocks the reset request but using SCI UART with interrupts at the same time without any problems!!

So did somebody had the same behaviour?? Or has at least an idea what the reason could be...

Thanks a lot :)

Best regards

Malte

  • I have not seen this behavior reported before. I suspect that sometimes the RTI interrupt is occurring while Uniflash is trying to execute code to reset the part.
  • i have to correct myself... it seems that it do not depend directly on the rti interrupt but something is wrong with my interrupt handling in c++. I use a static function which redirect the call to a member function which then calls a simple callback function. For testing the callback function doesnt do anything.

    If i leave out the callback function reset works every time otherwise not...

    But i dont think there is some fault etc cause normally everything runs fine except when i try to reset the target from uniflash cmd... then only every second command is recognised...

    I will try to figure out what the reason is... :)

    One more question, what exactly does the #pragma irq??

    Best regards
    Malte
  • I think you are talking about "#pragmaINTERRUPT(myfunction, irq)". This pragma tells the C compiler that "myfunction" is an interrupt service routine. That causes the function to have an interrupt return at the end instead of a regular subroutine return. This pragma is described in section 5.10.15 of the C Compiler User's Guide.