Snegovik86 0 13 апреля, 2010 Опубликовано 13 апреля, 2010 · Жалоба Доброго времени суток! В наличии имеется NGW100, JTAGICE mkII, ЦАП переходник с TLL на VGA (ADV7125 как на STK1000) Передо мной стоит задача, сконфигурировать LCD-контероллер AP7 на разрешение 1024x768x70Гц, глубину цветности 8 бит и добиться стабильной работы. Первое что сделал, перевёл AP7 на частоту 150МГц переделав и залив U-boot. Т.к. необходимо добиться 75Мгц PixelClock. Buildroot 2.3.0 отконфигурировал под evklcd101, поменяв необходимые значения согласно AVR32114 и VESA стандарту. При загрузке выдаётся примерно следующее: 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-контроллера необходимо его сделать главным, добавив строки 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, при компиляции выдаёт следующе 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: Зарание спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jasper 0 13 апреля, 2010 Опубликовано 13 апреля, 2010 · Жалоба Не может найти функцию hmatrix_writel и все остальное. Думаю, эта функция из фрэймворка. Надо ее там найти и подключить соответствующую библиотеку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Snegovik86 0 13 апреля, 2010 Опубликовано 13 апреля, 2010 · Жалоба Я уже всю голову сломал... :smile3046: Но даже малейшего представления не имею где такая функция может быть или как изменить приоритеты устройств AP7. Этой функции не нашёл не во фреймвоке ни в ядре ни в билруте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jasper 0 13 апреля, 2010 Опубликовано 13 апреля, 2010 · Жалоба Судя по имени должна лежать в hmatrix.h Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Snegovik86 0 13 мая, 2010 Опубликовано 13 мая, 2010 · Жалоба Супостаты проклятые... Оказывается надо вписать этот код: 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)); И будет счастье! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Snegovik86 0 14 мая, 2010 Опубликовано 14 мая, 2010 · Жалоба Да!... Совсем забыл. Чтобы точно счастье было ещё надо: 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" Вот теперь вроде всё... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться