<?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 Trouble with FreeRTOS and xQueueSendFromISR() in i.MX RT Crossover MCUs</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Trouble-with-FreeRTOS-and-xQueueSendFromISR/m-p/998107#M5990</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm learning how to use FreeRTOS on the IMXRT1050 and I'm having trouble sending a message on a Queue from an ISR. I'm the pushbutton on the IMXRT1050-EVKB and the gpio input interrupt sample code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I set a flag in the ISR, read the flag in a task, then call xQueueSend() from the task it works okay.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However when I try to use xQueueSendFromISR() I get stuck on line 782 of port.c.&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;configASSERT( ucCurrentPriority &amp;gt;= ucMaxSysCallPriority );&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;ucCurrentPriority is 0 and ucMaxSysCallPriority is 32.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm kind of lost as to what to do. I tried setting&amp;nbsp;NVIC_SetPriority(EXAMPLE_SW_IRQ, 32U); but that didn't help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any suggestions?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My code:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;void EXAMPLE_GPIO_IRQHandler(void)&lt;BR /&gt;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;/* clear the interrupt status */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO_PortClearInterruptFlags(EXAMPLE_SW_GPIO, 1U &amp;lt;&amp;lt; EXAMPLE_SW_GPIO_PIN);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;/* Change state of switch. */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;g_InputSignal = true;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//&amp;nbsp; &amp;nbsp; PRINTF("Pushbutton ISR");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;xQueueSendFromISR(publish_queue, &amp;amp;event, NULL);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Add for ARM errata 838869, affects Cortex-M4, Cortex-M4F Store immediate overlapping&lt;BR /&gt; exception return operation might vector to incorrect interrupt */&lt;BR /&gt;#if defined __CORTEX_M &amp;amp;&amp;amp; (__CORTEX_M == 4U)&lt;BR /&gt; __DSB();&lt;BR /&gt;#endif&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void gpio_init(void)&lt;BR /&gt;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;/* Define the init structure for the input switch pin */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;gpio_pin_config_t sw_config = {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kGPIO_DigitalInput,&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0,&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kGPIO_IntRisingEdge,&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Init input switch GPIO. */&lt;BR /&gt;//&amp;nbsp; &amp;nbsp; NVIC_SetPriority(EXAMPLE_SW_IRQ, 32U);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;EnableIRQ(EXAMPLE_SW_IRQ);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO_PinInit(EXAMPLE_SW_GPIO, EXAMPLE_SW_GPIO_PIN, &amp;amp;sw_config);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Enable GPIO pin interrupt */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO_PortEnableInterrupts(EXAMPLE_SW_GPIO, 1U &amp;lt;&amp;lt; EXAMPLE_SW_GPIO_PIN);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;publish_queue = broker_register_publisher(topic);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (xTaskCreateStatic(gpio_task, "gpio_task", GPIO_TASK_STACK_SIZE, NULL, GPIO_TASK_PRIORITY, &amp;nbsp;&amp;nbsp;&amp;nbsp;gpio_task_stack, &amp;amp;gpio_task_buffer) == NULL)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PRINTF("Task creation failed!.\r\n");&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void gpio_task(void *pvParameters)&lt;BR /&gt;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;while (1)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (g_InputSignal)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delay();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (1 == GPIO_PinRead(EXAMPLE_SW_GPIO, EXAMPLE_SW_GPIO_PIN))&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;//&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PRINTF("Sending Pushbutton\r\n");&lt;BR /&gt;//&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xQueueSend(publish_queue, &amp;amp;event, 0);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Reset state of switch. */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;g_InputSignal = false;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;taskYIELD();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static void delay(void)&lt;BR /&gt;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;volatile uint32_t i = 0;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;for (i = 0; i &amp;lt; 1000000; ++i)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;__NOP(); /* delay */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 15 Nov 2019 22:45:03 GMT</pubDate>
    <dc:creator>mukelarvin</dc:creator>
    <dc:date>2019-11-15T22:45:03Z</dc:date>
    <item>
      <title>Trouble with FreeRTOS and xQueueSendFromISR()</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Trouble-with-FreeRTOS-and-xQueueSendFromISR/m-p/998107#M5990</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm learning how to use FreeRTOS on the IMXRT1050 and I'm having trouble sending a message on a Queue from an ISR. I'm the pushbutton on the IMXRT1050-EVKB and the gpio input interrupt sample code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I set a flag in the ISR, read the flag in a task, then call xQueueSend() from the task it works okay.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However when I try to use xQueueSendFromISR() I get stuck on line 782 of port.c.&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;configASSERT( ucCurrentPriority &amp;gt;= ucMaxSysCallPriority );&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;ucCurrentPriority is 0 and ucMaxSysCallPriority is 32.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm kind of lost as to what to do. I tried setting&amp;nbsp;NVIC_SetPriority(EXAMPLE_SW_IRQ, 32U); but that didn't help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any suggestions?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My code:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;void EXAMPLE_GPIO_IRQHandler(void)&lt;BR /&gt;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;/* clear the interrupt status */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO_PortClearInterruptFlags(EXAMPLE_SW_GPIO, 1U &amp;lt;&amp;lt; EXAMPLE_SW_GPIO_PIN);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;/* Change state of switch. */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;g_InputSignal = true;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//&amp;nbsp; &amp;nbsp; PRINTF("Pushbutton ISR");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;xQueueSendFromISR(publish_queue, &amp;amp;event, NULL);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Add for ARM errata 838869, affects Cortex-M4, Cortex-M4F Store immediate overlapping&lt;BR /&gt; exception return operation might vector to incorrect interrupt */&lt;BR /&gt;#if defined __CORTEX_M &amp;amp;&amp;amp; (__CORTEX_M == 4U)&lt;BR /&gt; __DSB();&lt;BR /&gt;#endif&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void gpio_init(void)&lt;BR /&gt;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;/* Define the init structure for the input switch pin */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;gpio_pin_config_t sw_config = {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kGPIO_DigitalInput,&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0,&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kGPIO_IntRisingEdge,&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Init input switch GPIO. */&lt;BR /&gt;//&amp;nbsp; &amp;nbsp; NVIC_SetPriority(EXAMPLE_SW_IRQ, 32U);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;EnableIRQ(EXAMPLE_SW_IRQ);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO_PinInit(EXAMPLE_SW_GPIO, EXAMPLE_SW_GPIO_PIN, &amp;amp;sw_config);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Enable GPIO pin interrupt */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO_PortEnableInterrupts(EXAMPLE_SW_GPIO, 1U &amp;lt;&amp;lt; EXAMPLE_SW_GPIO_PIN);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;publish_queue = broker_register_publisher(topic);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (xTaskCreateStatic(gpio_task, "gpio_task", GPIO_TASK_STACK_SIZE, NULL, GPIO_TASK_PRIORITY, &amp;nbsp;&amp;nbsp;&amp;nbsp;gpio_task_stack, &amp;amp;gpio_task_buffer) == NULL)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PRINTF("Task creation failed!.\r\n");&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void gpio_task(void *pvParameters)&lt;BR /&gt;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;while (1)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (g_InputSignal)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;delay();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (1 == GPIO_PinRead(EXAMPLE_SW_GPIO, EXAMPLE_SW_GPIO_PIN))&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;//&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PRINTF("Sending Pushbutton\r\n");&lt;BR /&gt;//&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xQueueSend(publish_queue, &amp;amp;event, 0);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Reset state of switch. */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;g_InputSignal = false;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;taskYIELD();&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static void delay(void)&lt;BR /&gt;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;volatile uint32_t i = 0;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;for (i = 0; i &amp;lt; 1000000; ++i)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;__NOP(); /* delay */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Nov 2019 22:45:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Trouble-with-FreeRTOS-and-xQueueSendFromISR/m-p/998107#M5990</guid>
      <dc:creator>mukelarvin</dc:creator>
      <dc:date>2019-11-15T22:45:03Z</dc:date>
    </item>
    <item>
      <title>Re: Trouble with FreeRTOS and xQueueSendFromISR()</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Trouble-with-FreeRTOS-and-xQueueSendFromISR/m-p/998108#M5991</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a piece of code I paste in whenever I'm about to enable an interrupt. From memory, it looks like:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; NVIC_SetPriority(xxx_IRQn,&amp;nbsp;configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That second argument isn't the value being compared -- that's configMAX_SYSCALL_INTERRUPT_PRIORITY,&amp;nbsp;&amp;nbsp;which is what the CPU actually works with. Your choice of 32 is probably too large,&amp;nbsp; since __NVIC_PRIO_BITS is 4 in the RT1015.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Nov 2019 01:43:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Trouble-with-FreeRTOS-and-xQueueSendFromISR/m-p/998108#M5991</guid>
      <dc:creator>brucemckenney</dc:creator>
      <dc:date>2019-11-16T01:43:47Z</dc:date>
    </item>
    <item>
      <title>Re: Trouble with FreeRTOS and xQueueSendFromISR()</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Trouble-with-FreeRTOS-and-xQueueSendFromISR/m-p/998109#M5992</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Bruce,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Okay setting the priority to 4 seemed to get the interrupt to work.That's the priority of my tasks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I put a breakpoint on the line that was crashing before and my ucCurrentPriority came out as 64. I don't really understand the relationship between my ISR priority and the priority that appears in that port.c function but that's a problem for another day.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Nov 2019 17:07:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Trouble-with-FreeRTOS-and-xQueueSendFromISR/m-p/998109#M5992</guid>
      <dc:creator>mukelarvin</dc:creator>
      <dc:date>2019-11-18T17:07:54Z</dc:date>
    </item>
  </channel>
</rss>

