|
|
  |
uC/GUI, нужна документация |
|
|
|
Feb 7 2011, 17:35
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 29-01-11
Пользователь №: 62 559

|
Цитата(qVlad @ Feb 7 2011, 19:37)  Извините, я вас не понимаю, наверное. Где я это должен был вызвать? Могу приложить LCDConf файл. мне тяжело транслитом писать. черз час из дома напишу
|
|
|
|
|
Feb 7 2011, 17:41
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 10-01-11
Из: Санкт-Петербург
Пользователь №: 62 125

|
Цитата(scorp2011 @ Feb 7 2011, 20:35)  мне тяжело транслитом писать. черз час из дома напишу Хорошо
|
|
|
|
|
Feb 7 2011, 19:01
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 29-01-11
Пользователь №: 62 559

|
Вообщем LCDConf.c должен в себе иметь void LCD_X_Config(void) в которой вы и указываете какой драйвер использовать и какие настройки у него будут. Мой пример void LCD_X_Config(void) уже имеет GUIDRV_LIN_32, тоесть вызывая GUI_DEVICE_CreateAndLink вы указываете тип драйвера. GUIDRV_LIN_32 это простой драйвер который использует ОЗУ, никакие дополнительные функции низкого уровня не нужны. Но для нормальной раьоты нужно указать еще палитру. У меня в примере это моя константа LCD_FIXEDPALETTE. Я 32bpp не использовал но думаю палитра GUICC_888 должна работать. Задайте поиск в h файлах какие палитры существуют и на месте разберётесь. void LCD_X_Config(void) должет кроме указания драйвера вызывать LCD_SetSizeEx(0, LCD_XSIZE, LCD_YSIZE); // Physical display size in pixels LCD_SetVSizeEx(0, LCD_XSIZE, LCD_YSIZE); // Virtual display size in pixels LCD_SetVRAMAddrEx(0, (void *)LCD_VRAM); // Video RAM start address Таким образом вы создаете свою LCD_X_Config. Всё это, хоть и не очень подробно, описано в PowerPac_GUI.ENU.pdf. Еще есть LCD_X_DisplayDriver(). Её вызывает GUI_Init() несколько раз с разными параметрами команды, смотри стр 620 описания. Тоесть вы создаете свою LCD_X_DisplayDriver() и определяете какая команда пришла и уже конфигурируете свой контроллер и сам дисплей на низком уровне(а не гдето отдельно от GUI). Кстати на странице 624 пример использования драйверов GUIDRV_LIN_х Если я опять не в тему написал, то выкладывайте свой LCDConf.c
|
|
|
|
|
Feb 7 2011, 19:08
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 10-01-11
Из: Санкт-Петербург
Пользователь №: 62 125

|
Цитата(scorp2011 @ Feb 7 2011, 22:01)  Вообщем LCDConf.c должен в себе иметь void LCD_X_Config(void) в которой вы и указываете какой драйвер использовать и какие настройки у него будут. Мой пример void LCD_X_Config(void) уже имеет GUIDRV_LIN_32, тоесть вызывая GUI_DEVICE_CreateAndLink вы указываете тип драйвера. GUIDRV_LIN_32 это простой драйвер который использует ОЗУ, никакие дополнительные функции низкого уровня не нужны. Но для нормальной раьоты нужно указать еще палитру. У меня в примере это моя константа LCD_FIXEDPALETTE. Я 32bpp не использовал но думаю палитра GUICC_888 должна работать. Задайте поиск в h файлах какие палитры существуют и на месте разберётесь. void LCD_X_Config(void) должет кроме указания драйвера вызывать LCD_SetSizeEx(0, LCD_XSIZE, LCD_YSIZE); // Physical display size in pixels LCD_SetVSizeEx(0, LCD_XSIZE, LCD_YSIZE); // Virtual display size in pixels LCD_SetVRAMAddrEx(0, (void *)LCD_VRAM); // Video RAM start address Таким образом вы создаете свою LCD_X_Config. Всё это, хоть и не очень подробно, описано в PowerPac_GUI.ENU.pdf. Еще есть LCD_X_DisplayDriver(). Её вызывает GUI_Init() несколько раз с разными параметрами команды, смотри стр 620 описания. Тоесть вы создаете свою LCD_X_DisplayDriver() и определяете какая команда пришла и уже конфигурируете свой контроллер и сам дисплей на низком уровне(а не гдето отдельно от GUI). Кстати на странице 624 пример использования драйверов GUIDRV_LIN_х Если я опять не в тему написал, то выкладывайте свой LCDConf.c Теперь все ясно, мы с вами описываем одни и те же действия только разными способами. А где вы указываете сколько битов на точку используется? Можете найти у себя файл с названием LCDLin32.с должен быть в папке LCDDrivers и посмотреть поддерживает ли он LCD_BITSPERPIXEL = 32
|
|
|
|
|
Feb 7 2011, 19:20
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 29-01-11
Пользователь №: 62 559

|
Цитата(qVlad @ Feb 7 2011, 23:08)  Теперь все ясно, мы с вами описываем одни и те же действия только разными способами. А где вы указываете сколько битов на точку используется? Можете найти у себя файл с названием LCDLin32.с должен быть в папке LCDDrivers и посмотреть поддерживает ли он LCD_BITSPERPIXEL = 32 Ну как я уже писал, 32 я не использовал, только 24. Надеюсь что поддерживает. Это легко проверить. Очистите экран, тоесть видео память, а потом выполните команду типа DrawPixel определлённого цвета. В дебагере остановитесь и посмотрите в каком формате GUI запишет точку. Потом вторую. Ну чтоб короче понять как дравер пишет. Тут одно из двух, или драйвер не правильно данные в видео память кладет, или конроллер не так память разворачивает. Кстати, а видеопамять куда поставили, в iRAM или SDRAM? Я пока в iRAM, а то картинка подёргивается. Думаю с ABH приоритетами подрулить чтоб контроллер имел доступ к памяти наивысшего приоритета.
|
|
|
|
|
Feb 7 2011, 19:24
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 10-01-11
Из: Санкт-Петербург
Пользователь №: 62 125

