외부 SRAM 을 사용 하 는 방법
저 는 stm 32 를 사용 하고 1MB 의 외부 SRAM 을 추 가 했 습 니 다. emWin 을 사용 할 때 일부 메모 리 를 emWin 에 할당 하여 사용 합 니 다.사실 방법 은 매우 간단 합 니 다. SRAM 데이터 버스 주 소 를 입력 하면 됩 니 다. 데이터 의 위치 가 넓 고 저 는 16bit 를 사용 합 니 다. 왜냐하면 사용 하 는 SRAM 은 16bit 이기 때문에 이렇게 하 는 것 이 적당 합 니 다.ARM 9 이상 의 플랫폼 에서 사용 하면 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: [email protected] *
* *
**********************************************************************
** 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 ****************************/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
데이터 지향 설계(Data Oriented Design)에서의 게임 개발에 대해서게임 개발을 할 때의 생각에는 데이터 지향 설계(Data Oriented Design)라는 것이 있습니다. 지난 수십 년 동안 CPU 성능이 1만배 이상인 반면 메모리 성능은 10배 미만밖에 되지 않았습니다. 또한 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.