亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? initialize.c

?? ADI blackfin DSP的基于device friver的jpeg壓縮算法
?? C
字號:
#include <services\services.h>				// system services

#include <sysreg.h>
#include "initialize.h"
#include "adv7180.h"
#include "WatchDog.h"

static void Init_Timers(void)
{
#if defined(__ADSP_EDINBURGH__) 

    *pTIMER_DISABLE 	= TIMDIS0;
	*pTIMER0_CONFIG		= PWM_OUT | PERIOD_CNT | IRQ_ENA;
	*pTIMER0_PERIOD		= SECONDS * SYSCLK;
	*pTIMER0_WIDTH		= SECONDS * SYSCLK / 2;
	*pTIMER_ENABLE		= TIMEN0;
#endif
	ssync();
}


static void init_SDRAM(void)
{
#if defined(__ADSP_EDINBURGH__) 

	*pEBIU_AMBCTL0 	= 0xffc2ffc2;
	*pEBIU_AMBCTL1 	= 0xffc2ffc2;
	//*pEBIU_AMGCTL	= 0x000F;		//	  |Enable all memory banks
	*pEBIU_AMGCTL 	= 0x00F8;
	ssync();

	if (*pEBIU_SDSTAT & SDRS) {
		//SDRAM Refresh Rate Control Register
		*pEBIU_SDRRC = 0x0817;	

		//SDRAM Memory Bank Control Register
		*pEBIU_SDBCTL = 0x0013;

		//SDRAM Memory Global Control Register	
		*pEBIU_SDGCTL = 0x0091998d;	

		ssync();
	}
#endif

#if defined(__ADSP_BRAEMAR__) 
	// Initalize EBIU control registers to enable all banks	
	*pEBIU_AMBCTL0 	= 0xffc2ffc2;
	*pEBIU_AMBCTL1 	= 0xffc2ffc2;
	*pEBIU_AMGCTL = 0x00F8;
	ssync();


	// Check if already enabled
	if( SDRS != ((*pEBIU_SDSTAT) & SDRS) )
	{
		return;
	}
	
	
	//SDRAM Refresh Rate Control Register
	*pEBIU_SDRRC = 0x0817; //0x03A3;
	
	//SDRAM Memory Bank Control Register
	*pEBIU_SDBCTL = 0x0013;
	
	//SDRAM Memory Global Control Register	
	*pEBIU_SDGCTL = 0x0091998d;//0x998D0491;
	ssync();
#endif

#if defined(__ADSP_TETON__)

	*pEBIU_AMGCTL = 0x00F8;
	// 要將bank0的ARDY置0
	*pEBIU_AMBCTL0 = 0xffc2ffc2;
	*pEBIU_AMBCTL1 = 0xffc2ffc2;
	ssync();
	if (*pEBIU_SDSTAT & SDRS) {
		*pEBIU_SDBCTL = 0x00000015;					//SDRAM Memory Bank Control Register
		ssync();
		*pEBIU_SDRRC =  0x000003a9;					//SDRAM Refresh Rate Control Register
		ssync();
		*pEBIU_SDGCTL = 0x0091998f;					//SDRAM Memory Global Control Register
		ssync();
	}
#endif
}



