реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Оптимизирование DMA в AP7, Заточка под LCD-контролер
Snegovik86
сообщение Apr 13 2010, 08:16
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 16-02-10
Пользователь №: 55 519



Доброго времени суток!
В наличии имеется NGW100, JTAGICE mkII, ЦАП переходник с TLL на VGA (ADV7125 как на STK1000)
Передо мной стоит задача, сконфигурировать LCD-контероллер AP7 на разрешение 1024x768x70Гц, глубину цветности 8 бит и добиться стабильной работы.
Первое что сделал, перевёл AP7 на частоту 150МГц переделав и залив U-boot. Т.к. необходимо добиться 75Мгц PixelClock.
Buildroot 2.3.0 отконфигурировал под evklcd101, поменяв необходимые значения согласно AVR32114 и VESA стандарту. При загрузке выдаётся примерно следующее:
CODE
msgmni has been set to 47
io scheduler noop registered
io scheduler cfq registered (default)
atmel_lcdfb atmel_lcdfb.0: 6300KiB frame buffer at 10400000 (mapped at b0400000)
atmel_lcdfb atmel_lcdfb.0: fb0: Atmel LCDC at 0xff000000 (mapped at ff000000), irq 1
atmel_lcdfb atmel_lcdfb.0: FIFO underflow 0x10
atmel_lcdfb atmel_lcdfb.0: FIFO underflow 0x10
atmel_lcdfb atmel_lcdfb.0: FIFO underflow 0x10
atmel_usart.0: ttyS0 at MMIO 0xffe01000 (irq = 7) is a ATMEL_SERIAL
atmel_lcdfb atmel_lcdfb.0: FIFO underflow 0x10
atmel_lcdfb atmel_lcdfb.0: FIFO underflow 0x10
atmel_lcdfb atmel_lcdfb.0: FIFO underflow 0x10
atmel_lcdfb atmel_lcdfb.0: FIFO underflow 0x10
atmel_lcdfb atmel_lcdfb.0: FIFO underflow 0x10

Но Linux загружается и даже работает, но синхронизация пропадает вследствии чего монитор теряет сигнал и гаснет.
В Apnote AVR32416 сказано что для надёжной работы LCD-контроллера необходимо его сделать главным, добавив строки
CODE
hmatrix_writel(SCFG4, HMATRIX_BIT(ARBT)
| HMATRIX_BF(FIXED_DEFMSTR, 0x5)
| HMATRIX_BF(SLOT_CYCLE, 0x10)
| HMATRIX_BF(DEFMSTR_TYPE, HMATRIX_DEFMSTR_TYPE_FIXED_DEFAULT));
hmatrix_writel(PRAS4, HMATRIX_BF(M5PR, 0xF));

