Debugging ISR via JTAG on PSoC3

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hello All:

   

I am working on a project that utilizes USBUART component on the PSoC3.  I have an interrupt service routine that is triggered when the USB cable is plugged into a host computer. I am having issues with establishing communication with the host computer. I attach to the device (via the MiniProg3 JTAG cable) and can successfully set breakpoints in main that halt execution and allow me to step through the C source code. However, when I set a breakpoint in an interrupt service routine, I can only step through the disassembly, not the C source. The breakpoint triggers properly, but it would be really helpful if I could step through the source code and not have to cross-reference assembly and C statements.

   

I have confirmed that Project -> Build Settings... -> DP8051 Keil 9.51 -> Compiler -> Generate Debugging Information is set to True, and that my toolchain is indeed DP8051 Keil 9.51.

   

Are there any other settings I should check to make sure that debug symbols are included in my ISRs, and not just main.c?

   

Thanks,

   

Scott

0 Likes
3 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Are your interrupt-handlers in a separate file? I did not yet have got any difficulties stepping through handlers. Are *ALL* the optimization-settings set to debug?

   

 

   

Bob

0 Likes
Anonymous
Not applicable

Thanks for the reply.

   

Yes my ISRs are in a seperate file. The way PSoC Creator auto-generates ISR source code has caused me to lose my ISR code more than once when I've decided to change the name of the ISR. To minimize the chances of that, I created my own source code file with the actual routine. The generated file contains a single function call to the real routine defined in the other file.

   

Debug settings are all set to True for the compiler, assembler, and linker.

   

Any other thoughts?

   

Thanks again for your help.

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

When you use CY_ISR_PROTO(), CY_ISR() and isr_StartEx() all documented in the System Reserence Guide you will never again loose code since you do not need to modify any code in generated files.

   

I suppose the debugger does not find your files, check the settings in "Project -> Build Settings"

   

 

   

Bob

0 Likes