Перейти к содержанию
    

Извините, я вас не понимаю, наверное. Где я это должен был вызвать? Могу приложить LCDConf файл.

мне тяжело транслитом писать. черз час из дома напишу

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

мне тяжело транслитом писать. черз час из дома напишу

Хорошо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообщем 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообщем 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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теперь все ясно, мы с вами описываем одни и те же действия только разными способами. А где вы указываете сколько битов на точку используется? Можете найти у себя файл с названием LCDLin32.с должен быть в папке LCDDrivers и посмотреть поддерживает ли он LCD_BITSPERPIXEL = 32

Ну как я уже писал, 32 я не использовал, только 24. Надеюсь что поддерживает. Это легко проверить. Очистите экран, тоесть видео память, а потом выполните команду типа DrawPixel определлённого цвета. В дебагере остановитесь и посмотрите в каком формате GUI запишет точку. Потом вторую. Ну чтоб короче понять как дравер пишет. Тут одно из двух, или драйвер не правильно данные в видео память кладет, или конроллер не так память разворачивает. Кстати, а видеопамять куда поставили, в iRAM или SDRAM? Я пока в iRAM, а то картинка подёргивается. Думаю с ABH приоритетами подрулить чтоб контроллер имел доступ к памяти наивысшего приоритета.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну как я уже писал, 32 я не использовал, только 24. Надеюсь что поддерживает. Это легко проверить. Очистите экран, тоесть видео память, а потом выполните команду типа DrawPixel определлённого цвета. В дебагере остановитесь и посмотрите в каком формате GUI запишет точку. Потом вторую. Ну чтоб короче понять как дравер пишет. Тут одно из двух, или драйвер не правильно данные в видео память кладет, или конроллер не так память разворачивает. Кстати, а видеопамять куда поставили, в iRAM или SDRAM? Я пока в iRAM, а то картинка подёргивается. Думаю с ABH приоритетами подрулить чтоб контроллер имел доступ к памяти наивысшего приоритета.

 

Ну я так и определил, что у меня не поддерживается и прошу дать мне файлик, в котором поддержка реализована. Я использую SDRAM и отключаю кеширование для участка видео памяти. Все хорош ничего не дергается.

Если не сложно вышлите сюда файлик [email protected]

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну я так и определил, что у меня не поддерживается и прошу дать мне файлик, в котором поддержка реализована. Я использую SDRAM и отключаю кеширование для участка видео памяти. Все хорош ничего не дергается.

Если не сложно вышлите сюда файлик [email protected]

завтра поищу. А как кэширование отключаете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

завтра поищу. А как кэширование отключаете?

 

Я это делаю для Altera использую команды IOWR_32DIRECT для работы с памятью

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

завтра поищу. А как кэширование отключаете?

не нашел я такого фаила. думаиу ети драивера зашити в библиотеки. сколько баит на пиксел получается сеичас?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не нашел я такого фаила. думаиу ети драивера зашити в библиотеки. сколько баит на пиксел получается сеичас?

 

Так у вас уже собранная либа без исходников что ли?

По вашему методу не удалось собрать либу, при компиляции выдает ошибку, что не знает что это такое GUIDRV_LIN_32.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так у вас уже собранная либа без исходников что ли?

По вашему методу не удалось собрать либу, при компиляции выдает ошибку, что не знает что это такое 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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у меня без исходников

#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 можете выслать на почту вашу версию или дать ссылку где можно скачать и документацию про которую вы говорили

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знает таких defines можете выслать на почту вашу версию или дать ссылку где можно скачать и документацию про которую вы говорили

тяжелыи 150М, качал отсюда но под другим паролем которыи сеичас не работает. попробуите тут

http://caxapa.ru/219949.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тяжелыи 150М, качал отсюда но под другим паролем которыи сеичас не работает. попробуите тут

http://caxapa.ru/219949.html

 

Доступ есть, а какой именно ставить. Нашел GUI под ARM base 2.40.2 но его самого не нашел.а без него он не ставится

 

Возможно этот

 

EWARM-610.3-full

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доступ есть, а какой именно ставить. Нашел GUI под ARM base 2.40.2 но его самого не нашел.а без него он не ставится

 

Возможно этот

 

EWARM-610.3-full

Да, к сожалению это уже новыи PowerPac na IAR 6.10

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...