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

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

?? c_start.c

?? ucos porting to arm946
?? C
?? 第 1 頁 / 共 2 頁
字號:
	unsigned int 	pllDivider,pllMultiplier;

/////////////////////////////////////////////////////////////////////////////////////////////////////
// Optionnal
/////////////////////////////////////////////////////////////////////////////////////////////////////

	//* Check if Input & Output Frequencies are in the correct range

	MainClock 		= AT91F_CKGR_GetMainClock(AT91C_BASE_CKGR,SLOWCLOCK);

	pllDivider    	= (PLLAR_Register  & AT91C_CKGR_DIVA);
	pllMultiplier 	= ((PLLAR_Register  & AT91C_CKGR_MULA) >> 16) + 1;
	if(AT91F_CheckPLL_FrequencyRange(MainClock, pllDivider , pllMultiplier) == FALSE)
		return FALSE;

	pllDivider    	= (PLLBR_Register  & AT91C_CKGR_DIVB);
	pllMultiplier 	= ((PLLBR_Register  & AT91C_CKGR_MULB) >> 16) + 1;
	if(AT91F_CheckPLL_FrequencyRange(MainClock, pllDivider , pllMultiplier) == FALSE)
		return FALSE;

/////////////////////////////////////////////////////////////////////////////////////////////////////
// Step 3.
// Setting PLLA and Divider A
/////////////////////////////////////////////////////////////////////////////////////////////////////

	AT91C_BASE_CKGR->CKGR_PLLAR = PLLAR_Register;
	//* Wait for PLLA stabilization LOCKA bit in PMC_SR
	tmp = 0;
	while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_LOCKA) && (tmp++ < DELAY_PLL) ) ;

/////////////////////////////////////////////////////////////////////////////////////////////////////
// Step 4.
// Setting PLLB and Divider B
/////////////////////////////////////////////////////////////////////////////////////////////////////

	AT91C_BASE_CKGR->CKGR_PLLBR = PLLBR_Register;
	//* Wait for PLLB stabilization LOCKB bit in PMC_SR
	tmp = 0;
	while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_LOCKB) && (tmp++ < DELAY_PLL) ) ;

/////////////////////////////////////////////////////////////////////////////////////////////////////
// Step 5.
// Selection of Master Clock MCK (and Processor Clock PCK)
/////////////////////////////////////////////////////////////////////////////////////////////////////

	//* Constraints of the Master Clock selection sequence
	//* Write in the MCKR dirty value concerning the clock selection CSS then overwrite it in a second sequence
	
	AT91C_BASE_PMC->PMC_MCKR =0x1;//AT91C_PMC_CSS_SLOW_CLK;
	//* Wait until the master clock is established
	tmp = 0;
	while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY) && (tmp++ < DELAY_MAIN_FREQ) );

	//* Second sequence
	AT91C_BASE_PMC->PMC_MCKR =MCKR;
	//* Wait until the master clock is established
	tmp = 0;
	while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY) && (tmp++ < DELAY_MAIN_FREQ) );

	return TRUE;
}
//*----------------------------------------------------------------------------
//* \fn    AT91F_InitSDRAM
//* \brief This function performs very low level HW initialisation
//*----------------------------------------------------------------------------
void AT91F_InitSDRAM()
{
	volatile int *pRegister;
	AT91PS_PIO pPio = AT91C_BASE_PIOC;
	
	/* Configure PIOC as peripheral (D16/D31) */
	pPio->PIO_ASR = 0xFFFF0000;
	pPio->PIO_BSR = 0x0;
	pPio->PIO_PDR = 0xFFFF0000;
	
	/* Setup MEMC to support all connected memories (CS0 = FLASH; CS1=SDRAM) */
	pRegister = (int *)0xFFFFFF60;
	*pRegister = 0x02; 
	
	/* Init SDRAM */
	pRegister = (int *)0xFFFFFF98;
	*pRegister =0x2A88C140; 
	pRegister = (int *)0xFFFFFF90;
	*pRegister = 0x2; 
	pRegister = (int *)0x20000000;
	*pRegister = 0; 
	pRegister = (int *)0xFFFFFF90;
	*pRegister = 0x4; 
	pRegister = (int *)0x20000000;
	*pRegister = 0; 
	*pRegister = 0; 
	*pRegister = 0; 
	*pRegister = 0; 
	*pRegister = 0; 
	*pRegister = 0; 
	*pRegister = 0; 
	*pRegister = 0; 
	pRegister = (int *)0xFFFFFF90;
	*pRegister = 0x3; 
	pRegister = (int *)0x20000080;
	*pRegister = 0; 
	pRegister = (int *)0xFFFFFF94;
	*pRegister = 0x2e0; 
	pRegister = (int *)0x20000000;
	*pRegister = 0; 
	pRegister = (int *)0xFFFFFF90;
	*pRegister = 0x00; 
	pRegister = (int *)0x20000000;
	*pRegister = 0; 
}


