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

 
 
> Как инициализировать звук на ep93xx?
Andrei....
сообщение Apr 24 2006, 08:06
Сообщение #1


Частый гость
**

Группа: Новичок
Сообщений: 104
Регистрация: 20-03-06
Пользователь №: 15 402



Какова последовательность действий при инициализации AC'97 контроллера на ep93xx?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
Andrei....
сообщение Nov 14 2006, 13:31
Сообщение #2


Частый гость
**

Группа: Новичок
Сообщений: 104
Регистрация: 20-03-06
Пользователь №: 15 402



помогите пожайлуста!
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 14 2006, 13:59
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Как помочь-то? Где возникают проблемы?

Последовательность действий можно подсмотреть в исходниках линуксового драйвера, например.
Go to the top of the page
 
+Quote Post
Andrei....
сообщение Nov 16 2006, 10:32
Сообщение #4


Частый гость
**

Группа: Новичок
Сообщений: 104
Регистрация: 20-03-06
Пользователь №: 15 402



Интерисует последовательность инициализации AC97 контроллера. Нигде её не нашёл...

Сообщение отредактировал Andrei.... - Nov 16 2006, 10:33
Go to the top of the page
 
+Quote Post
sff
сообщение Nov 16 2006, 11:05
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 172
Регистрация: 23-04-06
Пользователь №: 16 404



Цитата(Andrei.... @ Nov 16 2006, 13:32) *
Интерисует последовательность инициализации AC97 контроллера. Нигде её не нашёл...

Ну если Linux не устраивает по релегиозным или иным соображениям можно посмотреть исходники BSP для WinCE
в файле WINCE500\PLATFORM\Ep93xx\Src\Drivers\Wavdev\ac97codec.cpp.
Сама инициализация идёт в методе AC97Codec::Initialize(void )
также потребуется посмотреть метод PokeAC97 (запись в регистр AC97 кодека) он используется для установки громкости и тд.
И если используется DMA то настроить соответствующие каналы DMA (WINCE500\PLATFORM\Ep93xx\Src\Drivers\Wavdev\pingpongdma.cpp) но там много специфики CE.
А обработчик PIO находится в FIQ с таким вот интересным комментарием (файл WINCE500\PLATFORM\Ep93xx\Src\Kernel\Hal\Common\interrupt.c)
Код
//****************************************************************************
// OEMInterruptHandlerFIQ
//****************************************************************************
// Used for PIO Audio instead of using a DMA channel.
//
// On the EP93XX Rev D1 and E0 the following may cause audio glitches.
//
// 1.  Boot in 16 Bit mode
// 2.  Use USB
// 3.  Use DMA
//
// To work around this problem we use the FIQ handler to perform PIO audio.
Go to the top of the page
 
+Quote Post
Andrei....
сообщение Nov 16 2006, 14:08
Сообщение #6


Частый гость
**

Группа: Новичок
Сообщений: 104
Регистрация: 20-03-06
Пользователь №: 15 402



Спасибо за файлы, посмотрел. На данный момент, и при настройке FIQ и при настройке IRQ прерывания для VIC1_AACINTR ситуация одинаковая, при включении платы оно вызывается не всегда, однако если первый раз вызывается, то и далее вызывается (весь код отрабатывает) и всё нормально. Если не вызвалось сразу, то стабильно его нет. Хотя в регистре VIC1RawIntr=0x48
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 16:34
Рейтинг@Mail.ru


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