static void init_PLL(short CoreCLOCK_multiplier, short SCLK_divider)
{

#if defined(__ADSP_EDINBURGH__) 

	volatile int test=0;

	sysreg_write(reg_SYSCFG, 0x32);		//Initialize System Configuration Register

	*pSIC_IWR = 0x1;
	*pPLL_CTL = 0x2000;
	*pPLL_DIV =  0x0003;	// CSEL= %1, SSEL= %4
	ssync();
	idle();
#endif


#if defined(__ADSP_BRAEMAR__) 
	volatile int test=0;

	// Initialize System Configuration Register
	//  enable cycle counter, disable supervisor single step
	sysreg_write(reg_SYSCFG, 0x32);

	*pSIC_IWR |= 0x1;		// enable PLL wakeup

	// 537 EZ-Kit Settings fast CCLK, fast SCLK: CCLK = 526.5 MHz, SCLK = 131.625 MHz 
	*pPLL_CTL =  0x2000;	// MSEL= x39,  DF= %2
	//*pPLL_CTL =  0x3000;	// MSEL= x39,  DF= %2
	*pPLL_DIV =  0x0005;	// CSEL= %1, SSEL= %4
	
	
	*pVR_CTL = 0x40db;

	ssync();
	idle();

#endif

#if defined(__ADSP_TETON__)

  short previous_PLL= *pPLL_CTL;
  short previous_SICA_IWR = *pSICA_IWR0;
  short previous_SICB_IWR = *pSICB_IWR0;
  short new_PLL= (previous_PLL & 0x81ff) | ((CoreCLOCK_multiplier & 0x3f) <<9);
   
  if (new_PLL != previous_PLL) {			  // skip if multiplier has not changed
		  	
	 if ((int)(*pSRAM_BASE_ADDRESS) == 0xFF800000 ) {						  // do things for Core A
 		*pSICA_IWR0 = (previous_SICA_IWR | 0x1); // enable PLL Wakeup Interrupt
  		*pPLL_CTL = new_PLL;
		ssync();
  		
  		idle();							  // put in idle

  		*pSICA_IWR0 = previous_SICA_IWR;		  // continue here after idle, restore previous IWR content
		ssync();
	  }
	else{							  		  // do things for Core B
	 	*pSICB_IWR0 = (previous_SICB_IWR | 0x1); // enable PLL Wakeup Interrupt
		ssync();
  		
  		idle();							  // put in idle

  		*pSICB_IWR0 = previous_SICB_IWR;		  // continue here after idle, restore previous IWR content
		ssync();
	
    }	// if (&_CORE == 0)
		
  }   // if (new_PLL != previous_PLL)

  *pPLL_DIV = (*pPLL_DIV & 0xFFF8) | SCLK_divider;
  ssync();

#endif

}//end Init_PLL



static void init_FLAGS(void)
{
#if defined(__ADSP_EDINBURGH__) 

	int i = 0; short temp = 0;
	
// Initialize ports

	
	*pFIO_DIR = *pFIO_DIR | 0x0040;	//PF6,PF7輸出0
	
	*pFIO_FLAG_C = 0x0040;
	asm("ssync;");
	
	//*pFIO_DIR = *pFIO_DIR | 0x0180;	//PF7,PF8輸出0
	//*pFIO_FLAG_C = 0x0180;
	//asm("ssync;");
#endif

#if defined(__ADSP_BRAEMAR__) 
	int i = 0; short temp = 0;
	
// Initialize ports

	temp = *pPORTG_FER;
	asm("ssync;");
	temp = 0x00FF;
	*pPORTG_FER = temp;
	asm("ssync;");
	*pPORTG_FER = temp;
	asm("ssync;");
	
	temp = *pPORTF_FER;
	asm("ssync;");
	temp = 0xFBA0;
	*pPORTF_FER = temp;
	asm("ssync;");
	*pPORTF_FER = temp;
	asm("ssync;");
	
	temp = *pPORT_MUX;
	asm("ssync;");
	temp = 0x0140;
	*pPORT_MUX  = temp;
	asm("ssync;");
	*pPORT_MUX  = temp;
	asm("ssync;");
	
	*pPORTFIO_DIR = *pPORTFIO_DIR | 0x0040;	//PF6輸出0
	
	*pPORTFIO_CLEAR = 0x0040;
	asm("ssync;");
	
	*pPORTGIO_DIR = *pPORTGIO_DIR | 0x0300;	//PF6輸出0
	*pPORTGIO_CLEAR = 0x0300;
	asm("ssync;");
#endif


#if defined(__ADSP_TETON__)
	*pFIO0_DIR = 0x0080;		//Activate LEDs On EZ-KIT For Access
	*pFIO0_FLAG_C = 0x0080;
#endif

}

static void init_video_codec(void)
{
	init_adv7180();
	return;
}


