How do I set a breakpoint in RAM

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

How do I set a breakpoint in RAM

627 次查看
gregwilson-lind
Contributor II

I'm using a LPC1517 and developing under LPCXpresso 8.0.0. I'm trying to get CAN ISP code updates working and would like to set a hardware breakpoint at the address of the downloaded code that gets jumped to at the end of the code update procedure.  I would like to set a breakpoint at 0x02001000 so that when the CAN ISP Go command is executed it will stop at my code. Is there a way to enter breakpoints from the keyboard?

0 项奖励
2 回复数

426 次查看
lpcxpresso_supp
NXP Employee
NXP Employee

In order to save hardware (FPB) resources, the IDE first attempts to write a software break at a given location. It reverts to using a hardware break (if available) if this does not succeed. Having said that, an application may explicitly copy code to execute from RAM. It's possible to set an instruction break on code which isn't in place until after the startup completes. In such a case, the copy to RAM operation overwrites the software break instructiont, and you won't get to the break. In this case, you want to use a dedicated hardware resource available through the breakpoint dialog. If what you're actually after is to set a breakpoint by address, the easiest method is to associate a global code symbol at the 0x20001000 address, then set the breakpoint by function name.

Thanks and regards,

LPCXpresso Support

0 项奖励

426 次查看
gregwilson-lind
Contributor II

So that basically means that I can't do it. I'm downloading the code I want to execute from the CAN bus at run time, so if a software breakpoint was written to the location, it will be overwritten.

That's approximately useless.

0 项奖励