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

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

?? c_start.c

?? 在AT91RM9200下開發(fā)的UCOS系統(tǒng)
?? 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一区二区三区免费野_久草精品视频
亚洲一区二区中文在线| 欧美日韩三级视频| 亚洲欧洲精品天堂一级| 丁香五精品蜜臀久久久久99网站 | 久久99蜜桃精品| 91精品欧美久久久久久动漫 | 久久婷婷国产综合国色天香| 九九视频精品免费| 久久一区二区视频| 东方aⅴ免费观看久久av| 亚洲欧美偷拍三级| 欧美三级日韩在线| 美腿丝袜在线亚洲一区| 国产日韩欧美精品电影三级在线| 国产大陆亚洲精品国产| 国产精品成人一区二区三区夜夜夜| 国产真实乱对白精彩久久| 久久视频一区二区| 91丝袜美女网| 偷拍亚洲欧洲综合| 欧美精品一区二区三区蜜臀| 成人国产电影网| 亚洲成人福利片| 欧美精品一区男女天堂| www.性欧美| 亚洲一区二区精品3399| 26uuu亚洲综合色欧美| 成人免费看视频| 亚洲国产欧美一区二区三区丁香婷| 日韩天堂在线观看| www.欧美色图| 蜜乳av一区二区| 中文字幕中文字幕中文字幕亚洲无线| 91激情五月电影| 国产一区美女在线| 一区二区三区四区视频精品免费| 欧美一区二区三区人| 成人免费观看av| 午夜精品aaa| 国产精品久久久久影视| 欧美精品一卡两卡| 成人美女在线观看| 理论电影国产精品| 一区二区三区高清在线| 亚洲精品一区二区三区四区高清 | 91原创在线视频| 国内偷窥港台综合视频在线播放| 最新日韩在线视频| 亚洲精品一区二区三区在线观看| 色香色香欲天天天影视综合网| 另类调教123区| 亚洲妇女屁股眼交7| 亚洲国产精品99久久久久久久久| 欧美日韩国产区一| 国产不卡免费视频| 免费久久精品视频| 亚洲成人av一区| 亚洲视频免费观看| 久久免费电影网| 久久久久九九视频| 欧美日本韩国一区二区三区视频| 99re这里只有精品视频首页| 国产精品一区免费在线观看| 青青青伊人色综合久久| 亚洲国产成人精品视频| 亚洲另类在线一区| 亚洲欧洲韩国日本视频| 国产三级精品三级在线专区| 精品国产乱码久久久久久浪潮 | 日韩一区精品视频| 亚洲一区二区精品久久av| 亚洲激情综合网| 中文字幕一区二区三区在线不卡| 国产亚洲一区二区三区在线观看| 日韩你懂的在线观看| 日韩亚洲欧美一区| 日韩精品一区二区在线| 欧美大片一区二区三区| 日韩视频中午一区| 欧美电影精品一区二区| 日韩午夜激情av| 久久蜜桃香蕉精品一区二区三区| 精品国产sm最大网站免费看| 精品99一区二区三区| 精品久久久久av影院| 欧美精品日韩精品| 精品视频一区 二区 三区| 91日韩精品一区| 99re这里只有精品首页| 欧洲一区在线电影| 在线观看视频91| 91蜜桃视频在线| thepron国产精品| 成a人片亚洲日本久久| 国产精品456露脸| 国产精品456| 大胆欧美人体老妇| 懂色av一区二区三区蜜臀| 日韩精品一级中文字幕精品视频免费观看| 亚洲欧美一区二区三区孕妇| 国产精品第一页第二页第三页| 国产精品家庭影院| 最新高清无码专区| 亚洲欧美二区三区| 亚洲最快最全在线视频| 一区二区在线免费| 中文字幕一区二区5566日韩| 亚洲综合av网| 日本不卡高清视频| 青青草视频一区| 狠狠色综合色综合网络| 国产乱码一区二区三区| 国产91色综合久久免费分享| 成人av在线资源网站| 色综合久久天天| 欧美裸体一区二区三区| 日韩欧美中文一区二区| 欧美一区二区精品在线| 欧美一区二区三区人| 国产午夜精品久久| 亚洲男人天堂av| 免费亚洲电影在线| 国产酒店精品激情| 99精品1区2区| 欧美日韩日日摸| 精品美女在线观看| 国产精品久久久久久户外露出 | 91网站视频在线观看| 欧美三级日韩三级国产三级| 欧美一个色资源| 欧美韩国日本不卡| 国产欧美精品一区二区色综合| 亚洲mv在线观看| 国产精品一区二区无线| 色猫猫国产区一区二在线视频| 欧美夫妻性生活| 欧美精彩视频一区二区三区| 国产精品久久久久影视| 国内不卡的二区三区中文字幕| 波多野结衣亚洲| 欧美一级二级三级蜜桃| 亚洲精品视频免费看| 精品一区二区三区香蕉蜜桃| 国产成人免费视频网站高清观看视频| 欧美电影影音先锋| 欧美国产日产图区| 丝袜亚洲另类欧美| 99视频超级精品| 精品美女被调教视频大全网站| 国产精品美女久久久久高潮| 国内精品视频666| 欧美日韩一级片网站| 中文字幕免费在线观看视频一区| 日本亚洲免费观看| 91丨porny丨国产入口| 久久久久99精品一区| 日韩影院免费视频| 色av一区二区| 日韩欧美二区三区| 一区二区三区在线观看国产| 国产精品一二三在| 欧美一级在线观看| 图片区小说区区亚洲影院| 99视频有精品| 欧美韩日一区二区三区| 久久er精品视频| 337p亚洲精品色噜噜| 亚洲欧美日韩综合aⅴ视频| 国产精品一二三在| 欧美不卡在线视频| 蜜臀a∨国产成人精品| 在线观看视频91| 中文天堂在线一区| 99久久精品免费精品国产| 久久精品欧美一区二区三区不卡| 日日夜夜精品视频天天综合网| 91成人国产精品| 亚洲人成在线观看一区二区| 99精品久久久久久| 国产精品麻豆视频| 成人妖精视频yjsp地址| 亚洲精品视频免费观看| 99综合影院在线| 久久亚洲一级片| 成人精品视频一区二区三区| 久久久青草青青国产亚洲免观| 蜜臀a∨国产成人精品| 日韩欧美在线1卡| 一卡二卡欧美日韩| 在线综合视频播放| 免费看欧美女人艹b| 日韩精品一区二区三区老鸭窝 | 日韩一区在线看| 成a人片国产精品| 亚洲视频免费观看| 91网站最新地址| 舔着乳尖日韩一区| 欧美一区二区三区日韩| 老汉av免费一区二区三区| 精品国产百合女同互慰|