|
Цитата(scorp2011 @ Feb 7 2011, 22:20)  Ну как я уже писал, 32 я не использовал, только 24. Надеюсь что поддерживает. Это легко проверить. Очистите экран, тоесть видео память, а потом выполните команду типа DrawPixel определлённого цвета. В дебагере остановитесь и посмотрите в каком формате GUI запишет точку. Потом вторую. Ну чтоб короче понять как дравер пишет. Тут одно из двух, или драйвер не правильно данные в видео память кладет, или конроллер не так память разворачивает. Кстати, а видеопамять куда поставили, в iRAM или SDRAM? Я пока в iRAM, а то картинка подёргивается. Думаю с ABH приоритетами подрулить чтоб контроллер имел доступ к памяти наивысшего приоритета. Ну я так и определил, что у меня не поддерживается и прошу дать мне файлик, в котором поддержка реализована. Я использую SDRAM и отключаю кеширование для участка видео памяти. Все хорош ничего не дергается. Если не сложно вышлите сюда файлик vipryn@gmail.com
|
|
|
|
|
Feb 7 2011, 19:27
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 29-01-11
Пользователь №: 62 559

|
Цитата(qVlad @ Feb 7 2011, 23:24)  Ну я так и определил, что у меня не поддерживается и прошу дать мне файлик, в котором поддержка реализована. Я использую SDRAM и отключаю кеширование для участка видео памяти. Все хорош ничего не дергается. Если не сложно вышлите сюда файлик vipryn@gmail.com завтра поищу. А как кэширование отключаете?
|
|
|
|
|
Feb 7 2011, 19:32
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 10-01-11
Из: Санкт-Петербург
Пользователь №: 62 125

|
Цитата(scorp2011 @ Feb 7 2011, 22:27)  завтра поищу. А как кэширование отключаете? Я это делаю для Altera использую команды IOWR_32DIRECT для работы с памятью
|
|
|
|
|
Feb 8 2011, 08:58
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 29-01-11
Пользователь №: 62 559

|
Цитата(scorp2011 @ Feb 7 2011, 22:27)  завтра поищу. А как кэширование отключаете? не нашел я такого фаила. думаиу ети драивера зашити в библиотеки. сколько баит на пиксел получается сеичас?
|
|
|
|
|
Feb 8 2011, 09:04
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 10-01-11
Из: Санкт-Петербург
Пользователь №: 62 125

|
Цитата(scorp2011 @ Feb 8 2011, 11:58)  не нашел я такого фаила. думаиу ети драивера зашити в библиотеки. сколько баит на пиксел получается сеичас? Так у вас уже собранная либа без исходников что ли? По вашему методу не удалось собрать либу, при компиляции выдает ошибку, что не знает что это такое GUIDRV_LIN_32.
|
|
|
|
|
Feb 8 2011, 09:14
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 29-01-11
Пользователь №: 62 559

|
Цитата(qVlad @ Feb 8 2011, 12:04)  Так у вас уже собранная либа без исходников что ли? По вашему методу не удалось собрать либу, при компиляции выдает ошибку, что не знает что это такое GUIDRV_LIN_32. у меня без исходников #define GUIDRV_LIN_32 &GUIDRV_Lin_32_API находится в C:\Program Files\IAR Systems\Embedded Workbench 5.4\arm\PowerPac\GUI\Inc library GUIv5_5t_al__.a
|
|
|
|
|
Feb 8 2011, 09:18
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 10-01-11
Из: Санкт-Петербург
Пользователь №: 62 125

|
Цитата(scorp2011 @ Feb 8 2011, 12:14)  у меня без исходников #define GUIDRV_LIN_32 &GUIDRV_Lin_32_API находится в C:\Program Files\IAR Systems\Embedded Workbench 5.4\arm\PowerPac\GUI\Inc library GUIv5_5t_al__.a Не знает таких defines можете выслать на почту вашу версию или дать ссылку где можно скачать и документацию про которую вы говорили
|
|
|
|
|
Feb 8 2011, 09:53
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 29-01-11
Пользователь №: 62 559

|
Цитата(qVlad @ Feb 8 2011, 12:18)  Не знает таких defines можете выслать на почту вашу версию или дать ссылку где можно скачать и документацию про которую вы говорили тяжелыи 150М, качал отсюда но под другим паролем которыи сеичас не работает. попробуите тут http://caxapa.ru/219949.html
|
|
|
|
|
Feb 8 2011, 10:50
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 10-01-11
Из: Санкт-Петербург
Пользователь №: 62 125

|
Цитата(scorp2011 @ Feb 8 2011, 12:53)  тяжелыи 150М, качал отсюда но под другим паролем которыи сеичас не работает. попробуите тут http://caxapa.ru/219949.htmlДоступ есть, а какой именно ставить. Нашел GUI под ARM base 2.40.2 но его самого не нашел.а без него он не ставится Возможно этот EWARM-610.3-full
|
|
|
|
|
Feb 8 2011, 14:00
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 29-01-11
Пользователь №: 62 559

|
Цитата(qVlad @ Feb 8 2011, 13:50)  Доступ есть, а какой именно ставить. Нашел GUI под ARM base 2.40.2 но его самого не нашел.а без него он не ставится
Возможно этот
EWARM-610.3-full Да, к сожалению это уже новыи PowerPac na IAR 6.10
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|