轉載請注明地址:http://blog.csdn.net/zsy2020314/article/details/9313093
我用的是stm32,加了1MB的外部SRAM,在使用emWin的時候,將一部分內存分配給emWin使用。其實方法很簡單,傳入SRAM數據總線地址即可,數據位寬我采用16bit,因為使用的SRAM是16bit的,這樣做比較合適。如果是在ARM9及以上的平台上使用,依葫蘆畫瓢的把DDRAM的物理地址傳入emWin即可,不過地址位寬一般是32位的,大小由自己決定。
- /*********************************************************************
- * SEGGER Microcontroller GmbH & Co. KG *
- * Solutions for real time microcontroller applications *
- **********************************************************************
- * *
- * (c) 1996 - 2013 SEGGER Microcontroller GmbH & Co. KG *
- * *
- * Internet: www.segger.com Support: support@segger.com *
- * *
- **********************************************************************
- ** emWin V5.18 - 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 NXP Semiconductors USA, Inc. whose
- registered office is situated at 411 E. Plumeria Drive, San Jose,
- CA 95134, USA solely for the purposes of creating libraries for
- NXPs M0, M3/M4 and ARM7/9 processor-based devices, sublicensed and
- distributed under the terms and conditions of the NXP End User License
- Agreement.
- 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------------------------------
- */
- #include "GUI.h"
- #include "SRAM_Driver.h"
- /*********************************************************************
- *
- * Defines
- *
- **********************************************************************
- */
- //
- // Define the available number of bytes available for the GUI
- //
- #define Bank1_SRAM3_ADDR ((u32)0x68000000)
- #define GUI_NUMBYTES (1024*700)
- //
- // Define the average block size
- //
- #define GUI_BLOCKSIZE 0x80
- /*********************************************************************
- *
- * Public code
- *
- **********************************************************************
- */
- /*********************************************************************
- *
- * 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) {
- //
- // 16 bit aligned memory area
- //
- volatile U16* aMemory = (volatile U16*)(Bank1_SRAM3_ADDR);
- //
- // Assign memory to emWin
- //
- GUI_ALLOC_AssignMemory((void*)aMemory, GUI_NUMBYTES);
- GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE);
- //
- // Set default font
- //
- GUI_SetDefaultFont(GUI_FONT_6X8);
- }
- /*************************** End of file ****************************/