Добрый день, товарищи
Раскуриваю даташиты и разнообразные примеры, в том числе и на забугорных сайтах, уже больше недели, но скорость продвижения только замедляется.
Помогите, пожалуйста.
Имеется плата HY-Mini STM32V, купленная на ибее. Выбрал ее за такой комплекс периферии:
Контроллер STM32F103VCT6
Дисплей 320х240, 65536 цветов на контроллере SSD1289, подключенный по 16bit параллельному FSMC интерфейсу
Тачскрин на контроллере ADS7843 (по SPI подключен).
Слот microSD и прочее...
Скачал библиотеку STemGUI с офф. сайта ST Microelectronics. В процессе чтения даташита на эту библиотеку стало понятно, что это известная платная библиотека emGUI, похоже купленная ST и выложенная свободно, возможно, в какой-то ограниченной комплектации, но драйвер для распространенных контроллеров SSD1289 у ней в комплекте. И находится он там в файле LCDConf_FlexColor_Template.
На сайте производителя этой отладочной платы я нашел разнообразные примеры, в том числе и STemGUI, он компилируется, но не работает. Судя по всему его код не полностью портирован с одной из официальных отладочных ST'шных плат на эту, и, кроме того, библиотека, предлагаемая ST, сейчас уже откомпилирована в lib-файл, а этот пример - нет, и в итоге мало чего общего в них я заметил.
Прилагаю к этому посту код моего проекта в Keil4, и даташиты железа.
Помогите, пожалуйста, разобраться куда в этой библиотеке вписать адреса памяти для работы с LCD по FSMC, буду очень признателен, если покажете в каком месте даташита к контроллеру SSD1289 указаны конкретные адреса его памяти. И где в этой библиотеке настраиваются пины контроллера, к которым подключен LCD и Тач.
Сейчас мой проект при компиляции выдает следующие ошибки:
Error: L6406E: No space in execution regions with .ANY selector matching guiconf.o(.bss).
Error: L6407E: Sections of aggregate size 0x800000 bytes could not fit into .ANY selector(s).
Т.е. я так понимаю, первая проблема - это не настроенные адреса памяти вообще,
есть мысль, что настраиваются они вот здесь, в файле GUIConf.c:
#define GUI_NUMBYTES 0x200000
void GUI_X_Config(void) {
//
// 32 bit aligned memory area
//
static U32 aMemory[GUI_NUMBYTES / 4];
//
// Assign memory to emWin
//
GUI_ALLOC_AssignMemory(aMemory, GUI_NUMBYTES);
//
// Set default font
//
GUI_SetDefaultFont(GUI_FONT_6X8);
}
Изменение значения GUI_NUMBYTES на наличие ошибок влияния не дает.
Файлы моего проекта с библиотеками скачать можно здесь:
STemWinProject.rar
HY32D_LCD_module_schematic.pdf
HY_MiniSTM32V_SCH.pdf