|
В тексте драйвера есть конструкция
#ifndef LCD_CACHE
#define LCD_CACHE (1)
#endif
Пробовал писать
#define LCD_CACHE (0) в LCDConf.h - размер кода не меняется.
Компилирую прогу для Мега128:
#define LCD_XSIZE (128)
#define LCD_YSIZE (64)
#define LCD_CONTROLLER (1335)
#define LCD_BITSPERPIXEL (1)
...
#define GUI_OS (0)
#define GUI_SUPPORT_TOUCH (0)
#define GUI_SUPPORT_UNICODE (0)
#define GUI_DEFAULT_FONT &GUI_Font6x8
#define GUI_ALLOC_SIZE 100
#define GUI_WINSUPPORT 0
#define GUI_SUPPORT_MEMDEV 0
#define GUI_SUPPORT_AA 0
...
#include 7 422 bytes of CODE memory (+ 136 range fill ) Это полностью соответствует описанию драйвера:
E-mail:
info@telesys.ru
#include "GUI.H"
void main(void) {
GUI_Init();
while(1);
}
Результат компиляции
IAR Universal Linker V4.56F/386
Copyright 1987-2003 IAR Systems. All rights reserved.
3 436 bytes of DATA memory (+ 6 absolute )
Если поставить размер экрана 320х240 (то что мне нужно), результат:
IAR Universal Linker V4.56F/386
Copyright 1987-2003 IAR Systems. All rights reserved.
Error[e16]: Segment NEAR_Z (size: 0x25aa align: 0) is too long for segment definition. At least 0x15aa more bytes needed.
The amount of memory used by the cache may be calculated as follows:
Size of RAM (in bytes) = (LCD_XSIZE + 7) / 8 * LCD_YSIZE
Ответы