static void init_interrupt(void)
{
/*
#if defined(__ADSP_EDINBURGH__) 
	// configure interrupt
	*pSIC_IAR0 = *pSIC_IAR0 & 0xffffffff | 0x00000000;	
	*pSIC_IAR1 = *pSIC_IAR1 & 0xffffffff | 0x00000001;	// map DMA0 PPI Interrupt -> IVG8
	*pSIC_IAR2 = *pSIC_IAR2 & 0xffffffff | 0x00600004;	
														
	
	register_handler(ik_ivg8, PPI0_RxIsr);			// assign DMA0 PPI ISR to interrupt vector 8
	register_handler(ik_ivg13, mDMA_Isr);		// assign mDMA_Isr to interrupt vector 13
	register_handler(ik_ivg11,Timer0_Isr);
	
	*pILAT |= EVT_IVG8;
	*pILAT |= EVT_IVG13;
	*pILAT |= EVT_IVG11;
	
	ssync();
	*pSIC_IMASK=0x00210100; // all interrupts 0=disabled but DMA0 PPI interrupt enabled	
#endif
#if defined(__ADSP_BRAEMAR__) 
	// configure interrupt
	*pSIC_IAR0 = *pSIC_IAR0 & 0xffffffff | 0x00010000;	
	*pSIC_IAR1 = *pSIC_IAR1 & 0xffffffff | 0x00000000;	// map DMA0 PPI Interrupt -> IVG8
	*pSIC_IAR2 = *pSIC_IAR2 & 0xffffffff | 0x00000000;	
	*pSIC_IAR3 = *pSIC_IAR3 & 0xffffffff | 0x00600000;	
	
	register_handler(ik_ivg8, PPI0_RxIsr);			// assign DMA0 PPI ISR to interrupt vector 8
	register_handler(ik_ivg13, mDMA_Isr);		// assign mDMA_Isr to interrupt vector 13
	
	*pSIC_IMASK=0x20000010; // all interrupts 0=disabled but DMA0 PPI interrupt enabled	
#endif
#if defined(__ADSP_TETON__) 
	register_handler(ik_ivg8, PPI0_RxIsr);		// assign ISR to interrupt vector
	register_handler(ik_ivg12,mDMA_Isr);

	*pSICA_IAR1 = Peripheral_IVG(11,8);			// assign interrupt channel 11 (DMA1_0) to IVG8
	*pSICA_IAR6 =  Peripheral_IVG(53,12); 

	*pILAT |= EVT_IVG8;							// clear pending IVG8 interrupts
	*pILAT |= EVT_IVG12;
	ssync();
	*pSICA_IMASK0 |= SIC_MASK(11);
	*pSICA_IMASK1 |= SIC_MASK(21);				//53-32 
	ssync();
#endif

	//TODO: ADD IVG hook
*/
}



