cancel
Showing results for 
Search instead for 
Did you mean: 

SCI Interrupt Routine, never called

drumfirex
Associate II
Posted on April 11, 2003 at 15:54

SCI Interrupt Routine, never called

5 REPLIES 5
drumfirex
Associate II
Posted on April 11, 2003 at 13:05

I'm using:

Codewarrior compiler

ST72324J6T6

inDart-ST7

Softec Indart IDE & Debugger

Situation:

- RX enabled

- RX data interrupt enabled

- TX enabled

- TX complete interrupt enabled

- ''#pragma TRAP_PROC SAVE_REGS'' before the routine ''SciHandler''

- ''VECTOR ADDRESS 0xffe6 SciHandler'' in project.prm

- ''RIM'' assembler call

The system receives and transmit data correctly through the SCI, the flags ''Data Received'' and ''Transmit Complete'' goes ON but the routine is never called.

Why?

Thanks

Patrik

PS: I've also tried setting ''Interrupt Software Priority'' of the SCI interrupt = 2.
ppoletto
Associate II
Posted on April 11, 2003 at 15:15

Did you set breakpoints during the debug session?

Due to an inDART-ST7 limitation (give a look at User's Manual addendum) (ST7 HDFlash-based devices), the interrupts are not handled if you set one or more breakpoints.

Piero

ppoletto
Associate II
Posted on April 11, 2003 at 15:16

Did you set breakpoints during the debug session?

Due to an inDART-ST7 limitation (give a look at User's Manual addendum) (ST7 HDFlash-based devices), the interrupts are not handled if you set one or more breakpoints.

Piero

drumfirex
Associate II
Posted on April 11, 2003 at 15:35

>Did you set breakpoints during the debug session?

Yes.

> Due to an inDART-ST7 limitation (give a look at User's Manual

> addendum) (ST7 HDFlash-based devices), the interrupts are not

> handled if you set one or more breakpoints.

> Piero

So nobody is able to place a breakpoint inside the SCI interrupt handler routine ?

We have tried also with Watchdog and the Timer....

Monday I'll call Softec but I think it is an initialization or building-phase problem.

Thank you Piero
ppoletto
Associate II
Posted on April 11, 2003 at 15:54

From SofTec User's Manual:

''Tip: real-time execution only occurs when no breakpoints are set. However, you can set “low-level� breakpoints (and still get real-time execution) by putting the TRAP instruction in your source code. When a TRAP instruction is executed, the program stops just as if a breakpoint was set. The advantage of using this technique is that you can have as many TRAP instructions (and therefore set as many “low-level� breakpoints) and still the program will be executed in real-time.''

Please note that this limitation comes from the ST7 FLASH memory technology (HDFLASH) which only allows for a limited

number of FLASH erase/write operations (typically

Additionally, these devices do NOT feature an on-chip debug module. Contact SofTec Microsystems support for more information.(support@softecmicro.com)

Bye,

--Piero