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

 
 
 
Reply to this topicStart new topic
> Программирование PPI BF537..., Неработает, хоть расшибись.
Goblin_Nick
сообщение Jun 14 2007, 07:20
Сообщение #1


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

Группа: Участник
Сообщений: 79
Регистрация: 23-10-06
Из: Тула
Пользователь №: 21 599



В общем, вроде прозрачный код неработает, как я его не вертел только.
DMA ничего не передаёт, как-будто в него ничего не поступает.
Желёзо рабочее, так как через сервисный драйвер с теми же параметрами
всё хорошо, но он с VDK не чочет работать.
Подскажите кто-нибудь, в трёх соснах заблудился 05.gif .

Код собственно следующий:

// configure DMA for PPI0
*pDMA0_X_COUNT = PIXEL_PER_LINE; // pixels per line
*pDMA0_Y_COUNT = LINES_PER_FRAME; // lines per frame from the sensor
*pDMA0_X_MODIFY = 2; // Modifier 2 because of 16-bit DMA mode
*pDMA0_Y_MODIFY = 2; // Modifier 2 because of 16-bit DMA mode
*pDMA0_START_ADDR = &VideoInputFrame[0][0];//usPTR; // Destination address of the image| SYNC

// Autobuffer mode DMA | Restart FIFO | 2-D DMA | Bus width 16 bit | write to memory
*pDMA0_CONFIG = DMAbuffermode | DMA2D | DI_EN | WDSIZE_16 | WNR;

// PPI0 setup
*pPPI_FRAME = LINES_PER_FRAME; //The PPI is set to receive X lines per frame
*pPPI_COUNT = PPICOUNT; //The PPI is set to stop receiving after X number of samples for each liene

// Fetching data at the falling(LM9618)/raising(OV6630/MT9V022) edge of PCLK| PPI 16-bit bus | PPI input with three frame syncs
*pPPI_CONTROL = POL_S | POL_C | DATALEN | DataPacking | CFG_GP_Input_3Syncs | GP_Input_Mode;

*pDMA0_CONFIG |= DMAEN; // | DMA enable
ssync();

*pPPI_CONTROL |= PORT_EN; // | Start PPI
ssync();
Go to the top of the page
 
+Quote Post
SALOME
сообщение Jun 16 2007, 03:15
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 11-06-07
Из: Российская империя, 1861г.
Пользователь №: 28 349



Цитата(Goblin_Nick @ Jun 14 2007, 14:20) *
В общем, вроде прозрачный код неработает, как я его не вертел только.

Приведенный фрагмент кода не дает полной картины. Неизвестно, как проведена инизциализация PPI, DMA, Таймеров, прерываний и т.д. Если это поможет, высылаю рабочий фрагмент инициализации. Чем могу...
пытаюсь прикрепить файл, но не получается. HELP me,pls

Сообщение отредактировал SALOME - Jun 16 2007, 03:19


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post
fontp
сообщение Jun 16 2007, 07:33
Сообщение #3


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



Цитата(SALOME @ Jun 16 2007, 07:15) *
пытаюсь прикрепить файл, но не получается. HELP me,pls


Чтобы прикрепить файл нужно его заархивировать и все дела
Go to the top of the page
 
+Quote Post
SALOME
сообщение Jun 16 2007, 11:13
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 11-06-07
Из: Российская империя, 1861г.
Пользователь №: 28 349



Прикрепленный файл  Init_PPI.zip ( 3.06 килобайт ) Кол-во скачиваний: 191
Цитата(fontp @ Jun 16 2007, 14:33) *
Чтобы прикрепить файл нужно его заархивировать и все дела

Спасибо за науку. Креплю...


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post
SALOME
сообщение Jun 19 2007, 03:22
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 11-06-07
Из: Российская империя, 1861г.
Пользователь №: 28 349



Цитата(fontp @ Jun 16 2007, 14:33) *

По поводу строки *pEVT8=DMA_ISR:
Регистр EVT8 содержит вектор перехода на подпрограмму обслуживания прерывания. Это адрес компилятор определяет сам в зависимости от того, по какому адресу ляжет эта подпрограмма. У меня эта п/п выглядит так:
EX_INTERRUPT_HANDLER(DMA_ISR)
{
*pDMA0_IRQ_STATUS = *pDMA0_IRQ_STATUS | DMA_DONE;
}
После компиляции эта п/п легла в памяти начиная с адреса 0xFFA1090C. Это значение и есть DMA_ISR и его компилятор кладет в регистр, закрепленный за вектором прерывания EVT8, который в свою очередь всегда имеет адрес 0xFFE02020.


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post
Goblin_Nick
сообщение Jun 19 2007, 05:23
Сообщение #6


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

Группа: Участник
Сообщений: 79
Регистрация: 23-10-06
Из: Тула
Пользователь №: 21 599



Спасибо, всё ясно по поводу вектора прерывания.
А по поводу PPI, в моём первоначальном коде отсутствовала
инициализация регистров PORTF_FER и PORTG_FER, отсюда
проблемы. Для 533 и 561 BlackFin'ов этого вроде нетребовалось.
smile.gif --- a14.gif ---
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 20:08
Рейтинг@Mail.ru


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