<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Handle Software Breakpoints in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Handle-Software-Breakpoints/m-p/535027#M10940</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by sarafidis on Tue Sep 01 04:35:23 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi there,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am using LPC11U35 with Keil uvision. I need to handle software breakpoint as mentioned at &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=https%3A%2F%2Fwww.lpcware.com%2Fcontent%2Fforum%2Fhow-to-detect-if-lpclink-is-attached-" rel="nofollow noopener noreferrer" target="_blank"&gt;https://www.lpcware.com/content/forum/how-to-detect-if-lpclink-is-attached-&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The assembly given is not applicable at uvision. I have made some changes but I still have problems. Below is my changed code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
MOV&amp;nbsp;&amp;nbsp; R0, #4 
MOV&amp;nbsp;&amp;nbsp;&amp;nbsp; R1, __return_address()
TST&amp;nbsp;&amp;nbsp;&amp;nbsp; R0, R1
BEQ&amp;nbsp;&amp;nbsp;&amp;nbsp; _MSP
MRS&amp;nbsp;&amp;nbsp;&amp;nbsp; R0, PSP
B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _checkFaultInstruction
_MSP: 
MRS&amp;nbsp;&amp;nbsp;&amp;nbsp; R0, MSP
_checkFaultInstruction:
LDR&amp;nbsp;&amp;nbsp;&amp;nbsp; R1, [R0,#24]
LDRH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R2, [R1]
MOV&amp;nbsp;&amp;nbsp;&amp;nbsp; R3, 0xBEAB
CMP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R2, R3
BNE&amp;nbsp;&amp;nbsp;&amp;nbsp; HardFault_HandlerC&amp;nbsp; 
ADDS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R1, #2
STR&amp;nbsp;&amp;nbsp;&amp;nbsp; R1, [R0,#24]
BX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __return_address() 
 &lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have replaced &lt;/SPAN&gt;&lt;STRONG&gt;LR &lt;/STRONG&gt;&lt;SPAN&gt; with &lt;/SPAN&gt;&lt;STRONG&gt;__return_address()&lt;/STRONG&gt;&lt;SPAN&gt; and &lt;/SPAN&gt;&lt;STRONG&gt;"LDR&amp;nbsp;&amp;nbsp;&amp;nbsp; R3,=0xBEAB"&lt;/STRONG&gt;&lt;SPAN&gt; with &lt;/SPAN&gt;&lt;STRONG&gt;"MOV&amp;nbsp; R3, 0xBEAB"&lt;/STRONG&gt;&lt;SPAN&gt; as mentioned at &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Finfocenter.arm.com%2Fhelp%2Findex.jsp%3Ftopic%3D%2Fcom.arm.doc.dui0205f%2FChdgddcj.html" rel="nofollow noopener noreferrer" target="_blank"&gt;http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0205f/Chdgddcj.html&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am getting the following errors:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1) "BX __return_address()" -&amp;gt; error #1084: This instruction not permitted in inline assembler.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2) "BNE HardFault_HandlerC " -&amp;gt; error #114:label "HardFault_HandlerC" was reference but not defined&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; HardFault_HandlerC is a function name&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3) "BX __return_address()" -&amp;gt; error #114:label "__return_address" was reference but not defined&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any ideas?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks in advance.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:34:09 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:34:09Z</dc:date>
    <item>
      <title>Handle Software Breakpoints</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Handle-Software-Breakpoints/m-p/535027#M10940</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by sarafidis on Tue Sep 01 04:35:23 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi there,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am using LPC11U35 with Keil uvision. I need to handle software breakpoint as mentioned at &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=https%3A%2F%2Fwww.lpcware.com%2Fcontent%2Fforum%2Fhow-to-detect-if-lpclink-is-attached-" rel="nofollow noopener noreferrer" target="_blank"&gt;https://www.lpcware.com/content/forum/how-to-detect-if-lpclink-is-attached-&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The assembly given is not applicable at uvision. I have made some changes but I still have problems. Below is my changed code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
MOV&amp;nbsp;&amp;nbsp; R0, #4 
MOV&amp;nbsp;&amp;nbsp;&amp;nbsp; R1, __return_address()
TST&amp;nbsp;&amp;nbsp;&amp;nbsp; R0, R1
BEQ&amp;nbsp;&amp;nbsp;&amp;nbsp; _MSP
MRS&amp;nbsp;&amp;nbsp;&amp;nbsp; R0, PSP
B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _checkFaultInstruction
_MSP: 
MRS&amp;nbsp;&amp;nbsp;&amp;nbsp; R0, MSP
_checkFaultInstruction:
LDR&amp;nbsp;&amp;nbsp;&amp;nbsp; R1, [R0,#24]
LDRH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R2, [R1]
MOV&amp;nbsp;&amp;nbsp;&amp;nbsp; R3, 0xBEAB
CMP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R2, R3
BNE&amp;nbsp;&amp;nbsp;&amp;nbsp; HardFault_HandlerC&amp;nbsp; 
ADDS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R1, #2
STR&amp;nbsp;&amp;nbsp;&amp;nbsp; R1, [R0,#24]
BX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __return_address() 
 &lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have replaced &lt;/SPAN&gt;&lt;STRONG&gt;LR &lt;/STRONG&gt;&lt;SPAN&gt; with &lt;/SPAN&gt;&lt;STRONG&gt;__return_address()&lt;/STRONG&gt;&lt;SPAN&gt; and &lt;/SPAN&gt;&lt;STRONG&gt;"LDR&amp;nbsp;&amp;nbsp;&amp;nbsp; R3,=0xBEAB"&lt;/STRONG&gt;&lt;SPAN&gt; with &lt;/SPAN&gt;&lt;STRONG&gt;"MOV&amp;nbsp; R3, 0xBEAB"&lt;/STRONG&gt;&lt;SPAN&gt; as mentioned at &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Finfocenter.arm.com%2Fhelp%2Findex.jsp%3Ftopic%3D%2Fcom.arm.doc.dui0205f%2FChdgddcj.html" rel="nofollow noopener noreferrer" target="_blank"&gt;http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0205f/Chdgddcj.html&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am getting the following errors:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1) "BX __return_address()" -&amp;gt; error #1084: This instruction not permitted in inline assembler.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2) "BNE HardFault_HandlerC " -&amp;gt; error #114:label "HardFault_HandlerC" was reference but not defined&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; HardFault_HandlerC is a function name&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3) "BX __return_address()" -&amp;gt; error #114:label "__return_address" was reference but not defined&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any ideas?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks in advance.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:34:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Handle-Software-Breakpoints/m-p/535027#M10940</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:34:09Z</dc:date>
    </item>
  </channel>
</rss>

