<?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: emwin deployment</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/emwin-deployment/m-p/1494839#M49685</link>
    <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/26034"&gt;@xiangjun_rong&lt;/a&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for your reply and&amp;nbsp; we have downloaded the&amp;nbsp; emwin sdk for lpc546xx and integrated the emwin libraries in our project&amp;nbsp; currently we are facing the issue of&amp;nbsp; in the GUI_init();So&amp;nbsp; far we have&amp;nbsp; not used the debugger in our project and we are using the uart for verifying the program flow .&lt;/P&gt;&lt;P&gt;as per program flow:&lt;/P&gt;&lt;P&gt;GUI_INIT-----------------&amp;gt;LCD_INIT--------------&amp;gt;Hung or may be in hardfault exceptions.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We are using the external ram for storing the display buffer and gui buffer .Please go through the images i have attached for your reference.&lt;/P&gt;&lt;P&gt;We ae using tianma lcd part number TM104SDHG05&lt;/P&gt;&lt;P&gt;--------------------CODE-------------------------------------&lt;/P&gt;&lt;P&gt;#include "FreeRTOS.h"&lt;/P&gt;&lt;P&gt;#include "task.h"&lt;/P&gt;&lt;P&gt;#include "queue.h"&lt;/P&gt;&lt;P&gt;#include "timers.h"&lt;/P&gt;&lt;P&gt;#include "semphr.h"&lt;/P&gt;&lt;P&gt;#include "GUI.h"&lt;/P&gt;&lt;P&gt;#include "WM.h"&lt;/P&gt;&lt;P&gt;#include "GUIDRV_Lin.h"&lt;/P&gt;&lt;P&gt;#include "board.h"&lt;/P&gt;&lt;P&gt;#include "fsl_ctimer.h"&lt;/P&gt;&lt;P&gt;#include "fsl_sctimer.h"&lt;/P&gt;&lt;P&gt;#include "fsl_gpio.h"&lt;/P&gt;&lt;P&gt;#include "fsl_lcdc.h"&lt;/P&gt;&lt;P&gt;#include "fsl_i2c.h"&lt;/P&gt;&lt;P&gt;#include "fsl_usart.h"&lt;/P&gt;&lt;P&gt;#include &amp;lt;cr_section_macros.h&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#include "fsl_device_registers.h"&lt;/P&gt;&lt;P&gt;#include "pin_mux.h"&lt;/P&gt;&lt;P&gt;#include "board.h"&lt;/P&gt;&lt;P&gt;#include "stdint.h"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#include "DIALOG.h"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#include "GUI.h"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#include "stdio.h"&lt;/P&gt;&lt;P&gt;#include "stdlib.h"&lt;/P&gt;&lt;P&gt;#include "fsl_ctimer.h"&lt;/P&gt;&lt;P&gt;#include "fsl_sctimer.h"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include "board.h"&lt;/P&gt;&lt;P&gt;#include "peripherals.h"&lt;/P&gt;&lt;P&gt;#include "pin_mux.h"&lt;/P&gt;&lt;P&gt;#include "clock_config.h"&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdbool.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;string.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include "board.h"&lt;/P&gt;&lt;P&gt;#include "fsl_lcdc.h"&lt;/P&gt;&lt;P&gt;#include "fsl_i2c.h"&lt;/P&gt;&lt;P&gt;#include "fsl_usart.h"&lt;/P&gt;&lt;P&gt;#include "fsl_gpio.h"&lt;/P&gt;&lt;P&gt;#include &amp;lt;cr_section_macros.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include "fsl_iocon.h"&lt;/P&gt;&lt;P&gt;#include "pin_mux.h"&lt;/P&gt;&lt;P&gt;#include "fsl_sctimer.h"&lt;/P&gt;&lt;P&gt;#include "fsl_ctimer.h"&lt;/P&gt;&lt;P&gt;#include "fsl_rtc.h"&lt;/P&gt;&lt;P&gt;#include "peripherals.h"&lt;/P&gt;&lt;P&gt;#include "fsl_DualUart.h"&lt;/P&gt;&lt;P&gt;#include "fsl_sd.h"&lt;/P&gt;&lt;P&gt;#include "fsl_power.h"&lt;/P&gt;&lt;P&gt;#include "fsl_i2s.h"&lt;/P&gt;&lt;P&gt;#include "fsl_codec8814.h"&lt;/P&gt;&lt;P&gt;#include "fsl_dma.h"&lt;/P&gt;&lt;P&gt;#include "fsl_i2s_dma.h"&lt;/P&gt;&lt;P&gt;#include "fsl_enet.h"&lt;/P&gt;&lt;P&gt;#include "fsl_phy.h"&lt;/P&gt;&lt;P&gt;#include "fsl_inputmux.h"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define SDRAM_BASE_ADDR&amp;nbsp; 0xA0000000&lt;/P&gt;&lt;P&gt;#define GUI_BLOCKSIZE&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x128&lt;/P&gt;&lt;P&gt;#define CTIMER CTIMER3&lt;/P&gt;&lt;P&gt;#define VRAM_SIZE&amp;nbsp; (960000)&lt;/P&gt;&lt;P&gt;static volatile &lt;EM&gt;int32_t&lt;/EM&gt; s_LCDpendingBuffer = -1;&lt;/P&gt;&lt;P&gt;GUI_PID_STATE pid_state;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;static SemaphoreHandle_t xQueueMutex;&lt;/P&gt;&lt;P&gt;static SemaphoreHandle_t xSemaTxDone;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#include "board.h"&lt;/P&gt;&lt;P&gt;#include "peripherals.h"&lt;/P&gt;&lt;P&gt;#include "fsl_inputmux.h"&lt;/P&gt;&lt;P&gt;#include "pin_mux.h"&lt;/P&gt;&lt;P&gt;#include "clock_config.h"&lt;/P&gt;&lt;P&gt;#include "LPC54618.h"&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdbool.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;string.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include "board.h"&lt;/P&gt;&lt;P&gt;#include "fsl_lcdc.h"&lt;/P&gt;&lt;P&gt;#include "fsl_i2c.h"&lt;/P&gt;&lt;P&gt;#include "fsl_usart.h"&lt;/P&gt;&lt;P&gt;#include "fsl_gpio.h"&lt;/P&gt;&lt;P&gt;#include "fsl_gint.h"&lt;/P&gt;&lt;P&gt;#include &amp;lt;cr_section_macros.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include "pin_mux.h"&lt;/P&gt;&lt;P&gt;#include "fsl_sctimer.h"&lt;/P&gt;&lt;P&gt;#include "fsl_ctimer.h"&lt;/P&gt;&lt;P&gt;#include "fsl_rtc.h"&lt;/P&gt;&lt;P&gt;#include "fsl_RTC8563.h"&lt;/P&gt;&lt;P&gt;#include "peripherals.h"&lt;/P&gt;&lt;P&gt;#include "fsl_DualUart.h"&lt;/P&gt;&lt;P&gt;#include "fsl_sd.h"&lt;/P&gt;&lt;P&gt;#include "fsl_power.h"&lt;/P&gt;&lt;P&gt;#include "fsl_i2s.h"&lt;/P&gt;&lt;P&gt;#include "fsl_codec8814.h"&lt;/P&gt;&lt;P&gt;#include "fsl_dma.h"&lt;/P&gt;&lt;P&gt;#include "GUI.h"&lt;/P&gt;&lt;P&gt;#include "LCD.h"&lt;/P&gt;&lt;P&gt;#include "WM.h"&lt;/P&gt;&lt;P&gt;#include "stdint.h"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;extern&amp;nbsp; unsigned char&amp;nbsp;&amp;nbsp; GuiNumberofBytes[GUI_NUMBYTES];&lt;/P&gt;&lt;P&gt;extern unsigned short V_RamframeBuff[480000];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void APP_LCD_IRQHandler(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;uint32_t&lt;/EM&gt; intStatus = LCDC_GetEnabledInterruptsPendingStatus(APP_LCD);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCDC_ClearInterruptsStatus(APP_LCD, intStatus);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (intStatus &amp;amp; kLCDC_VerticalCompareInterrupt)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (s_LCDpendingBuffer &amp;gt;= 0)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Send a confirmation that the given buffer is visible */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GUI_MULTIBUF_Confirm(s_LCDpendingBuffer);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s_LCDpendingBuffer = -1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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; __DSB();&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;* Application implemented functions required by emWin library&lt;/P&gt;&lt;P&gt;******************************************************************************/&lt;/P&gt;&lt;P&gt;void LCD_X_Config(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;///V_RamframeBuff size&amp;nbsp; is 960000 bytes&amp;nbsp; and allocated in external ram&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; status_t status;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GUI_MULTIBUF_Config(1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(GUI_DEVICE_CreateAndLink(GUIDRV_LIN_16, GUICC_M565, 0, 0))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD_SetSizeEx(0, 800, 600);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD_SetVSizeEx(0, 800, 600);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD_SetVRAMAddrEx(0, (void *)V_RamframeBuff);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = APP_LCDC_Init();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (status != kStatus_Success)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;int LCD_X_DisplayDriver(unsigned LayerIndex, unsigned Cmd, void *p)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void GUI_X_Config(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i=0,j=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char xyz[10];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ///GuiNumberofBytes size&amp;nbsp; is 2MB and allocated in external ram&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GUI_ALLOC_AssignMemory((unsigned char *)GuiNumberofBytes, GUI_NUMBYTES);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Select default font */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GUI_SetDefaultFont(GUI_FONT_6X8);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GUI_SetDefaultColor(GUI_BLACK);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; USART_WriteByte(NIBP_USART,'3');USART_WriteByte(NIBP_USART,'4');&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void GUI_X_Init(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*********************************************************************&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Multitasking:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GUI_X_InitOS()&lt;/P&gt;&lt;P&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; GUI_X_GetTaskId()&lt;/P&gt;&lt;P&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; GUI_X_Lock()&lt;/P&gt;&lt;P&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; GUI_X_Unlock()&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;* Note:&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp; The following routines are required only if emWin is used in a&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp; true multi task environment, which means you have more than one&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp; thread using the emWin API.&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp; In this case the&lt;/P&gt;&lt;P&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; #define GUI_OS&amp;nbsp; (1)&lt;/P&gt;&lt;P&gt;*&amp;nbsp; needs to be in GUIConf.h&lt;/P&gt;&lt;P&gt;*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*! @brief Init OS.Creates the resource semaphore or mutex typically used by GUI_X_Lock() and GUI_X_Unlock().*/&lt;/P&gt;&lt;P&gt;void GUI_X_InitOS(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // USART_WriteByte(NIBP_USART,'O');USART_WriteByte(NIBP_USART,'S');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Create a Mutex lock*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xQueueMutex = xSemaphoreCreateMutex();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; configASSERT(xQueueMutex !=&lt;EM&gt;NULL&lt;/EM&gt;);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vSemaphoreCreateBinary(xSemaTxDone);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; configASSERT(xSemaTxDone != &lt;EM&gt;NULL&lt;/EM&gt;);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'1');USART_WriteByte(NIBP_USART,'1');&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*! @brief Locks the GUI*/&lt;/P&gt;&lt;P&gt;void GUI_X_Lock(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'O');USART_WriteByte(NIBP_USART,'S');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xSemaphoreTake(xQueueMutex , portMAX_DELAY);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'1');USART_WriteByte(NIBP_USART,'2');&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*! @brief Unlocks the GUI */&lt;/P&gt;&lt;P&gt;void GUI_X_Unlock(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'O');USART_WriteByte(NIBP_USART,'S');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xSemaphoreGive(xQueueMutex);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'1');USART_WriteByte(NIBP_USART,'3');&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*! @brief Get the Task handle */&lt;/P&gt;&lt;P&gt;U32 GUI_X_GetTaskId(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ((&lt;EM&gt;uint32_t&lt;/EM&gt;)xTaskGetCurrentTaskHandle());&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void GUI_X_WaitEvent (void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'O');USART_WriteByte(NIBP_USART,'S');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while( xSemaphoreTake(xSemaTxDone, portMAX_DELAY ) != pdTRUE );&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'1');USART_WriteByte(NIBP_USART,'4');&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void GUI_X_SignalEvent (void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'O');USART_WriteByte(NIBP_USART,'S');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xSemaphoreGive( xSemaTxDone );&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'1');USART_WriteByte(NIBP_USART,'5');&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;void GUI_X_ExecIdle(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GUI_TIMER_TIME GUI_X_GetTime(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'O');USART_WriteByte(NIBP_USART,'S');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ((int) xTaskGetTickCount());&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'1');USART_WriteByte(NIBP_USART,'6');&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*! @brief Returns after a specified time period in milliseconds. */&lt;/P&gt;&lt;P&gt;void GUI_X_Delay(int ms)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'O');USART_WriteByte(NIBP_USART,'S');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vTaskDelay(ms);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'1');USART_WriteByte(NIBP_USART,'7');&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;void *emWin_memcpy(void *pDst, const void *pSrc, long size)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return &lt;EM&gt;memcpy&lt;/EM&gt;(pDst, pSrc, size);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;status_t APP_LCDC_Init(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Initialize the display.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdc_config_t lcdConfig;&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdc_cursor_config_t cursorConfig;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCDC_GetDefaultConfig(&amp;amp;lcdConfig);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.panelClock_Hz = LCD_PANEL_CLK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.ppl = LCD_PPL;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.hsw = LCD_HSW; //LCD_HSW;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.hfp = LCD_HFP;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.hbp = LCD_HBP;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.lpp = LCD_LPP;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.vsw = LCD_VSW;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.vfp = LCD_VFP;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.vbp = LCD_VBP;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.polarityFlags = LCD_POL_FLAGS;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.upperPanelAddr = (unsigned int)V_RamframeBuff;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.bpp = kLCDC_16BPP565;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.display = kLCDC_DisplayTFT;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.swapRedBlue = true;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.dataFormat = kLCDC_WinCeMode;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCDC_Init(APP_LCD, &amp;amp;lcdConfig, LCD_INPUT_CLK_FREQ);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCDC_EnableCursor(APP_LCD, false);// LCDC_EnableCursor(APP_LCD, true);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCDC_Start(APP_LCD);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCDC_PowerUp(APP_LCD);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return kStatus_Success;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;we are using 800X600 10.4 inch lcd&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please help us to resolve the problem&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="IMG_20220725_181829.jpg" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/187713i87891BBDABC0D68F/image-size/large?v=v2&amp;amp;px=999" role="button" title="IMG_20220725_181829.jpg" alt="IMG_20220725_181829.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Managelinkerscript.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/187710i62145C3424342083/image-size/large?v=v2&amp;amp;px=999" role="button" title="Managelinkerscript.png" alt="Managelinkerscript.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MemoryDetails.jpg" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/187712i1BF6761C2FA2E027/image-size/large?v=v2&amp;amp;px=999" role="button" title="MemoryDetails.jpg" alt="MemoryDetails.jpg" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PreProcessors.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/187711iD05CE96EAE10C7BA/image-size/large?v=v2&amp;amp;px=999" role="button" title="PreProcessors.png" alt="PreProcessors.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please help us to resolve this issue as soon as possible because I am&amp;nbsp; already lagging too much on time&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Nithin N&lt;/P&gt;</description>
    <pubDate>Wed, 27 Jul 2022 07:48:43 GMT</pubDate>
    <dc:creator>nithin3200</dc:creator>
    <dc:date>2022-07-27T07:48:43Z</dc:date>
    <item>
      <title>emwin deployment</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/emwin-deployment/m-p/1493015#M49658</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Am using &lt;STRONG&gt;Emwin for LPC546xxx&lt;/STRONG&gt; with customized board.Display model number is &lt;STRONG&gt;TM104SDHG05, Tianma&lt;/STRONG&gt; model. Anyone can suggest me how i can initialize&amp;nbsp; emwin.&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 21 Jul 2022 05:23:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/emwin-deployment/m-p/1493015#M49658</guid>
      <dc:creator>nithin3200</dc:creator>
      <dc:date>2022-07-21T05:23:58Z</dc:date>
    </item>
    <item>
      <title>Re: emwin deployment</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/emwin-deployment/m-p/1494441#M49678</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;There is emwin_examples under SDK, you can refer to:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Alice_Yang_0-1658718644171.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/187626i25412F1EACC0FD99/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Alice_Yang_0-1658718644171.png" alt="Alice_Yang_0-1658718644171.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;Alice&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 25 Jul 2022 03:10:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/emwin-deployment/m-p/1494441#M49678</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2022-07-25T03:10:52Z</dc:date>
    </item>
    <item>
      <title>Re: emwin deployment</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/emwin-deployment/m-p/1494839#M49685</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/26034"&gt;@xiangjun_rong&lt;/a&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for your reply and&amp;nbsp; we have downloaded the&amp;nbsp; emwin sdk for lpc546xx and integrated the emwin libraries in our project&amp;nbsp; currently we are facing the issue of&amp;nbsp; in the GUI_init();So&amp;nbsp; far we have&amp;nbsp; not used the debugger in our project and we are using the uart for verifying the program flow .&lt;/P&gt;&lt;P&gt;as per program flow:&lt;/P&gt;&lt;P&gt;GUI_INIT-----------------&amp;gt;LCD_INIT--------------&amp;gt;Hung or may be in hardfault exceptions.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We are using the external ram for storing the display buffer and gui buffer .Please go through the images i have attached for your reference.&lt;/P&gt;&lt;P&gt;We ae using tianma lcd part number TM104SDHG05&lt;/P&gt;&lt;P&gt;--------------------CODE-------------------------------------&lt;/P&gt;&lt;P&gt;#include "FreeRTOS.h"&lt;/P&gt;&lt;P&gt;#include "task.h"&lt;/P&gt;&lt;P&gt;#include "queue.h"&lt;/P&gt;&lt;P&gt;#include "timers.h"&lt;/P&gt;&lt;P&gt;#include "semphr.h"&lt;/P&gt;&lt;P&gt;#include "GUI.h"&lt;/P&gt;&lt;P&gt;#include "WM.h"&lt;/P&gt;&lt;P&gt;#include "GUIDRV_Lin.h"&lt;/P&gt;&lt;P&gt;#include "board.h"&lt;/P&gt;&lt;P&gt;#include "fsl_ctimer.h"&lt;/P&gt;&lt;P&gt;#include "fsl_sctimer.h"&lt;/P&gt;&lt;P&gt;#include "fsl_gpio.h"&lt;/P&gt;&lt;P&gt;#include "fsl_lcdc.h"&lt;/P&gt;&lt;P&gt;#include "fsl_i2c.h"&lt;/P&gt;&lt;P&gt;#include "fsl_usart.h"&lt;/P&gt;&lt;P&gt;#include &amp;lt;cr_section_macros.h&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#include "fsl_device_registers.h"&lt;/P&gt;&lt;P&gt;#include "pin_mux.h"&lt;/P&gt;&lt;P&gt;#include "board.h"&lt;/P&gt;&lt;P&gt;#include "stdint.h"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#include "DIALOG.h"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#include "GUI.h"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#include "stdio.h"&lt;/P&gt;&lt;P&gt;#include "stdlib.h"&lt;/P&gt;&lt;P&gt;#include "fsl_ctimer.h"&lt;/P&gt;&lt;P&gt;#include "fsl_sctimer.h"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include "board.h"&lt;/P&gt;&lt;P&gt;#include "peripherals.h"&lt;/P&gt;&lt;P&gt;#include "pin_mux.h"&lt;/P&gt;&lt;P&gt;#include "clock_config.h"&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdbool.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;string.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include "board.h"&lt;/P&gt;&lt;P&gt;#include "fsl_lcdc.h"&lt;/P&gt;&lt;P&gt;#include "fsl_i2c.h"&lt;/P&gt;&lt;P&gt;#include "fsl_usart.h"&lt;/P&gt;&lt;P&gt;#include "fsl_gpio.h"&lt;/P&gt;&lt;P&gt;#include &amp;lt;cr_section_macros.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include "fsl_iocon.h"&lt;/P&gt;&lt;P&gt;#include "pin_mux.h"&lt;/P&gt;&lt;P&gt;#include "fsl_sctimer.h"&lt;/P&gt;&lt;P&gt;#include "fsl_ctimer.h"&lt;/P&gt;&lt;P&gt;#include "fsl_rtc.h"&lt;/P&gt;&lt;P&gt;#include "peripherals.h"&lt;/P&gt;&lt;P&gt;#include "fsl_DualUart.h"&lt;/P&gt;&lt;P&gt;#include "fsl_sd.h"&lt;/P&gt;&lt;P&gt;#include "fsl_power.h"&lt;/P&gt;&lt;P&gt;#include "fsl_i2s.h"&lt;/P&gt;&lt;P&gt;#include "fsl_codec8814.h"&lt;/P&gt;&lt;P&gt;#include "fsl_dma.h"&lt;/P&gt;&lt;P&gt;#include "fsl_i2s_dma.h"&lt;/P&gt;&lt;P&gt;#include "fsl_enet.h"&lt;/P&gt;&lt;P&gt;#include "fsl_phy.h"&lt;/P&gt;&lt;P&gt;#include "fsl_inputmux.h"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define SDRAM_BASE_ADDR&amp;nbsp; 0xA0000000&lt;/P&gt;&lt;P&gt;#define GUI_BLOCKSIZE&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x128&lt;/P&gt;&lt;P&gt;#define CTIMER CTIMER3&lt;/P&gt;&lt;P&gt;#define VRAM_SIZE&amp;nbsp; (960000)&lt;/P&gt;&lt;P&gt;static volatile &lt;EM&gt;int32_t&lt;/EM&gt; s_LCDpendingBuffer = -1;&lt;/P&gt;&lt;P&gt;GUI_PID_STATE pid_state;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;static SemaphoreHandle_t xQueueMutex;&lt;/P&gt;&lt;P&gt;static SemaphoreHandle_t xSemaTxDone;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#include "board.h"&lt;/P&gt;&lt;P&gt;#include "peripherals.h"&lt;/P&gt;&lt;P&gt;#include "fsl_inputmux.h"&lt;/P&gt;&lt;P&gt;#include "pin_mux.h"&lt;/P&gt;&lt;P&gt;#include "clock_config.h"&lt;/P&gt;&lt;P&gt;#include "LPC54618.h"&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;stdbool.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include &amp;lt;string.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include "board.h"&lt;/P&gt;&lt;P&gt;#include "fsl_lcdc.h"&lt;/P&gt;&lt;P&gt;#include "fsl_i2c.h"&lt;/P&gt;&lt;P&gt;#include "fsl_usart.h"&lt;/P&gt;&lt;P&gt;#include "fsl_gpio.h"&lt;/P&gt;&lt;P&gt;#include "fsl_gint.h"&lt;/P&gt;&lt;P&gt;#include &amp;lt;cr_section_macros.h&amp;gt;&lt;/P&gt;&lt;P&gt;#include "pin_mux.h"&lt;/P&gt;&lt;P&gt;#include "fsl_sctimer.h"&lt;/P&gt;&lt;P&gt;#include "fsl_ctimer.h"&lt;/P&gt;&lt;P&gt;#include "fsl_rtc.h"&lt;/P&gt;&lt;P&gt;#include "fsl_RTC8563.h"&lt;/P&gt;&lt;P&gt;#include "peripherals.h"&lt;/P&gt;&lt;P&gt;#include "fsl_DualUart.h"&lt;/P&gt;&lt;P&gt;#include "fsl_sd.h"&lt;/P&gt;&lt;P&gt;#include "fsl_power.h"&lt;/P&gt;&lt;P&gt;#include "fsl_i2s.h"&lt;/P&gt;&lt;P&gt;#include "fsl_codec8814.h"&lt;/P&gt;&lt;P&gt;#include "fsl_dma.h"&lt;/P&gt;&lt;P&gt;#include "GUI.h"&lt;/P&gt;&lt;P&gt;#include "LCD.h"&lt;/P&gt;&lt;P&gt;#include "WM.h"&lt;/P&gt;&lt;P&gt;#include "stdint.h"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;extern&amp;nbsp; unsigned char&amp;nbsp;&amp;nbsp; GuiNumberofBytes[GUI_NUMBYTES];&lt;/P&gt;&lt;P&gt;extern unsigned short V_RamframeBuff[480000];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void APP_LCD_IRQHandler(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;uint32_t&lt;/EM&gt; intStatus = LCDC_GetEnabledInterruptsPendingStatus(APP_LCD);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCDC_ClearInterruptsStatus(APP_LCD, intStatus);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (intStatus &amp;amp; kLCDC_VerticalCompareInterrupt)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (s_LCDpendingBuffer &amp;gt;= 0)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Send a confirmation that the given buffer is visible */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GUI_MULTIBUF_Confirm(s_LCDpendingBuffer);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s_LCDpendingBuffer = -1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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; __DSB();&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;/P&gt;&lt;P&gt;* Application implemented functions required by emWin library&lt;/P&gt;&lt;P&gt;******************************************************************************/&lt;/P&gt;&lt;P&gt;void LCD_X_Config(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;///V_RamframeBuff size&amp;nbsp; is 960000 bytes&amp;nbsp; and allocated in external ram&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; status_t status;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GUI_MULTIBUF_Config(1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(GUI_DEVICE_CreateAndLink(GUIDRV_LIN_16, GUICC_M565, 0, 0))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD_SetSizeEx(0, 800, 600);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD_SetVSizeEx(0, 800, 600);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCD_SetVRAMAddrEx(0, (void *)V_RamframeBuff);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; status = APP_LCDC_Init();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (status != kStatus_Success)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;int LCD_X_DisplayDriver(unsigned LayerIndex, unsigned Cmd, void *p)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void GUI_X_Config(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i=0,j=0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char xyz[10];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ///GuiNumberofBytes size&amp;nbsp; is 2MB and allocated in external ram&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GUI_ALLOC_AssignMemory((unsigned char *)GuiNumberofBytes, GUI_NUMBYTES);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Select default font */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GUI_SetDefaultFont(GUI_FONT_6X8);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GUI_SetDefaultColor(GUI_BLACK);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; USART_WriteByte(NIBP_USART,'3');USART_WriteByte(NIBP_USART,'4');&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void GUI_X_Init(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*********************************************************************&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Multitasking:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GUI_X_InitOS()&lt;/P&gt;&lt;P&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; GUI_X_GetTaskId()&lt;/P&gt;&lt;P&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; GUI_X_Lock()&lt;/P&gt;&lt;P&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; GUI_X_Unlock()&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;* Note:&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp; The following routines are required only if emWin is used in a&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp; true multi task environment, which means you have more than one&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp; thread using the emWin API.&lt;/P&gt;&lt;P&gt;*&amp;nbsp;&amp;nbsp; In this case the&lt;/P&gt;&lt;P&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; #define GUI_OS&amp;nbsp; (1)&lt;/P&gt;&lt;P&gt;*&amp;nbsp; needs to be in GUIConf.h&lt;/P&gt;&lt;P&gt;*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*! @brief Init OS.Creates the resource semaphore or mutex typically used by GUI_X_Lock() and GUI_X_Unlock().*/&lt;/P&gt;&lt;P&gt;void GUI_X_InitOS(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // USART_WriteByte(NIBP_USART,'O');USART_WriteByte(NIBP_USART,'S');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Create a Mutex lock*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xQueueMutex = xSemaphoreCreateMutex();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; configASSERT(xQueueMutex !=&lt;EM&gt;NULL&lt;/EM&gt;);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vSemaphoreCreateBinary(xSemaTxDone);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; configASSERT(xSemaTxDone != &lt;EM&gt;NULL&lt;/EM&gt;);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'1');USART_WriteByte(NIBP_USART,'1');&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*! @brief Locks the GUI*/&lt;/P&gt;&lt;P&gt;void GUI_X_Lock(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'O');USART_WriteByte(NIBP_USART,'S');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xSemaphoreTake(xQueueMutex , portMAX_DELAY);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'1');USART_WriteByte(NIBP_USART,'2');&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*! @brief Unlocks the GUI */&lt;/P&gt;&lt;P&gt;void GUI_X_Unlock(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'O');USART_WriteByte(NIBP_USART,'S');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xSemaphoreGive(xQueueMutex);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'1');USART_WriteByte(NIBP_USART,'3');&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*! @brief Get the Task handle */&lt;/P&gt;&lt;P&gt;U32 GUI_X_GetTaskId(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ((&lt;EM&gt;uint32_t&lt;/EM&gt;)xTaskGetCurrentTaskHandle());&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void GUI_X_WaitEvent (void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'O');USART_WriteByte(NIBP_USART,'S');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while( xSemaphoreTake(xSemaTxDone, portMAX_DELAY ) != pdTRUE );&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'1');USART_WriteByte(NIBP_USART,'4');&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void GUI_X_SignalEvent (void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'O');USART_WriteByte(NIBP_USART,'S');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xSemaphoreGive( xSemaTxDone );&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'1');USART_WriteByte(NIBP_USART,'5');&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;void GUI_X_ExecIdle(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GUI_TIMER_TIME GUI_X_GetTime(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'O');USART_WriteByte(NIBP_USART,'S');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ((int) xTaskGetTickCount());&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'1');USART_WriteByte(NIBP_USART,'6');&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*! @brief Returns after a specified time period in milliseconds. */&lt;/P&gt;&lt;P&gt;void GUI_X_Delay(int ms)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'O');USART_WriteByte(NIBP_USART,'S');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vTaskDelay(ms);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //USART_WriteByte(NIBP_USART,'1');USART_WriteByte(NIBP_USART,'7');&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;void *emWin_memcpy(void *pDst, const void *pSrc, long size)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return &lt;EM&gt;memcpy&lt;/EM&gt;(pDst, pSrc, size);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;status_t APP_LCDC_Init(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Initialize the display.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdc_config_t lcdConfig;&lt;/P&gt;&lt;P&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdc_cursor_config_t cursorConfig;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCDC_GetDefaultConfig(&amp;amp;lcdConfig);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.panelClock_Hz = LCD_PANEL_CLK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.ppl = LCD_PPL;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.hsw = LCD_HSW; //LCD_HSW;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.hfp = LCD_HFP;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.hbp = LCD_HBP;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.lpp = LCD_LPP;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.vsw = LCD_VSW;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.vfp = LCD_VFP;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.vbp = LCD_VBP;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.polarityFlags = LCD_POL_FLAGS;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.upperPanelAddr = (unsigned int)V_RamframeBuff;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.bpp = kLCDC_16BPP565;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.display = kLCDC_DisplayTFT;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.swapRedBlue = true;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcdConfig.dataFormat = kLCDC_WinCeMode;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCDC_Init(APP_LCD, &amp;amp;lcdConfig, LCD_INPUT_CLK_FREQ);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCDC_EnableCursor(APP_LCD, false);// LCDC_EnableCursor(APP_LCD, true);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCDC_Start(APP_LCD);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LCDC_PowerUp(APP_LCD);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return kStatus_Success;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;we are using 800X600 10.4 inch lcd&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please help us to resolve the problem&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="IMG_20220725_181829.jpg" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/187713i87891BBDABC0D68F/image-size/large?v=v2&amp;amp;px=999" role="button" title="IMG_20220725_181829.jpg" alt="IMG_20220725_181829.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Managelinkerscript.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/187710i62145C3424342083/image-size/large?v=v2&amp;amp;px=999" role="button" title="Managelinkerscript.png" alt="Managelinkerscript.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MemoryDetails.jpg" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/187712i1BF6761C2FA2E027/image-size/large?v=v2&amp;amp;px=999" role="button" title="MemoryDetails.jpg" alt="MemoryDetails.jpg" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PreProcessors.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/187711iD05CE96EAE10C7BA/image-size/large?v=v2&amp;amp;px=999" role="button" title="PreProcessors.png" alt="PreProcessors.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please help us to resolve this issue as soon as possible because I am&amp;nbsp; already lagging too much on time&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Nithin N&lt;/P&gt;</description>
      <pubDate>Wed, 27 Jul 2022 07:48:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/emwin-deployment/m-p/1494839#M49685</guid>
      <dc:creator>nithin3200</dc:creator>
      <dc:date>2022-07-27T07:48:43Z</dc:date>
    </item>
  </channel>
</rss>

