Can't make Interrupts work for some devices in the debugger

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Can't make Interrupts work for some devices in the debugger

1,834 Views
admin
Specialist II
I'm beggining to work with CodeWarrior and the Processor Expert extension. I'm following the examples in this document (a simple timer that makes a led blink, in particular) but i'm doing something wrong, because the interrupts are not working for the device I need in Full Chip Simulation.

When I use, for example, the MC9S08GB60, the program runs correctly in the debugger, from time an interrupt occurs and the logic in the Events.c is executed.

But when using the MC9S08AC8, the program never leaves the For loop. No interrupts occur, although all the configuration is exactly the same used with the other device.

Are there some extra configurations to enable interrupts in this device?
Labels (1)
Tags (1)
0 Kudos
Reply
3 Replies

757 Views
CrasyCat
Specialist III
Hello
 
Which version of CodeWarrior are you using?
To retrieve that info:
- Start CodeWarrior
- Select Help -> About Freescale CodeWarrior
- Click on "Install Products"
- CodeWarrior version used is displayed on top in the Installed Products dialog.
 
I have made a quick check with CodeWarrior for MCU V6.2.
I created a project for HCS08AC8 with ProcessorExpert.
I added a timer interrupt based on RTI peripheral in Processor Expert
I build my application and started the debugger.
I did set a Breakpoint in function TI1_OnInterrupt and the application stops there.
 
So the interrupt is generated.
 
Am I missing something?
 
CrasyCat
0 Kudos
Reply

757 Views
Tbspd_TOK
Contributor III
I don't know if this could be similar to my problem.
I'm running an assembler demo application for the hcs08qe128 in CW6.2. When trying to singlestep the application, it will never enter(or it is hidden) the interrupt service routine. When I set a breakpoint in the ISR it stops as normal.
 
Is this an intended operation or is there a glitch in the BDM interface? As far as I can see there is no difference between the 'step' and 'assembler step'.
 
From the response, I assume that the BDM set it's 'breakpoint' in the code and disregard the next instruction, the ISR. This way the function is not a single realtime instruction step, but a step in the codelist/memory, whatever happens between.
 
Am I correct?
 
TOK
 
0 Kudos
Reply

757 Views
J2MEJediMaster
Specialist I
If you're writing the program in assembler, then yes, single-step and single-step assembly should be one and the same.

I don't follow what you are doing with the interrupt. You can't step into the ISR code, you have to wait until the interrupt occurs and then the processor jumps into the ISR. The best way to handle that is how you're doing it now: hang a breakpoint in the ISR code and wait until the processor tours it as the result of an interrupt.

---Tom
0 Kudos
Reply