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

cross mob
Not applicable
Hello everyone!

I have two problems with breakpoints:
1. Breakpoints in some IRQ handlers does not trigger. For example, a breakpoint in MultiCAN MessageTransferred IRQ handler triggers normally, but the breakpoint in MultiCAN MessageObject->MessageReceived IRQ handler does not trigger. It's known for sure that the handler itself is called (I turn on the LED inside the handler routine).

2. OCDS build in XC2700 allows only 4 hardware breakpoints. Is it possible to set a software breakpoint using Tasking-VX Lite IDE? I've tried to do that using the "Add Tasking Breakpoint" command in Breakpoints view. Setting the breakpoint type to "Software" does nothing. If the number of BP greater than 4, only 4 first BP work.

Can anyone help?
0 Likes
8 Replies
ron
Employee
Employee
hello,

do you use software breakpoint while executing from internal flash? This would not be possible becasue a SW Break Point must modify the code to generate a halt event.
0 Likes
Not applicable
ron wrote:

do you use software breakpoint while executing from internal flash? This would not be possible becasue a SW Break Point must modify the code to generate a halt event.


In this case, can I make my program execute from RAM?

In the GDB documentation I have found this command:
set breakpoint always-inserted off
As far as I understood, this command will make the debugger to install BP only when the program is not running (thus we do not modify flash in runtime). May be it will be sufficient for me. Is it possible to use this mode in Tasking?
0 Likes
ron
Employee
Employee
If you execute from RAM SW Break points should work. Be aware the the run time behavior may change because of a faster execution of your code out of RAM.
In parallel you should contact the Tasking support for that GDB question. They can help your more in detail how to setup the IDE version to do that.
0 Likes
Not applicable
ron wrote:
If you execute from RAM SW Break points should work. Be aware the the run time behavior may change because of a faster execution of your code out of RAM.
In parallel you should contact the Tasking support for that GDB question. They can help your more in detail how to setup the IDE version to do that.


Can You give me a hint how can I run my program from RAM?
Unfortunately Tasking support is almost useless. The Tasking forum is almost dead (http://tech.groups.yahoo.com/group/TASKINGforum/). No replies on my question for 10 days.
0 Likes
ron
Employee
Employee
You have to change the linker settings for the ROM area to a PSRAM memory space(starting adress 0xE0’0000). Then the code should be linked to RAM and SW Break points whould work.
Did you write direct to the Tasking support?
0 Likes
Not applicable
Thank You for Your reply.
ron wrote:
You have to change the linker settings for the ROM area to a PSRAM memory space(starting adress 0xE0’0000).

As far as i understood this should be done by editing the linker script file *.lsl, because i didn't find appropriate tools in the IDE. Am i right?

I didn't try to write in tech support yet because only "report bug" option is available there which is not my case.
0 Likes
lock attach
Attachments are accessible only for community members.
Not applicable
RRoman wrote:
Hello everyone!

I have two problems with breakpoints:
1. Breakpoints in some IRQ handlers does not trigger. For example, a breakpoint in MultiCAN MessageTransferred IRQ handler triggers normally, but the breakpoint in MultiCAN MessageObject->MessageReceived IRQ handler does not trigger. It's known for sure that the handler itself is called (I turn on the LED inside the handler routine).


The solution to problems with hardware breakpoints not working in ISR has been posted in this thread: http://www.infineonic.org/bbs/article_1149_190272.html.
0 Likes
Not applicable
IT WORKS!!!!!!!!!!!!
MANYMANYMANYMANY Thanks Friedrich !!!!!!!!!!!!!!! 🙂
I thought that we have to forget about breakpoints in ISR! Now debugging will be much easier!
0 Likes