void init_hardware(void)
{
	init_PLL((short)(CORECLK/CLKIN), (short)(CORECLK/SYSCLK));	
	init_SDRAM();
	init_FLAGS();
	
	init_video_codec();
//	init_interrupt();
	
	Init_Timers();
	return;
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲女子a中天字幕| 精品久久久久久最新网址| 丝袜国产日韩另类美女| 亚洲免费色视频| 日韩一区日韩二区| 亚洲欧美日本在线| 中文字幕乱码亚洲精品一区| 久久99久久久欧美国产| 国产欧美精品在线观看| 99re8在线精品视频免费播放| 亚洲精品国产精品乱码不99| 欧美精品亚洲一区二区在线播放| 久久精品免费观看| 国产欧美综合在线观看第十页| 色综合天天综合色综合av | 日韩欧美黄色影院| 狠狠色丁香婷婷综合久久片| 中文字幕一区二区三区视频| 欧美日韩一区二区三区免费看 | zzijzzij亚洲日本少妇熟睡| 亚洲一区二区三区四区五区黄| 欧美大白屁股肥臀xxxxxx| 国产凹凸在线观看一区二区| 亚洲国产成人va在线观看天堂| 日韩美女一区二区三区| 91农村精品一区二区在线| 日本不卡在线视频| 国产精品乱码一区二区三区软件 | 青青草国产成人av片免费| 久久久久久久综合狠狠综合| 色欧美片视频在线观看| 精品一区二区在线观看| 亚洲精品日韩一| 久久婷婷色综合| 久久久久免费观看| 色噜噜久久综合| 国产一区欧美日韩| 亚洲一区二区3| 久久九九99视频| 欧美剧在线免费观看网站| 夫妻av一区二区| 精品亚洲国产成人av制服丝袜| 亚洲精品国产高清久久伦理二区| 精品国产一区二区三区四区四| 91尤物视频在线观看| 国产剧情在线观看一区二区| 丝袜诱惑制服诱惑色一区在线观看 | 一区二区三区精密机械公司| 久久精品一二三| 91精品午夜视频| 色综合久久综合网| 粉嫩高潮美女一区二区三区| 久久精品国产免费| 日韩专区中文字幕一区二区| 亚洲男人的天堂一区二区| 久久精品亚洲精品国产欧美kt∨ | 蜜桃av一区二区| 欧美午夜精品一区| 精品久久久久久久久久久久久久久| 欧美视频在线不卡| 91麻豆精品在线观看| 成人av动漫网站| 成熟亚洲日本毛茸茸凸凹| 国产综合成人久久大片91| 免费视频最近日韩| 日韩二区三区四区| 午夜精品久久久久久久| 国产成人av资源| 国内精品自线一区二区三区视频| 蜜臀a∨国产成人精品| 日韩av成人高清| 久久精品国产77777蜜臀| 青青草97国产精品免费观看| 日本中文字幕一区二区有限公司| 婷婷久久综合九色综合伊人色| 亚洲国产精品影院| 天天色综合天天| 青娱乐精品视频| 久久se这里有精品| 黄页网站大全一区二区| 国产伦精一区二区三区| 国产精品综合视频| 成人一区二区三区视频在线观看 | 久久成人综合网| 九一九一国产精品| 国产综合一区二区| 丰满少妇在线播放bd日韩电影| 粉嫩久久99精品久久久久久夜| 97超碰欧美中文字幕| 一本大道久久a久久精二百| 欧美天堂一区二区三区| 欧美高清视频在线高清观看mv色露露十八 | 亚洲影视在线播放| 日韩精品乱码免费| 麻豆国产精品777777在线| 国产伦精品一区二区三区在线观看| 激情久久五月天| 懂色av噜噜一区二区三区av| 99国产精品久久久久久久久久 | 男人操女人的视频在线观看欧美 | 国产一区二区三区免费在线观看 | 成人精品电影在线观看| 91黄色免费网站| 欧美不卡一区二区三区四区| 亚洲国产成人私人影院tom| 亚洲少妇中出一区| 97aⅴ精品视频一二三区| 亚洲欧洲综合另类在线| 日韩欧美一区在线| 色婷婷综合久久| 99re亚洲国产精品| 亚洲成人免费在线| 中文字幕高清不卡| 波多野结衣中文字幕一区| 91小视频在线免费看| 日韩欧美色电影| 中文字幕在线一区| 美女被吸乳得到大胸91| bt欧美亚洲午夜电影天堂| 91超碰这里只有精品国产| 亚洲国产精品成人综合色在线婷婷 | 久草精品在线观看| 日本高清成人免费播放| 国产校园另类小说区| 亚洲国产视频一区二区| 成人在线视频一区| 日韩视频在线你懂得| 欧美精品日韩精品| 欧洲一区二区三区在线| 日韩欧美综合一区| 亚洲精品视频免费观看| 国产呦萝稀缺另类资源| 欧美精品自拍偷拍动漫精品| 国产精品久久久久久久久快鸭| 日韩av不卡一区二区| 色综合天天综合网国产成人综合天| 久久亚洲一区二区三区明星换脸| 亚洲成人你懂的| 色又黄又爽网站www久久| 26uuu亚洲综合色欧美 | 欧美专区在线观看一区| 日本一区二区电影| 国内成人自拍视频| 日韩欧美色电影| 日韩国产高清在线| 色嗨嗨av一区二区三区| 国产精品五月天| 国产精品一区二区久久不卡| 日韩欧美国产小视频| 亚洲成国产人片在线观看| 91理论电影在线观看| 亚洲欧洲精品一区二区精品久久久| 国产一区二区在线免费观看| 日韩精品自拍偷拍| 蜜桃精品视频在线观看| 欧美一区二区在线视频| 日韩精品三区四区| 91麻豆精品国产91久久久使用方法 | 精品对白一区国产伦| 亚洲成人自拍偷拍| 欧美性一区二区| 一二三区精品福利视频| 94-欧美-setu| 日韩av网站在线观看| 麻豆高清免费国产一区| 国产成人综合网站| 色综合久久久久综合| 欧美三级韩国三级日本三斤| 欧美精品日日鲁夜夜添| 久久午夜色播影院免费高清| 国产精品色呦呦| 亚洲国产成人porn| 国产精品久久久久久久久晋中| 美女在线视频一区| 精品久久国产字幕高潮| 国产一区二区三区不卡在线观看| 久久久一区二区三区| 成人动漫一区二区在线| 国产精品久久免费看| 91免费视频大全| 亚洲成人动漫av| 欧美一区午夜精品| 经典三级视频一区| 国产欧美日韩在线观看| 91香蕉视频在线| 性欧美疯狂xxxxbbbb| 精品三级在线看| 粉嫩在线一区二区三区视频| 亚洲日本一区二区| 欧美日韩免费一区二区三区| 日韩精品一二三区| 日韩精品一区二| www.成人网.com| 亚洲一区自拍偷拍| www欧美成人18+| 成人涩涩免费视频| 亚洲国产一区二区a毛片| 久久色在线观看| 在线亚洲人成电影网站色www| 视频一区二区三区入口|