<?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>LPC MicrocontrollersのトピックRe: Hard Fault on LPC55S69 single core project</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Hard-Fault-on-LPC55S69-single-core-project/m-p/929163#M37063</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Safi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've tried replicating the hard fault like you mentioned with no luck.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is what I did to try to reproduce the behavior.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using MCUXpresso IDE v10.3.1 [Build 2233] [2019-02-20] and the SDK Version 2.5.0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have imported the lpcexpresso55s69_ctimer_match_interrupt_example and used this as a base. I deleted the main source file and copied the portion you provided. I also imported the missing drivers such as the fsl_usart. I also made sure to include the proper drivers in the main source file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once the project was built I tried both stepping through the code(F6) and running the session (F8), but neither way caused a hard fault.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know if you have any observations over what I've done so I can continue to assist you.&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Sabina&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 02 Jul 2019 17:37:26 GMT</pubDate>
    <dc:creator>Sabina_Bruce</dc:creator>
    <dc:date>2019-07-02T17:37:26Z</dc:date>
    <item>
      <title>Hard Fault on LPC55S69 single core project</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Hard-Fault-on-LPC55S69-single-core-project/m-p/929162#M37062</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a single core project where I need to turn on the capture and the match functions on timer 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I turn on the Capture 1 on Timer 0 and everything works fine. But as soon as I turn on the Match 1 with interrupt. I get a hard fault. When I step through the code I can't find where the hard fault is actually generated. Stepping through the code I get no hard faults.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code is also running a USART (USART2) in polling mode to transmit some data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;/******************************************************************************&lt;BR /&gt;&amp;nbsp;* Prototypes&lt;BR /&gt;&amp;nbsp;*****************************************************************************/&lt;BR /&gt;void ctimer_capture_callback(uint32_t arg_flags);&lt;BR /&gt;void ctimer_match_callback(uint32_t arg_flags);&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;/******************************************************************************&lt;BR /&gt;&amp;nbsp;* Global Variables&lt;BR /&gt;&amp;nbsp;*****************************************************************************/&lt;BR /&gt;char g_usart2_str [256];&lt;BR /&gt;ctimer_config_t g_ctimer0_config, ctimer1_config;&lt;BR /&gt;ctimer_match_config_t ctimer0_match_config;&lt;BR /&gt;ctimer_match_config_t ctimer1_match_config;&lt;BR /&gt;usart_config_t g_usart2_config;&lt;BR /&gt;ctimer_callback_t g_ctimer0_callback[] = {NULL,&amp;nbsp; ctimer_match_callback, NULL, NULL, NULL, ctimer_capture_callback, ctimer_capture_callback, NULL};&lt;BR /&gt;uint32_t g_timer0_val = 0;&lt;BR /&gt;uint32_t g_timer0_val_copy = 0;&lt;BR /&gt;uint32_t g_timer0_val_prev = 0;&lt;BR /&gt;uint8_t g_timer0_overflow = 0;&lt;BR /&gt;uint8_t g_timer0_val_valid = 0;&lt;BR /&gt;… Some more definitions …&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/******************************************************************************&lt;BR /&gt;&amp;nbsp;* Function Definition&lt;BR /&gt;&amp;nbsp;*****************************************************************************/&lt;BR /&gt;void ctimer_capture_callback(uint32_t arg_flags)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;CTIMER_Reset(CTIMER0);&lt;BR /&gt;&amp;nbsp;g_timer0_val = CTIMER0-&amp;gt;CR[1];&lt;BR /&gt;&amp;nbsp;g_timer0_val_valid = 1;&lt;BR /&gt;&amp;nbsp;g_printf_sig++;&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;void ctimer_match_callback(uint32_t arg_flags)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;g_timer0_overflow++;&lt;BR /&gt;}&lt;BR /&gt;/*&lt;BR /&gt;&amp;nbsp;* @brief&amp;nbsp;&amp;nbsp; Application entry point.&lt;BR /&gt;&amp;nbsp;*/&lt;BR /&gt;int main(void) {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;//Declarations&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;// Init board hardware.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BOARD_InitBootPins();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BOARD_InitBootClocks();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BOARD_InitBootPeripherals();&lt;BR /&gt;&amp;nbsp; &amp;nbsp;// Init FSL debug console.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BOARD_InitDebugConsole();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BOARD_BootClockPLL100M();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOCK_AttachClk(kMAIN_CLK_to_CTIMER0);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOCK_AttachClk(kFRO12M_to_FLEXCOMM2);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PRINTF("Configuring Timer 0...\n");&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; const uint32_t port1_pin26_config = (&amp;nbsp;//Configure as CT_INP3&lt;BR /&gt;&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;IOCON_FUNC3 |&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; // No addition pin function&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IOCON_MODE_PULLUP |&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Standard mode, output slew rate control is enabled&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOCON_PIO_SLEW_STANDARD |&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Input function is not inverted&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOCON_PIO_INV_DI |&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enables digital function&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOCON_PIO_DIGITAL_EN |&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Open drain is disabled&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOCON_PIO_OPENDRAIN_DI);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // PORT1 PIN26&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOCON_PinMuxSet(IOCON, 1, 26, port1_pin26_config);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; const uint32_t port1_pin24_config = (&amp;nbsp;//Configure as FC2_USART_RXD&lt;BR /&gt;&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;IOCON_FUNC1 |&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; // No addition pin function&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IOCON_MODE_INACT |&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Standard mode, output slew rate control is enabled&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOCON_PIO_SLEW_STANDARD |&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Input function is not inverted&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOCON_PIO_INV_DI |&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enables digital function&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOCON_PIO_DIGITAL_EN |&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Open drain is disabled&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOCON_PIO_OPENDRAIN_DI);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // PORT1 PIN24&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IOCON_PinMuxSet(IOCON, 1, 24, port1_pin24_config);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; const uint32_t port0_pin27_config = (&amp;nbsp;//Configure as FC2_USART_RXD&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IOCON_FUNC1 |&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// No addition pin function&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IOCON_MODE_INACT |&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Standard mode, output slew rate control is enabled&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IOCON_PIO_SLEW_STANDARD |&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Input function is not inverted&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IOCON_PIO_INV_DI |&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Enables digital function&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IOCON_PIO_DIGITAL_EN |&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Open drain is disabled&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IOCON_PIO_OPENDRAIN_DI);&lt;BR /&gt;&amp;nbsp;// PORT0 PIN27&lt;BR /&gt;&amp;nbsp;IOCON_PinMuxSet(IOCON, 0, 27, port0_pin27_config);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;//Set up FLEXCOMM2 as USART2&lt;BR /&gt;&amp;nbsp;RESET_ClearPeripheralReset(kFC2_RST_SHIFT_RSTn);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;USART_GetDefaultConfig(&amp;amp;g_usart2_config);&lt;BR /&gt;&amp;nbsp;g_usart2_config.baudRate_Bps = 115200U;&lt;BR /&gt;&amp;nbsp;g_usart2_config.enableRx = true;&lt;BR /&gt;&amp;nbsp;g_usart2_config.enableTx = true;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;USART_Init(USART2, &amp;amp;g_usart2_config, CLOCK_GetFreq(kCLOCK_Flexcomm2));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INPUTMUX_Init(INPUTMUX);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INPUTMUX_AttachSignal(INPUTMUX, 1, kINPUTMUX_CtimerInp3ToTimer0Captsel);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INPUTMUX_Deinit(INPUTMUX);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CTIMER_GetDefaultConfig(&amp;amp;g_ctimer0_config);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CTIMER_Init(CTIMER0, &amp;amp;g_ctimer0_config);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CTIMER0-&amp;gt;CTCR &amp;amp;= 0x0000000F;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CTIMER0-&amp;gt;CTCR |= ((0x2 &amp;lt;&amp;lt; 5) | (1 &amp;lt;&amp;lt; 4));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CTIMER_RegisterCallBack(CTIMER0, &amp;amp;g_ctimer0_callback[0], kCTIMER_MultipleCallback);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Configuration 0&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctimer0_match_config.enableCounterReset = true;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctimer0_match_config.enableCounterStop = false;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctimer0_match_config.matchValue = 0xFFFFFFFF;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctimer0_match_config.outControl = kCTIMER_Output_NoAction;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctimer0_match_config.outPinInitState = false;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctimer0_match_config.enableInterrupt = true;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CTIMER_SetupMatch(CTIMER0, kCTIMER_Match_0, &amp;amp;ctimer0_match_config);&lt;/STRONG&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CTIMER_SetupCapture(CTIMER0, kCTIMER_Capture_1, kCTIMER_Capture_RiseEdge, true);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CTIMER_EnableInterrupts(CTIMER0, kCTIMER_Capture1InterruptEnable);&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; CTIMER_EnableInterrupts(CTIMER0, kCTIMER_Match0InterruptEnable);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CTIMER_StartTimer(CTIMER0);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i = 0 ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enter an infinite loop, just incrementing a counter. */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++ ;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (g_timer0_val_valid){&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; … Some Code ….&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (i % 10000 == 0){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;sprintf(g_usart2_str, … );&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;USART_WriteBlocking(USART2, (unsigned char*)(g_usart2_str), strlen(g_usart2_str));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0 ;&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;I should mention that this is a semihost project.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jul 2019 13:18:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Hard-Fault-on-LPC55S69-single-core-project/m-p/929162#M37062</guid>
      <dc:creator>safiullah_hussa</dc:creator>
      <dc:date>2019-07-02T13:18:39Z</dc:date>
    </item>
    <item>
      <title>Re: Hard Fault on LPC55S69 single core project</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Hard-Fault-on-LPC55S69-single-core-project/m-p/929163#M37063</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Safi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've tried replicating the hard fault like you mentioned with no luck.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is what I did to try to reproduce the behavior.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using MCUXpresso IDE v10.3.1 [Build 2233] [2019-02-20] and the SDK Version 2.5.0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have imported the lpcexpresso55s69_ctimer_match_interrupt_example and used this as a base. I deleted the main source file and copied the portion you provided. I also imported the missing drivers such as the fsl_usart. I also made sure to include the proper drivers in the main source file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once the project was built I tried both stepping through the code(F6) and running the session (F8), but neither way caused a hard fault.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know if you have any observations over what I've done so I can continue to assist you.&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Sabina&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jul 2019 17:37:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Hard-Fault-on-LPC55S69-single-core-project/m-p/929163#M37063</guid>
      <dc:creator>Sabina_Bruce</dc:creator>
      <dc:date>2019-07-02T17:37:26Z</dc:date>
    </item>
    <item>
      <title>Re: Hard Fault on LPC55S69 single core project</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Hard-Fault-on-LPC55S69-single-core-project/m-p/929164#M37064</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sabina,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think I was initially wrong that it was the interrupts. I now believe it is some issue with the sprintf.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I copied the code to a no hosted project and used the sprintf and USART combo. As soon as I hit the sprintf, I get a hard fault.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using Newlib so I believe it should support sprintf? especially with floats?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Safiullah Hussaini&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jul 2019 18:33:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Hard-Fault-on-LPC55S69-single-core-project/m-p/929164#M37064</guid>
      <dc:creator>safiullah_hussa</dc:creator>
      <dc:date>2019-07-02T18:33:05Z</dc:date>
    </item>
    <item>
      <title>Re: Hard Fault on LPC55S69 single core project</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Hard-Fault-on-LPC55S69-single-core-project/m-p/929165#M37065</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;No. sprintf is not the entire issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I noticed something.&lt;/P&gt;&lt;P&gt;static ctimer_callback_t *s_ctimerCallback[FSL_FEATURE_SOC_CTIMER_COUNT] = {0};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Where&amp;nbsp;&lt;SPAN style="display: inline !important; float: none; background-color: transparent; color: #3d3d3d; font-family: Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px; word-wrap: break-word;"&gt;FSL_FEATURE_SOC_CTIMER_COUNT&lt;/SPAN&gt; = 5&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This seems incorrect since callbacks should be 8 (4 for matches and 4 for captures if I am not mistaken).&lt;/P&gt;&lt;P&gt;Could this be a cause of the fault?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jul 2019 18:58:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Hard-Fault-on-LPC55S69-single-core-project/m-p/929165#M37065</guid>
      <dc:creator>safiullah_hussa</dc:creator>
      <dc:date>2019-07-02T18:58:04Z</dc:date>
    </item>
    <item>
      <title>Re: Hard Fault on LPC55S69 single core project</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Hard-Fault-on-LPC55S69-single-core-project/m-p/929166#M37066</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="background-color: transparent; border: 0px; color: #000000; text-decoration: none; font-size: 15px; "&gt;I've added some &lt;STRONG&gt;sprintf&amp;nbsp;&amp;nbsp;&lt;/STRONG&gt;and still not hardfaults.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-size: 15px;"&gt;&lt;SPAN style="background-color: transparent; border: 0px; text-decoration: none;"&gt;The FSL_FEATURE_SOC_CTIMER_COUNT&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;is regarding the number of Ctimers available. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #000000; font-size: 15px; "&gt;This would be the CTIMER0,&amp;nbsp;&lt;SPAN style="background-color: #ffffff;"&gt;CTIMER1,&amp;nbsp;CTIMER2,&amp;nbsp;CTIMER3,&amp;nbsp;CTIMER4. So that number should not be changed.&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #000000; font-size: 15px; "&gt;When you copied the code to a different base project are you still getting a hardfault, if so are you able to detect it when you step through the code (or only if you run de debug session)?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #000000; font-size: 15px; "&gt;Let me know, if so ill copy the code back(with my minor addons to test it) that you provided so you can test it out and see if the results are different.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Sabina&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jul 2019 23:27:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Hard-Fault-on-LPC55S69-single-core-project/m-p/929166#M37066</guid>
      <dc:creator>Sabina_Bruce</dc:creator>
      <dc:date>2019-07-02T23:27:51Z</dc:date>
    </item>
  </channel>
</rss>

