<?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 HardFault int in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-int/m-p/560261#M15792</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by kemes on Sun Apr 21 22:41:37 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi to all&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have a circuit in which, after some time that may be an hour or 5 hours, I have an hardwareFault (I turn on a red led in the routine).&amp;nbsp; There is a way in order to display the sequence call that generated it ?&amp;nbsp; I can leave the device in simulation, but when there is the hardwareFault event I have a breakpoint in the routine.&amp;nbsp; How can I detect the sequence call that generated it ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 00:51:52 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T00:51:52Z</dc:date>
    <item>
      <title>HardFault int</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-int/m-p/560261#M15792</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by kemes on Sun Apr 21 22:41:37 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi to all&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have a circuit in which, after some time that may be an hour or 5 hours, I have an hardwareFault (I turn on a red led in the routine).&amp;nbsp; There is a way in order to display the sequence call that generated it ?&amp;nbsp; I can leave the device in simulation, but when there is the hardwareFault event I have a breakpoint in the routine.&amp;nbsp; How can I detect the sequence call that generated it ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:51:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-int/m-p/560261#M15792</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:51:52Z</dc:date>
    </item>
    <item>
      <title>Re: HardFault int</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-int/m-p/560262#M15793</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by serge on Sun Apr 21 23:04:30 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Have you seen this &lt;/SPAN&gt;&lt;A href="http://http://support.code-red-tech.com/CodeRedWiki/DebugHardFault"&gt;FAQ&lt;/A&gt;&lt;SPAN&gt; about debuging a hard fault?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:51:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-int/m-p/560262#M15793</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:51:52Z</dc:date>
    </item>
    <item>
      <title>Re: HardFault int</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-int/m-p/560263#M15794</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by frame on Mon Apr 22 03:29:22 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;A hardfault after a hour or more really points to some "not so obvious" cause.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Lacking further knowledge of your application, I assume it is triggered by an&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;asynchronuous event, most probably in the course of an interrupt.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;One possibility is a stack overflow. You might run on the limit of stack usage.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If probability hits and two rare interrupts nest, you have a stack overflow with&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;erratic behavior, most probably ending in a hardfault.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Backtracking this kind of error using the stackframe could prove unrewarding,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;because of the asynchronuous nature of causing events.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The issue might go away with increased stacksize, but this would be a hint, and not&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;a prove of the cause.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Another possibility is an actual implementation error, which manifests only on certain&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;conditions.This might be triggered by some values/data received during an interrupt.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;To state an example - I had an application that accessed a lookup table from within&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;an interrupt routine. This application crashed after a few minutes.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;As it turned out, I exceeded the array bound under certain occasions.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To investigate this problem, you could include debug output in your application,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;and log it. You might need more several runs to narrow down on the cause.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Wether you use semihosting or UART/USB output depends on your application&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;and available tools.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:51:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-int/m-p/560263#M15794</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:51:53Z</dc:date>
    </item>
  </channel>
</rss>