в файл at32ap700x.c в функцию настроек LCD-контроллера.
При добавлении в начало функции at32_add_device_lcdc, как сказано на www.avrfreaks.net, при компиляции выдаёт следующе
CODE
CC arch/avr32/mach-at32ap/at32ap700x.o
arch/avr32/mach-at32ap/at32ap700x.c: In function 'at32_add_device_lcdc':
arch/avr32/mach-at32ap/at32ap700x.c:1487: error: implicit declaration of function 'hmatrix_writel'
arch/avr32/mach-at32ap/at32ap700x.c:1487: error: 'SCFG4' undeclared (first use in this function)
arch/avr32/mach-at32ap/at32ap700x.c:1487: error: (Each undeclared identifier is reported only once
arch/avr32/mach-at32ap/at32ap700x.c:1487: error: for each function it appears in.)
arch/avr32/mach-at32ap/at32ap700x.c:1487: error: implicit declaration of function 'HMATRIX_BIT'
arch/avr32/mach-at32ap/at32ap700x.c:1487: error: 'ARBT' undeclared (first use in this function)
arch/avr32/mach-at32ap/at32ap700x.c:1488: error: implicit declaration of function 'HMATRIX_BF'
arch/avr32/mach-at32ap/at32ap700x.c:1488: error: 'FIXED_DEFMSTR' undeclared (first use in this function)
arch/avr32/mach-at32ap/at32ap700x.c:1489: error: 'SLOT_CYCLE' undeclared (first use in this function)
arch/avr32/mach-at32ap/at32ap700x.c:1490: error: 'DEFMSTR_TYPE' undeclared (first use in this function)
arch/avr32/mach-at32ap/at32ap700x.c:1490: error: 'HMATRIX_DEFMSTR_TYPE_FIXED_DEFAULT' undeclared (first use in this function)
arch/avr32/mach-at32ap/at32ap700x.c:1491: error: 'PRAS4' undeclared (first use in this function)
arch/avr32/mach-at32ap/at32ap700x.c:1491: error: 'M5PR' undeclared (first use in this function)
make[2]: *** [arch/avr32/mach-at32ap/at32ap700x.o] Ошибка 1
make[1]: *** [arch/avr32/mach-at32ap] Ошибка 2
make[1]: Выход из каталога `/home/avr32/buildroot-avr32-v2.3.0/project_build_avr32/evklcd101/linux-2.6.27.6'
make: *** [/home/avr32/buildroot-avr32-v2.3.0/project_build_avr32/evklcd101/linux-2.6.27.6/arch/avr32/boot/images/uImage] Ошибка 2

Я понимаю что чего то не хватает, но чего именно...
Кто-нибудь сталкивался с подобной проблемой и как её решили.
Если есть такие счастливщики, помогите.
А если нет дайте дельный совет! laughing.gif
Зарание спасибо!
Go to the top of the page
 
+Quote Post
jasper
сообщение Apr 13 2010, 09:49
Сообщение #2


Народный чинитель
***

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



Не может найти функцию hmatrix_writel и все остальное.
Думаю, эта функция из фрэймворка. Надо ее там найти и подключить соответствующую библиотеку.
Go to the top of the page
 
+Quote Post
Snegovik86
сообщение Apr 13 2010, 11:57
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 16-02-10
Пользователь №: 55 519



Я уже всю голову сломал... smile3046.gif Но даже малейшего представления не имею где такая функция может быть или как изменить приоритеты устройств AP7.
Этой функции не нашёл не во фреймвоке ни в ядре ни в билруте.
Go to the top of the page
 
+Quote Post
jasper
сообщение Apr 13 2010, 13:23
Сообщение #4


Народный чинитель
***

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



Судя по имени должна лежать в hmatrix.h
Go to the top of the page
 
+Quote Post
Snegovik86
сообщение May 13 2010, 11:34
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 16-02-10
Пользователь №: 55 519



Супостаты проклятые...
Оказывается надо вписать этот код:
CODE
hmatrix_write(SCFG[4], HMATRIX_BIT(ARBT)
| HMATRIX_BF(FIXED_DEFMSTR, 0x8)
| HMATRIX_BF(SLOT_CYCLE, 0x70)
| HMATRIX_BF(DEFMSTR_TYPE, HMATRIX_DEFMSTR_TYPE_FIXED_DEFAULT));
hmatrix_write(PRS[4].A, HMATRIX_BF(M5PR, 0xF));

И будет счастье!
Go to the top of the page
 
+Quote Post
Snegovik86
сообщение May 14 2010, 05:20
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 16-02-10
Пользователь №: 55 519



Да!... Совсем забыл.
Чтобы точно счастье было ещё надо:

1) из папки u-boot-1.3.4/include/asm файлик hmatrix-common.h копировать в папку linux-2.6.27.6/arch/avr32/match-at32ap/include/mach
2) в файле hmatrix.h добавить в заголовке include "hmatrix-common.h"

Вот теперь вроде всё... biggrin.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th June 2025 - 04:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01364 секунд с 7
ELECTRONIX ©2004-2016