[an error occurred while processing this directive]
Вот(+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено KykyryzzZ 06 июня 2006 г. 10:39
В ответ на: Ну хорошо, давайте взглянем на реальный код, как он есть(:-) отправлено GM 05 июня 2006 г. 20:19

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include "emif_test.h"
extern Uint32 Myvec;
Uint32 Myvec;

//=VARIABLES=
...
//============

PLL_Config pllConfig = {
0x0005, /* PLLCSR */
0x0002, /* PLLM */
0x8000, /* PLLDIV0 */
0x8000, /* PLLDIV1 */
0x0000, /* PLLDIV2 */
0x0000, /* PLLDIV3 */
0x0000, /* OSCDIV1 */
0x0001, /* WAKEUP */
0x0001, /* CLKMD */
0x0002 /* CLKOUTSR */
};


EMIF_Config MyConfig = {
0x060F, /*EMIF_GCTL1 0x800 + */
0x0003, /*EMIF_GCTL2 0x801 + */
0x7F4F, /*EMIF_CE11 0x802 + */
0xFFFF, /*EMIF_CE12 0x803 + */
0x7F0F, /*EMIF_CE01 0x804 + */
0x10C1, /*EMIF_CE02 0x805 + */
0xFF4F, /*EMIF_CE21 0x808 + */
0x00FF, /*EMIF_CE22 0x809 + */
0x7F4F, /*EMIF_CE31 0x80A + */
0xFFFF, /*EMIF_CE32 0x80B + */
0x00FF, /*EMIF_SDCNT1 0x80C x */
0x7F0F, /*EMIF_SDCNT2 0x80D x */
0xFFFF, /*EMIF_SDREF1 0x80E x */
0x00FF, /*EMIF_SDREF2 0x80F x */
0x07FF, /*EMIF_SDEXT1 0x810 x */
0x0FFF, /*EMIF_SDEXT2 0x811 x */
0x0000, /*EMIF_CE1SECCTL1 0x822 r */
//0x0000, /*EMIF_CE1SECCTL2 0x823 r */
0x0000, /*EMIF_CE0SECCTL1 0x824 r */
//0x0000, /*EMIF_CE0SECCTL2 0x825 r */
0x0000, /*EMIF_CE2SECCTL1 0x828 r */
//0x0000, /*EMIF_CE2SECCTL2 0x829 r */
0x0000, /*EMIF_CE3SECCTL1 0x82A r */
//0x0000, /*EMIF_CE3SECCTL2 0x82B r */
0xFFF0, /*EMIF_CECTL1(cescr)0x840 + */
//0xFFFF, /*EMIF_CECTL2 0x841 r */
};

//=Function prototypes=
void INTERRUPT_init();
void DATARUN(void);
void Dataload(void);
int SendCmd(int);
interrupt void FPGA_irq();

//=======================

void main()
{
CSL_init();

PLL_config(&pllConfig); //соответственно либо с помощью структуры, илбо функции Pll_my_config(); (по библиотеке CSL)
// Pll_my_config();
EMIF_config(&MyConfig);
INTERRUPT_init();

DATARUN();
}


//==functions==

void Pll_my_config(void)
{
int test_lock;

PLL_RSET(PLLCSR, 0x0004);
PLL_FSET(PLLCSR, PLLEN, 0x0);
PLL_FSET(PLLCSR, PLLRST, 0x1);
PLL_RSET(PLLM, 0x000A);
PLL_RSET(PLLDIV0, 0x8004);
PLL_RSET(PLLDIV1, 0x8000);
PLL_RSET(PLLDIV2, 0x0000);
PLL_RSET(PLLDIV3, 0x0000);
PLL_RSET(OSCDIV1, 0x0000);
//PLL_RSET(WAKEUP, 0x0010);
PLL_RSET(CLKMD, 0x0001);
PLL_RSET(CLKOUTSR, 0x0002);
PLL_RSET(CK3SEL, 0x000A);

for( i = 0 ; i < 1000 ; i++)
{}
PLL_FSET(PLLCSR, PLLRST, 0x0);
PLL_FSET(PLLCSR, PLLEN, 0x1);
lock_check:
test_lock = PLL_FGET(PLLCSR, LOCK);
if (test_lock == 0x1){
goto lock_check;
}
PLL_FSET(PLLCSR, PLLEN, 0x1);
}


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru