Страницы

Страницы

воскресенье, 19 февраля 2017 г.

GUI

Добавление STemWin в проект.

1 - из папки STemWin_Library_V1.2.0  ->   Library   ->   STemWinLibrary532  добавить файл              библиотеки      STemWin532_CM4_Keil.lib                   для проекта без RTOS
                               STemWin532_CM4_OS_Keil.lib            для RTOS

2 - из папки STemWin_Library_V1.2.0  ->   Library   ->   STemWinLibrary532  -> inc  добавить            все заголовочные h файлы. с прототипами функций из lib файла

- из папки STemWin_Library_V1.2.0  ->   Library   ->   STemWinLibrary532  -> Config добавить
     файлы конфигурации GUI
                   GUIConf.c
                   GUIConf.h
     и дисплея
     для дисплеев без контроллера LTDC (RGB)
                   LCDConf_Lin_Template.c
                   LCDConf_Lin_Template.h
     для дисплеев с контроллером
                   LCDConf_FlexColor_Template.c
                   LCDConf_FlexColor_Templateh

- из папки STemWin_Library_V1.2.0  ->   Library   ->   STemWinLibrary532  -> OS добавить
                   GUI_X.c                   для проекта без RTOS
                   GUI_X_OS.c            для RTOS

Для Keil библиотека emWin находится в папке
Keil -> ARM -> PACK -> Keil-Middleware  -> 7.4.0 -> emWin

The function GUI_Init() calls the functions (please make sure those functions to not cause the hard fault)

1 - GUI_X_Config()
2 - LCD_X_Config()
3 - LCD_X_DisplayDriver() -  которая вызывает при первом обращении процедуру настройки и инициализации дисплея
4 - GUI_X_Init



#if defined (STM32F429X)
#define GUI_NUMBYTES  (1024) *  96    // x KByte
#elif defined (STM32F40XX) || defined (STM32F2XX) || defined (STM32F10X_HD_VL)
#define GUI_NUMBYTES  (1024) *  512   // x KByte
#elif defined (STM32F10X_HD)
#define GUI_NUMBYTES  (1024) *  53   // x KByte
#elif defined (STM32F10X_MD)
#define GUI_NUMBYTES  (1024) *  10   // x KByte
#elif defined (STM32F10X_MD_VL) || defined (STM32F0XX)
#define GUI_NUMBYTES  (1024) *  3   // x KByte
#elif defined (STM32F30X)
#define GUI_NUMBYTES  (1024) *  25   // x KByte
#elif defined (STM32F37X)
#define GUI_NUMBYTES  (1024) *  22   // x KByte
#elif defined (STM32L1XX_HD)
#define GUI_NUMBYTES  (1024) *  35   // x KByte
#elif defined (STM32L1XX_MD)
#define GUI_NUMBYTES  (1024) *  6   // x KByte
#else
#define GUI_NUMBYTES  (1024) *  40   // x KByte
#endif


 GUIConf.h

/* 32 bit aligned memory area */
U32 extMem[GUI_NUMBYTES / 4];

Для размещения рабочего буфера STemWin адресам SDRAM

/* 32 bit aligned memory area */
#ifdef __ICCARM__
#pragma location=0x68000000
static __no_init U32 extMem[GUI_NUMBYTES / 4];
#elif defined (__CC_ARM)
static U32 extMem[GUI_NUMBYTES / 4] __attribute__((at(0x68000000)));
#elif defined (__GNUC__)
static U32 extMem[GUI_NUMBYTES / 4] __attribute__((section(".ExtRAMData")));
#endif   

Есть в демо STemWin

Адрес подставить, где размещена SDRAM



Комментариев нет:

Отправить комментарий