|
запустим GUI emWin вместе?, запуск полноценной графической оболочки на LPC1788 |
|
|
|
Nov 22 2012, 13:19
|
Частый гость
 
Группа: Участник
Сообщений: 87
Регистрация: 15-08-09
Пользователь №: 51 904

|
Всем привет! Пытаюсь запустить графическую оболочку emWin на микроконтроллере LPC1788 и 7-ми дюймовом TFT. Библиотека emWin для нас, пользователей NXP уже более года как стала бесплатной. Так давайте же ей воспользуемся! Итак, идея моя такова. Я создал проект с нуля, запустил SDRAM и TFT, пользуясь примерами производителя платы. Теперь хочу запустить emWin, но не знаю как. Я буду выкладывать сюда проекты вплоть до того момента, когда все заработает. Если кто-то из профессионалов подскажет как запустить GUI быстро и правильно, я буду очень благодарен. Так или иначе, в результате у участников форума будет готовый, хорошо комментированный проект. Можно брать и пользоваться. Железо. Пользуюсь платой Starterkit под названием SK-MLPC1788 и дисплеем SK-ATM0700D4, 7 дюймов, 800*480 точек. Компилятор Keil MDK-ARM 4.60. Русский язык, кстати, у меня уже поддерживается. Могу рассказать как это сделать. Отладчик - клон J-link с firmware v.8. На данный момент проект содержит: все необходимые настройки проекта, включая подключение внешней памяти, опции отладчика и т.д., инициализацию проца, инициализацию SDRAM, ее тестирование, инициализацию TFT контроллера и пробный вывод текстовой строки на дисплей. Все работает. Далее, я подключил все (как мне кажется) по части emWin, но результата не видно. Видимо, что-то с конфигурированием библиотеки. Буду рад любой помощи. Проект во вложении.
|
|
|
|
3 страниц
1 2 3 >
|
 |
Ответов
(1 - 14)
|
Nov 23 2012, 10:34
|
Частый гость
 
Группа: Участник
Сообщений: 87
Регистрация: 15-08-09
Пользователь №: 51 904

|
Цитата(Lotor @ Nov 23 2012, 14:13)  Надеюсь автор топика слышал про lpcware.comДа, конечно. Я располагаю большим количеством примеров. Пишу в приглядку. Тем не менее, пока результата нет. Хотя кое-какие ошибки обнаружил. В любом случае, результат (рабочая GUI) будет сюда выложена. На данный момент затык очень простой - исключение HardFault_Handler. Причина не ясна. Исключение возникает при вызове GUI_Init(). Буду рад, если кто-нибудь подскажет, на что обратить внимание. Я с исключениями сталкивался только однажды. Была попытка работы с периферией, которая была отключена. Здесь - что-то другое.
Сообщение отредактировал Dunduk - Nov 23 2012, 11:20
|
|
|
|
|
Nov 23 2012, 11:45
|
Частый гость
 
Группа: Участник
Сообщений: 87
Регистрация: 15-08-09
Пользователь №: 51 904

|
Цитата(AlexandrY @ Nov 23 2012, 15:33)  Это же просто библиотека без исходников! Мало смысла с ней иметь дело. Я знаю, вы на GUI уже собаку съели. Скажите, что значит "без исходников" с точки зрения ее использования? Я смогу подключать свои шрифты? Видоизменять виджеты? Если нет, конечно, я лучше возьму micrium. Вроде была она где-то версии 3.98, кажется. Впрочем, процесс инициализации там очень похож. А значит, все те же вопросы у меня возникнут и там.
|
|
|
|
|
Nov 30 2012, 11:31
|
Частый гость
 
Группа: Участник
Сообщений: 87
Регистрация: 15-08-09
Пользователь №: 51 904

|
не прошло и полгода как появились первые признаки жизни emWin. Выкладываю. Причины, почему не работало: Мне не удалось правильно передать GUI адрес для видеобуфера. Пришлось сделать это также криво как в одном из фирменных (NXP+Segger) примерах, а именно (см LCDConf.c) Код #define VRAM_ADDR_PHYS (U32)&_aVRAM[0] __align(8) static U32 _aVRAM[XSIZE_PHYS * YSIZE_PHYS / (4 / PIXEL_WIDTH)] __attribute__ ((section ("VRAM"), zero_init)); и еще см. GUIConf.c: Код U32 static _aMemory[GUI_NUMBYTES / 4] __attribute__ ((section ("GUI_RAM"), zero_init)); //... GUI_ALLOC_AssignMemory(_aMemory, GUI_NUMBYTES); Конечно, при этом необходимо чтобы линкер знал, что такое VRAM и GUI_RAM. Потому что эта собака прекрасный линкер не ругается в том случае, если эти значения не определены. Поэтому Scatter-файл необходимо изменить, т.е. определить то место куда кладется буфер. Все пока. На очереди - запуск системного тика для GUI (TimeMS) и потом подключаем тачскрин. До связи!
Сообщение отредактировал Dunduk - Nov 30 2012, 11:33
|
|
|
|
|
Dec 25 2012, 14:52
|
Участник

Группа: Участник
Сообщений: 60
Регистрация: 16-06-05
Пользователь №: 6 074

|
В Keil MDK-ARM 4.60 встроена emWin. Цитата emWin is delivered as an add-on product to MDK-ARM
|
|
|
|
|
Dec 31 2012, 07:16
|
Участник

Группа: Участник
Сообщений: 60
Регистрация: 16-06-05
Пользователь №: 6 074

|
Цитата(haker_fox @ Dec 27 2012, 17:13)  Да, но его нужно конфигурировать) Да, думаю хелпа и примеров должно хватить. После праздников буду этим заниматся.
|
|
|
|
|
Jan 3 2013, 12:15
|
Частый гость
 
Группа: Участник
Сообщений: 181
Регистрация: 26-07-10
Пользователь №: 58 606

|
Цитата(Dunduk @ Nov 30 2012, 15:31)  не прошло и полгода как появились первые признаки жизни emWin. Выкладываю. ... Спасибо. Хочу для себя оценить удобства и недостатки emWin. Имею аналогичное железо (SK-MLPC1788 и TFT 7”). Несколько вопросов по настройке LCD в проекте emWin_test_301112 (файл TFT_ATM07_drv.h ) 1. Из каких соображений выбираются значения: #define C_GLCD_H_PULSE 60 … #define C_GLCD_V_PULSE 1 2. Где в проекте используются или для чего определяются: #define C_GLCD_CLK_PER_LINE …. #define C_GLCD_LINES_PER_FRAME …. #define C_GLCD_PIX_CLK ….. 3. Какой частотой мы тактируем данные пикселей? 4. Какая частота обновления экрана? 5. Почему LPC_IOCON->P2_1 = 0x20; ,а не =0x27 (файл TFT_ATM07_drv.c)?
Сообщение отредактировал skyv - Jan 3 2013, 13:20
|
|
|
|
|
Jan 3 2013, 12:21
|
Частый гость
 
Группа: Участник
Сообщений: 87
Регистрация: 15-08-09
Пользователь №: 51 904

|
Цитата(skyv @ Jan 3 2013, 16:15)  Несколько вопросов по настройке LCD в проекте emWin_test_301112 Погодите, щас на рыбалку собираюсь, после праздников расскажу. Я сам мало чего там писал, мой метод - осознанный copy-paste.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|