<?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>LPCXpresso IDEのトピックRe: error HardFault_Handler gets generated while reading in UART from hyperlterminal</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/error-HardFault-Handler-gets-generated-while-reading-in-UART/m-p/594038#M30747</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by graynomad on Tue Dec 18 22:07:01 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;[FONT=Times New Roman][SIZE=3]You obviously have not implemented that procedure or you would be single stepping through a function called [/SIZE][/FONT][FONT=Times New Roman][SIZE=3]HardFault_HandlerAsm() and then HardFault_HandlerC()[SIZE=3] and no[SIZE=3]t [/SIZE]the [SIZE=3]default handler.[/SIZE][/SIZE]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the C handler part you step down until the variable [/SIZE][/FONT][FONT=Times New Roman][SIZE=3]stacked_lr has been loaded and look at the value.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Certainly that's how I've got the details before.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[/SIZE][/FONT]&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 01:28:43 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T01:28:43Z</dc:date>
    <item>
      <title>error HardFault_Handler gets generated while reading in UART from hyperlterminal</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/error-HardFault-Handler-gets-generated-while-reading-in-UART/m-p/594034#M30743</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by researchinnovation on Tue Dec 18 00:01:52 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi...!!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am using LPC1114/301 and using MAX232 chip with RX,TX,CTS ,RTS and GND connection.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Why this Interrupt Error is happening whenever it reaches to&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SystemInit(); and I try to give data from hyper terminal.&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