//*----------------------------------------------------------------------------
//* \fn    AT91F_InitFlash
//* \brief This function performs very low level HW initialization
//*----------------------------------------------------------------------------
void AT91F_InitFlash()
{
	AT91C_BASE_MC->MC_PUIA[0] = AT91C_MC_PROT_PRWURW;
	AT91C_BASE_MC->MC_PUP = 0;
	AT91C_BASE_MC->MC_PUER =0;	//* Memory controller protection unit disable
	AT91C_BASE_MC->MC_ASR = 0;  //* read only!
	AT91C_BASE_MC->MC_AASR = 0; //* read only!

	//* Setup MEMC to support CS0=Flash
	AT91C_BASE_EBI->EBI_CSA |= AT91C_EBI_CS0A_SMC;
	AT91C_BASE_EBI->EBI_CFGR = (AT91C_EBI_DBPUC & 0x00) | (AT91C_EBI_EBSEN & 0x00);

	//* Setup Flash
	AT91C_BASE_SMC2->SMC2_CSR[0] = (AT91C_SMC2_NWS & 0x4) | AT91C_SMC2_WSEN
									| (AT91C_SMC2_TDF & 0x200) | AT91C_SMC2_BAT | AT91C_SMC2_DBW_16;
}


//*----------------------------------------------------------------------------
//* \fn    AT91F_LowLevelInit
//* \brief This function performs very low level HW initialization
//*----------------------------------------------------------------------------
extern void AT91F_LowLevelInit()
{
	unsigned char 	status;

    //step1
    status = AT91F_WaitForMainClockFrequency();
    
    //step2
    AT91F_InitFlash();
    
    //step3 init clock
    status = AT91F_InitClocks(PLLAR,PLLBR,MCKR);
    
    //step4 configuare sdram
    AT91F_InitSDRAM();
    
    // Init Interrupt Controller
	AT91F_AIC_Open(
		AT91C_BASE_AIC,          // pointer to the AIC registers
		AT91C_AIC_BRANCH_OPCODE, // IRQ exception vector
		AT91F_UndefHandler,      // FIQ exception vector
		AT91F_UndefHandler,      // AIC default handler
		AT91F_SpuriousHandler,   // AIC spurious handler
		0);                      // Protect mode
		
	// Perform 8 End Of Interrupt Command to make sure AIC will not Lock out nIRQ 
	AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC);
	AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC);
	AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC);
	AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC);
	AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC);
	AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC);
	AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC);
	AT91F_AIC_AcknowledgeIt(AT91C_BASE_AIC);

    //step5 usart0 init
    //AT91F_US0_Init();
    	
    AT91F_DBGU_CfgPIO();

	// Configure DBGU
	AT91F_US_Configure (
		(AT91PS_USART) AT91C_BASE_DBGU,          			// DBGU base address
		60000000,                  							// 60 MHz
		AT91C_US_CHMODE_NORMAL | AT91C_US_PAR_NONE ,        // mode Register to be programmed
		115200 ,                   							// baudrate to be programmed
		0);                        							// timeguard to be programmed

	// Enable Transmitter
	AT91F_US_EnableTx((AT91PS_USART) AT91C_BASE_DBGU);

	AT91F_DBGU_Printk("\n\rAT91F_LowLevelInit() Complete in Flash!\n\r");

}	
	


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久久网站| 久久精品亚洲麻豆av一区二区| 51午夜精品国产| 国产精品全国免费观看高清 | 91精品国产免费| 国产精品无遮挡| 黄网站免费久久| 7777精品伊人久久久大香线蕉的 | 久久午夜免费电影| 亚洲成人一二三| 色天使色偷偷av一区二区| 国产亚洲一区字幕| 欧美精品一区二区在线观看| 国产欧美日韩中文久久| 五月天丁香久久| 成人免费看的视频| 久久五月婷婷丁香社区| 日韩极品在线观看| 欧美亚男人的天堂| 亚洲美女区一区| 99免费精品视频| 久久精品一区八戒影视| 国产一区二区三区免费看| 日韩精品在线网站| 蜜臀av一区二区三区| 日韩一区二区三| 蜜臀久久99精品久久久久宅男| 欧美日本免费一区二区三区| 悠悠色在线精品| av动漫一区二区| 国产精品二区一区二区aⅴ污介绍| 国产成人久久精品77777最新版本| 在线看一区二区| 99视频一区二区| 日本一区二区三区国色天香 | 亚洲国产成人av| 91视频国产观看| 亚洲综合自拍偷拍| 在线免费精品视频| 亚洲成人7777| 欧美成人午夜电影| 国产一区二区三区香蕉 | 极品少妇xxxx精品少妇偷拍| 日韩欧美国产成人一区二区| 免费成人在线视频观看| 日韩精品一区二区在线观看| 黄色精品一二区| 国产精品三级在线观看| 色老汉一区二区三区| 亚洲成人精品一区| 亚洲第一成年网| 91影视在线播放| 亚洲成年人影院| 日韩欧美高清dvd碟片| 国产又粗又猛又爽又黄91精品| 国产亚洲一区二区三区在线观看| 成人av在线看| 日日摸夜夜添夜夜添国产精品| 精品免费视频一区二区| 成人久久18免费网站麻豆 | 亚洲综合男人的天堂| 欧美三日本三级三级在线播放| 蜜桃视频一区二区三区在线观看 | 精品1区2区3区| 蜜臂av日日欢夜夜爽一区| 国产欧美日韩卡一| 在线精品视频一区二区三四| 日韩av电影天堂| 国产精品美女久久久久aⅴ| 色94色欧美sute亚洲线路一久| 日本aⅴ免费视频一区二区三区| 久久亚洲影视婷婷| 91精品福利在线| 国产mv日韩mv欧美| 视频一区视频二区中文| 国产欧美日韩三区| 日韩一区二区三区三四区视频在线观看 | 9色porny自拍视频一区二区| 亚洲国产成人porn| 久久久精品综合| 91精品国产综合久久婷婷香蕉| 成人av一区二区三区| 另类综合日韩欧美亚洲| 一区二区三区欧美日| 国产午夜一区二区三区| 欧美一区二区三区四区在线观看 | 91国产福利在线| 国产福利不卡视频| 麻豆一区二区三| 一区二区三区四区不卡视频| 精品国产91久久久久久久妲己| 欧美丝袜丝交足nylons| www.欧美.com| 福利一区福利二区| 激情成人综合网| 蜜桃免费网站一区二区三区 | 国产精品成人网| 久久婷婷国产综合国色天香| 欧美日高清视频| 欧美性大战xxxxx久久久| 91久久人澡人人添人人爽欧美| 亚洲国产成人tv| 一区二区三区日韩在线观看| 国产精品激情偷乱一区二区∴| 久久男人中文字幕资源站| 精品久久久久久久久久久院品网| 在线电影欧美成精品| 欧美精选一区二区| 欧美日韩综合色| 欧美日韩免费视频| 欧美日韩高清在线| 7777精品久久久大香线蕉 | 国产91精品精华液一区二区三区 | 精品一二三四区| 秋霞午夜鲁丝一区二区老狼| 91久久精品一区二区三区| 久色婷婷小香蕉久久| 樱桃国产成人精品视频| 国产精品美女久久久久久久网站| 欧美午夜精品久久久| 成人97人人超碰人人99| 国产乱色国产精品免费视频| 亚洲一区二区欧美日韩| 精品成人免费观看| 3d成人h动漫网站入口| 欧美理论片在线| 美女诱惑一区二区| 亚洲无人区一区| 欧美成人激情免费网| 国产精品国模大尺度视频| 亚洲乱码国产乱码精品精的特点 | 久久久www成人免费毛片麻豆| 4438成人网| 精品久久久久99| 国产香蕉久久精品综合网| 国产精品亲子乱子伦xxxx裸| 成人欧美一区二区三区视频网页 | 不卡av在线免费观看| 91高清视频免费看| 欧美精品久久一区| 日韩免费一区二区| 国产精品日韩成人| 亚洲午夜电影在线| 久久综合综合久久综合| 成人国产亚洲欧美成人综合网 | 国产精品91xxx| 在线一区二区三区做爰视频网站| 欧美日韩免费电影| 久久久99久久| 亚洲主播在线观看| 国产真实乱子伦精品视频| 99国产精品久久久久久久久久| 精品污污网站免费看| 久久久久亚洲蜜桃| 亚洲一区二区免费视频| 麻豆91精品91久久久的内涵| 成人免费精品视频| 日韩视频免费观看高清完整版在线观看 | 美脚の诱脚舐め脚责91| 成人高清在线视频| 欧美一卡2卡三卡4卡5免费| 亚洲欧洲日韩综合一区二区| 日韩黄色免费网站| 97精品电影院| xnxx国产精品| 蜜桃久久久久久| 精品一区二区三区av| jizzjizzjizz欧美| 日韩欧美成人激情| 一区二区三区在线观看视频| 精品一区二区三区日韩| 欧美色图片你懂的| 国产精品久久毛片av大全日韩| 麻豆精品在线观看| 欧美三片在线视频观看| 中文字幕在线视频一区| 国产真实乱偷精品视频免| 欧美性感一区二区三区| 中文字幕一区二区视频| 韩国在线一区二区| 日韩美女一区二区三区四区| 亚洲午夜精品在线| 色国产精品一区在线观看| 中文字幕一区在线| 高清在线不卡av| 欧美国产禁国产网站cc| 精品夜夜嗨av一区二区三区| 日韩一区二区不卡| 肉色丝袜一区二区| 欧美日韩精品一区二区| 一区二区三区在线免费观看| 99综合电影在线视频| 国产精品伦一区二区三级视频| 美美哒免费高清在线观看视频一区二区 | 在线观看www91| 亚洲狠狠丁香婷婷综合久久久| 不卡的看片网站| 国产精品二三区| 91美女片黄在线观看91美女| 国产精品五月天|