text: /*********************************************************************
  *                SEGGER Microcontroller GmbH & Co. KG                *
  *        Solutions for real time microcontroller applications        *
  **********************************************************************
  *                                                                    *
  *        (c) 1996 - 2017  SEGGER Microcontroller GmbH & Co. KG       *
  *                                                                    *
  *        Internet: www.segger.com    Support:  support@segger.com    *
  *                                                                    *
  **********************************************************************
  
  ** emWin V5.44 - Graphical user interface for embedded applications **
  All  Intellectual Property rights  in the Software belongs to  SEGGER.
  emWin is protected by  international copyright laws.  Knowledge of the
  source code may not be used to write a similar product.  This file may
  only be used in accordance with the following terms:
  
  The  software has  been licensed  to STMicroelectronics International
  N.V. a Dutch company with a Swiss branch and its headquarters in Plan-
  les-Ouates, Geneva, 39 Chemin du Champ des Filles, Switzerland for the
  purposes of creating libraries for ARM Cortex-M-based 32-bit microcon_
  troller products commercialized by Licensee only, sublicensed and dis_
  tributed under the terms and conditions of the End User License Agree_
  ment supplied by STMicroelectronics International N.V.
  Full source code is available at: www.segger.com
  
  We appreciate your understanding and fairness.
  ----------------------------------------------------------------------
  File        : GUIConf.c
  Purpose     : Display controller initialization
  ---------------------------END-OF-HEADER------------------------------
  */
  
  /**
    ******************************************************************************
    * @attention
    *
    * <h2><center>&copy; Copyright (c) 2018 STMicroelectronics. 
    * All rights reserved.</center></h2>
    *
    * This software component is licensed by ST under Ultimate Liberty license SLA0044,
    * the "License"; You may not use this file except in compliance with the License.
    * You may obtain a copy of the License at:
    *                      http://www.st.com/SLA0044
    *
    ******************************************************************************
    */
  
  #include "GUI.h"
  #define USB_EXTMEM 1   //使用外部RAM
  /*********************************************************************
  *
  *       Defines
  *
  **********************************************************************
  */
  //
  // Define the available number of bytes available for the GUI
  //
  
  #ifdef USB_EXTMEM
  #define GUI_NUMBYTES  (1024*1024*2)  //x bytes
  #define GUI_EXTBUFADD (0xD0800000-GUI_NUMBYTES)
  #else
  #define GUI_NUMBYTES  0x200000
  #endif 
  
  
  /*********************************************************************
  *
  *       Static data
  *
  **********************************************************************
  */
  #ifdef USB_EXTMEM
    U32 HeapMem[GUI_NUMBYTES/4] __attribute__((at(GUI_EXTBUFADD)));
  #else
    static U32 extMem[GUI_NUMBYTES / 4];
  #endif
  
  
  /*********************************************************************
  *
  *       Public code
  *
  **********************************************************************
  */
  #ifdef USB_EXTMEM
  /*********************************************************************
  *
  *       Get_ExtMemHeap
  *
  * Purpose:
  *   Allocate heap from external memory
  */
  U32* Get_ExtMemHeap (void)
  {
    return HeapMem;
  }
  #endif
  
  
  /*********************************************************************
  *
  *       GUI_X_Config
  *
  * Purpose:
  *   Called during the initialization process in order to set up the
  *   available memory for the GUI.
  */
  void GUI_X_Config(void) {
    //
    // 32 bit aligned memory area
    //
    //static U32 aMemory[GUI_NUMBYTES / 4];
    //
    // Assign memory to emWin
    //
  	#ifdef USB_EXTMEM
  	GUI_ALLOC_AssignMemory(HeapMem, GUI_NUMBYTES);
  	#else
    GUI_ALLOC_AssignMemory(extMem, GUI_NUMBYTES);
  	#endif
    //
    // Set default font
    //
    GUI_SetDefaultFont(GUI_FONT_6X8);
  }
  
  /*************************** End of file ****************************/
  