//*****************************************************************************
//
// This is the code that gets called when the processor receives a fault
// interrupt.&amp;nbsp; This simply enters an infinite loop, preserving the system state
// for examination by a debugger.
//
//*****************************************************************************
void HardFault_Handler(void)
{

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enter an infinite loop.

&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;Whenever I tried to give some data from hyperterminal this hits the interrupt error HardFault_Handler.&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;

#include "driver_config.h"
#include "target_config.h"

#include "gpio.h"
#include "timer32.h"
#include "ssp.h"


#include "uart.h"


extern volatile uint32_t UARTCount;
extern volatile uint8_t UARTBuffer[BUFSIZE];
extern volatile uint8_t UARTBuffer1[BUFSIZE];
uint8_t i=0;
uint16_t buff[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

int casse;
int cnt;
int cont = 0;
int cont1=0;
int cont2 = 0;

int main (void) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Basic chip initialization is taken care of in SystemInit() called
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * from the startup code. SystemInit() and chip settings are defined
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * in the CMSIS system_&amp;lt;part family&amp;gt;.c file.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SystemInit();
&amp;nbsp; /* NVIC is installed inside UARTInit file. */
&amp;nbsp; UARTInit(UART_BAUD);

 // for(cont1=0; cont1&amp;lt;30000; cont1++)
&amp;nbsp; //{
&amp;nbsp;&amp;nbsp;&amp;nbsp; //cont1++;
 // }

&amp;nbsp;&amp;nbsp;&amp;nbsp; SSP_IOConfig( 0 );&amp;nbsp;&amp;nbsp;&amp;nbsp; /* initialize SSP port, share pins with SPI1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on port2(p2.0-3). */
&amp;nbsp;&amp;nbsp;&amp;nbsp; //SSP_Init( SSP_NUM );
&amp;nbsp;&amp;nbsp;&amp;nbsp; //GPIOSetDir(PORT0,2,0);
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON -&amp;gt;PIO0_8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;= ~0x07;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&amp;nbsp; SSP I/O config */
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON-&amp;gt;PIO0_8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |= 0x01;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* SSP MISO */
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON-&amp;gt;PIO0_9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;= ~0x07;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON-&amp;gt;PIO0_9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |= 0x01;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON-&amp;gt;SCK_LOC = 0x02;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON-&amp;gt;PIO0_6 = 0x02;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON-&amp;gt;PIO0_2 &amp;amp;= ~0x07;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON-&amp;gt;PIO0_2 |= 0x01;

&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( LPC_SSP0-&amp;gt;CR1 &amp;amp; SSPCR1_SSE )
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* The slave bit can't be set until SSE bit is zero. */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SSP0-&amp;gt;CR1 &amp;amp;= ~SSPCR1_SSE;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SSP0-&amp;gt;CR1 = SSPCR1_MS;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable slave bit first */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SSP0-&amp;gt;CR1 |= SSPCR1_SSE;

&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SSP0-&amp;gt;CR0 = 0x04CF;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SSP0 -&amp;gt;CR1 = 0x06;


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while ( !(LPC_SSP0-&amp;gt;SR &amp;amp; SSPSR_RNE) );
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {//printf(" I am in buff loop buff");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; buff&lt;I&gt; = (uint16_t)LPC_SSP0-&amp;gt;DR;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(buff&lt;I&gt; == 0x0400)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while ( (LPC_SSP0-&amp;gt;SR &amp;amp; (SSPSR_TNF|SSPSR_BSY)) != SSPSR_TNF );
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SSP0-&amp;gt;DR = 0x4567;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
return 0;


}
&lt;/I&gt;&lt;/I&gt;&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 01:28:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/error-HardFault-Handler-gets-generated-while-reading-in-UART/m-p/594034#M30743</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T01:28:41Z</dc:date>
    </item>
    <item>
      <title>Re: error HardFault_Handler gets generated while reading in UART from hyperlterminal</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/error-HardFault-Handler-gets-generated-while-reading-in-UART/m-p/594035#M30744</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by researchinnovation on Tue Dec 18 00:26:41 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: researchinnovation&lt;/STRONG&gt;&lt;BR /&gt;Hi...!!!&lt;BR /&gt;&lt;BR /&gt;I am using LPC1114/301 and using MAX232 chip with RX,TX,CTS ,RTS and GND connection.&lt;BR /&gt;Why this Interrupt Error is happening whenever it reaches to&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SystemInit(); and I try to give data from hyper terminal.&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
//*****************************************************************************
//
// This is the code that gets called when the processor receives a fault
// interrupt.&amp;nbsp; This simply enters an infinite loop, preserving the system state
// for examination by a debugger.
//
//*****************************************************************************
void HardFault_Handler(void)
{

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enter an infinite loop.

&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;Whenever I tried to give some data from hyperterminal this hits the interrupt error HardFault_Handler.&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;

#include "driver_config.h"
#include "target_config.h"

#include "gpio.h"
#include "timer32.h"
#include "ssp.h"


#include "uart.h"


extern volatile uint32_t UARTCount;
extern volatile uint8_t UARTBuffer[BUFSIZE];
extern volatile uint8_t UARTBuffer1[BUFSIZE];
uint8_t i=0;
uint16_t buff[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

int casse;
int cnt;
int cont = 0;
int cont1=0;
int cont2 = 0;

int main (void) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Basic chip initialization is taken care of in SystemInit() called
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * from the startup code. SystemInit() and chip settings are defined
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * in the CMSIS system_&amp;lt;part family&amp;gt;.c file.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SystemInit();
&amp;nbsp; /* NVIC is installed inside UARTInit file. */
&amp;nbsp; UARTInit(UART_BAUD);

 // for(cont1=0; cont1&amp;lt;30000; cont1++)
&amp;nbsp; //{
&amp;nbsp;&amp;nbsp;&amp;nbsp; //cont1++;
 // }

&amp;nbsp;&amp;nbsp;&amp;nbsp; SSP_IOConfig( 0 );&amp;nbsp;&amp;nbsp;&amp;nbsp; /* initialize SSP port, share pins with SPI1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on port2(p2.0-3). */
&amp;nbsp;&amp;nbsp;&amp;nbsp; //SSP_Init( SSP_NUM );
&amp;nbsp;&amp;nbsp;&amp;nbsp; //GPIOSetDir(PORT0,2,0);
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON -&amp;gt;PIO0_8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;= ~0x07;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&amp;nbsp; SSP I/O config */
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON-&amp;gt;PIO0_8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |= 0x01;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* SSP MISO */
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON-&amp;gt;PIO0_9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;= ~0x07;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON-&amp;gt;PIO0_9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |= 0x01;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON-&amp;gt;SCK_LOC = 0x02;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON-&amp;gt;PIO0_6 = 0x02;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON-&amp;gt;PIO0_2 &amp;amp;= ~0x07;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON-&amp;gt;PIO0_2 |= 0x01;

&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( LPC_SSP0-&amp;gt;CR1 &amp;amp; SSPCR1_SSE )
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* The slave bit can't be set until SSE bit is zero. */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SSP0-&amp;gt;CR1 &amp;amp;= ~SSPCR1_SSE;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SSP0-&amp;gt;CR1 = SSPCR1_MS;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable slave bit first */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SSP0-&amp;gt;CR1 |= SSPCR1_SSE;

&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SSP0-&amp;gt;CR0 = 0x04CF;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SSP0 -&amp;gt;CR1 = 0x06;


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while ( !(LPC_SSP0-&amp;gt;SR &amp;amp; SSPSR_RNE) );
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {//printf(" I am in buff loop buff");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; buff&lt;I&gt; = (uint16_t)LPC_SSP0-&amp;gt;DR;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(buff&lt;I&gt; == 0x0400)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while ( (LPC_SSP0-&amp;gt;SR &amp;amp; (SSPSR_TNF|SSPSR_BSY)) != SSPSR_TNF );
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SSP0-&amp;gt;DR = 0x4567;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
return 0;


}
&lt;/I&gt;&lt;/I&gt;&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I checked with the following aspects also but it is not working :&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;

[B]Hard Fault Handler Usage[/B]
 The big thing the above handler gives you is the program counter,&amp;nbsp; which is the address where the processor was executing when the hard&amp;nbsp; fault occurred. You can then look at your listing file (or map file) to&amp;nbsp; see what function and instruction that was. Also useful is LR the Link&amp;nbsp; Register, which contains the return address of the last function call &amp;amp;#8211;&amp;nbsp; it can show you where you came from to get to this point.
 A few tips.
 The typical reason for a hardfault is actually a bus error (which was&amp;nbsp; promoted to a hard fault), because software tried to access an invalid&amp;nbsp; region of memory. There are a couple of common ways of doing this.
 One is a bad pointer. It might be uninitialised, or not properly bounded (you ran off the end of an array for example).
 Another, more subtle, way of getting a bad pointer is by being sloppy&amp;nbsp; with the scope of variables. This is quite common with main() but can&amp;nbsp; happen anywhere. For example, you define a buffer or a structure as a&amp;nbsp; local variable within main(), but then you access that buffer or&amp;nbsp; structure from some other function (by passing a pointer to it). This is&amp;nbsp; dangerous &amp;amp;#8211; you need to declare the buffer or structure as &amp;amp;#8220;static&amp;amp;#8221; if&amp;nbsp; you want to do that. Otherwise the buffer or structure might be&amp;nbsp; optimised away and not actually exist when that other function tries to&amp;nbsp; access it. If that structure contained a pointer for example, that would&amp;nbsp; become a bad pointer.
 [B]Imprecise Bus Fault[/B]
 For the Cortex M3, an imprecise bus fault (as indicated by bit 10 in&amp;nbsp; the CFSR register) means that a write to an invalid address was&amp;nbsp; attempted. If you look at the program counter, the naughty naughty write&amp;nbsp; is usually present in the 3 or so instructions leading up to the&amp;nbsp; program counter address. Because of the Cortex M3 write buffer system,&amp;nbsp; the program counter might have advanced slightly before the actual bus&amp;nbsp; write took place, hence you need to look back slightly to find the&amp;nbsp; erroneous write.


&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 01:28:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/error-HardFault-Handler-gets-generated-while-reading-in-UART/m-p/594035#M30744</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T01:28:42Z</dc:date>
    </item>
    <item>
      <title>Re: error HardFault_Handler gets generated while reading in UART from hyperlterminal</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/error-HardFault-Handler-gets-generated-while-reading-in-UART/m-p/594036#M30745</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by graynomad on Tue Dec 18 01:24:20 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;If you implement the advice here&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://support.code-red-tech.com/CodeRedWiki/DebugHardFault&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You should be able to see where the fault occurred, I think you see the address in the LR register.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 01:28:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/error-HardFault-Handler-gets-generated-while-reading-in-UART/m-p/594036#M30745</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T01:28:42Z</dc:date>
    </item>
    <item>
      <title>Re: error HardFault_Handler gets generated while reading in UART from hyperlterminal</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/error-HardFault-Handler-gets-generated-while-reading-in-UART/m-p/594037#M30746</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by researchinnovation on Tue Dec 18 21:29:36 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: graynomad&lt;/STRONG&gt;&lt;BR /&gt;If you implement the advice here&lt;BR /&gt;&lt;BR /&gt;&lt;A _jive_internal="true" class="" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2F"&gt;http://support.code-red-tech.com/CodeRedWiki/DebugHardFault&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;You should be able to see where the fault occurred, I think you see the address in the LR register.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi...!!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Check this image.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 01:28:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/error-HardFault-Handler-gets-generated-while-reading-in-UART/m-p/594037#M30746</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T01:28:43Z</dc:date>
    </item>
    <item>
      <title>Re: error HardFault_Handler gets generated while reading in UART from hyperlterminal</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/error-HardFault-Handler-gets-generated-while-reading-in-UART/m-p/594038#M30747</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by graynomad on Tue Dec 18 22:07:01 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;[FONT=Times New Roman][SIZE=3]You obviously have not implemented that procedure or you would be single stepping through a function called [/SIZE][/FONT][FONT=Times New Roman][SIZE=3]HardFault_HandlerAsm() and then HardFault_HandlerC()[SIZE=3] and no[SIZE=3]t [/SIZE]the [SIZE=3]default handler.[/SIZE][/SIZE]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the C handler part you step down until the variable [/SIZE][/FONT][FONT=Times New Roman][SIZE=3]stacked_lr has been loaded and look at the value.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Certainly that's how I've got the details before.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[/SIZE][/FONT]&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 01:28:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/error-HardFault-Handler-gets-generated-while-reading-in-UART/m-p/594038#M30747</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T01:28:43Z</dc:date>
    </item>
  </channel>
</rss>

