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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sysinit.c

?? freescale MAC DSP的算法庫(FFT
?? C
字號(hào):
/*********************************************************************
 *
 * Copyright:
 *	1999-2000 MOTOROLA, INC. All Rights Reserved.  
 *  You are hereby granted a copyright license to use, modify, and
 *  distribute the SOFTWARE so long as this entire notice is
 *  retained without alteration in any modified and/or redistributed
 *  versions, and that such modified versions are clearly identified
 *  as such. No licenses are granted by implication, estoppel or
 *  otherwise under any patents or trademarks of Motorola, Inc. This 
 *  software is provided on an "AS IS" basis and without warranty.
 *
 *  To the maximum extent permitted by applicable law, MOTOROLA 
 *  DISCLAIMS ALL WARRANTIES WHETHER EXPRESS OR IMPLIED, INCLUDING 
 *  IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
 *  PURPOSE AND ANY WARRANTY AGAINST INFRINGEMENT WITH REGARD TO THE 
 *  SOFTWARE (INCLUDING ANY MODIFIED VERSIONS THEREOF) AND ANY 
 *  ACCOMPANYING WRITTEN MATERIALS.
 * 
 *  To the maximum extent permitted by applicable law, IN NO EVENT
 *  SHALL MOTOROLA BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING 
 *  WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS 
 *  INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY
 *  LOSS) ARISING OF THE USE OR INABILITY TO USE THE SOFTWARE.   
 * 
 *  Motorola assumes no responsibility for the maintenance and support
 *  of this software
 ********************************************************************/

/*
 * File:		sysinit.c
 * Purpose:		Reset configuration of the M5282EVB
 */

#include "mcf5282.h"
#include "init.h"
#include <stdio.h>
/********************************************************************/

void mcf5282_uart_init(void);
void mcf5282_pll_init(void);


void
mcf5282_init(void)
{
	void mcf5282_wtm_init(void);
	void mcf5282_scm_init(void);
	void mcf5282_cs_init(void);
	void mcf5282_sdram_init(void);
	
	extern char __DATA_ROM[];
	extern char __DATA_RAM[];
	extern char __DATA_END[];
	extern char __BSS_START[];
	extern char __BSS_END[];
	extern uint32 VECTOR_TABLE[];
	extern uint32 __VECTOR_RAM[];
	register uint32 n;
	register uint8 *dp, *sp;

    MCF5282_GPIO_PBCDPAR = 0xC0; /* Get access to SDRAM */


	mcf5282_wtm_init();
	mcf5282_pll_init();
	mcf5282_scm_init();
	mcf5282_uart_init();
	mcf5282_cs_init();
	mcf5282_sdram_init();
	
	/* Turn Instruction Cache ON */
/*
	mcf5xxx_wr_cacr(0
		| MCF5XXX_CACR_CENB
		| MCF5XXX_CACR_CINV
		| MCF5XXX_CACR_DISD
		| MCF5XXX_CACR_CEIB
		| MCF5XXX_CACR_CLNF_00);
... and I'm turning it OFF - Scott Mauer */
		
	/* Copy the vector table to RAM */
	if (__VECTOR_RAM != VECTOR_TABLE)
	{
		for (n = 0; n < 256; n++)
			__VECTOR_RAM[n] = VECTOR_TABLE[n];
	}
    mcf5xxx_wr_vbr((uint32)__VECTOR_RAM);

	/* 
	 * Move initialized data from ROM to RAM. 
	 */
	if (__DATA_ROM != __DATA_RAM)
	{
		dp = (uint8 *)__DATA_RAM;
		sp = (uint8 *)__DATA_ROM;
		n = __DATA_END - __DATA_RAM;
		while (n--)
			*dp++ = *sp++;
	}
 
	/* 
	 * Zero uninitialized data 
	 */
	if (__BSS_START != __BSS_END)
	{
		sp = (uint8 *)__BSS_START;
		n = __BSS_END - __BSS_START;
		while (n--)
			*sp++ = 0;
	}
}

/********************************************************************/
/* #pragma overload void __initialize_hardware(void); */
/* Called by Metrowerks Runtime to initialize UARTs */
void __initialize_hardware(void)
{
mcf5282_pll_init();
mcf5282_uart_init();
}


/********************************************************************/

/********************************************************************/
void 
mcf5282_wtm_init(void)
{
	/*
	 * Disable Software Watchdog Timer
	 */
	MCF5282_WTM_WCR = 0;
}
/********************************************************************/
void 
mcf5282_pll_init(void)
{
	/*
	 * Multiply 8Mhz reference crystal by 8 to acheive system clock of 64Mhz
	 */
	MCF5282_CLOCK_SYNCR = MCF5282_CLOCK_SYNCR_MFD(2);
	
	while (!(MCF5282_CLOCK_SYNSR & MCF5282_CLOCK_SYNSR_LOCK));
}
/****************************************************************/
void
mcf5282_scm_init(void)
{
	/* 
	 * Enable on-chip modules to access internal SRAM 
	 */
	MCF5282_SCM_RAMBAR = (0 
		|	MCF5282_SCM_RAMBAR_BA(SRAM_ADDRESS)
		|	MCF5282_SCM_RAMBAR_BDE);
}
/********************************************************************/
void
mcf5282_uart_init(void)
{
	/*
	 * Initialize all three UARTs for serial communications
	 */
 
	register uint16 ubgs;

	/*
	 * Set Port UA to initialize URXD0/URXD1 UTXD0/UTXD1 
	 */
	MCF5282_GPIO_PUAPAR = 0x0F;

	/*
	 * Reset Transmitter 
	 */
	MCF5282_UART0_UCR = MCF5282_UART_UCR_RESET_TX;
	MCF5282_UART1_UCR = MCF5282_UART_UCR_RESET_TX;
	MCF5282_UART2_UCR = MCF5282_UART_UCR_RESET_TX;

	/* 
	 * Reset Receiver 
	 */
	MCF5282_UART0_UCR = MCF5282_UART_UCR_RESET_RX;
	MCF5282_UART1_UCR = MCF5282_UART_UCR_RESET_RX;
	MCF5282_UART2_UCR = MCF5282_UART_UCR_RESET_RX;

	/* 
	 * Reset Mode Register 
	 */	
	MCF5282_UART0_UCR = MCF5282_UART_UCR_RESET_MR;
	MCF5282_UART1_UCR = MCF5282_UART_UCR_RESET_MR;
	MCF5282_UART2_UCR = MCF5282_UART_UCR_RESET_MR;

	/*
	 * No parity, 8-bits per character 
	 */
	MCF5282_UART0_UMR = (0
		| MCF5282_UART_UMR1_PM_NONE
		| MCF5282_UART_UMR1_BC_8 );
	MCF5282_UART1_UMR = (0
		| MCF5282_UART_UMR1_PM_NONE
		| MCF5282_UART_UMR1_BC_8 );
	MCF5282_UART2_UMR = (0
		| MCF5282_UART_UMR1_PM_NONE
		| MCF5282_UART_UMR1_BC_8 );

	/*
	 * No echo or loopback, 1 stop bit 
	 */
	MCF5282_UART0_UMR = (0
		| MCF5282_UART_UMR2_CM_NORMAL
		| MCF5282_UART_UMR2_STOP_BITS_1);
	MCF5282_UART1_UMR = (0
		| MCF5282_UART_UMR2_CM_NORMAL
		| MCF5282_UART_UMR2_STOP_BITS_1);
	MCF5282_UART2_UMR = (0
		| MCF5282_UART_UMR2_CM_NORMAL
		| MCF5282_UART_UMR2_STOP_BITS_1);

	/*
	 * Set Rx and Tx baud by timer 
	 */
	MCF5282_UART0_UCSR = (0
		| MCF5282_UART_UCSR_RCS_SYS_CLK
		| MCF5282_UART_UCSR_TCS_SYS_CLK);
	MCF5282_UART1_UCSR = (0
		| MCF5282_UART_UCSR_RCS_SYS_CLK
		| MCF5282_UART_UCSR_TCS_SYS_CLK);
	MCF5282_UART2_UCSR = (0
		| MCF5282_UART_UCSR_RCS_SYS_CLK
		| MCF5282_UART_UCSR_TCS_SYS_CLK);
	
	/*
	 * Mask all UART interrupts 
	 */
	MCF5282_UART0_UIMR = 0;
	MCF5282_UART1_UIMR = 0;
	MCF5282_UART2_UIMR = 0;

	/*
	 * Calculate baud settings 
	 */
	ubgs = (uint16)((SYSTEM_CLOCK*1000000)/(UART_BAUD * 32));

	MCF5282_UART0_UBG1 = (uint8)((ubgs & 0xFF00) >> 8);
	MCF5282_UART0_UBG2 = (uint8)(ubgs & 0x00FF);
	MCF5282_UART1_UBG1 = (uint8)((ubgs & 0xFF00) >> 8);
	MCF5282_UART1_UBG2 = (uint8)(ubgs & 0x00FF);
	MCF5282_UART2_UBG1 = (uint8)((ubgs & 0xFF00) >> 8);
	MCF5282_UART2_UBG2 = (uint8)(ubgs & 0x00FF);

	/* 
	 * Enable receiver and transmitter 
	 */
	MCF5282_UART0_UCR = (0
		| MCF5282_UART_UCR_TX_ENABLED
		| MCF5282_UART_UCR_RX_ENABLED);
	MCF5282_UART1_UCR = (0
		| MCF5282_UART_UCR_TX_ENABLED
		| MCF5282_UART_UCR_RX_ENABLED);
	MCF5282_UART2_UCR = (0
		| MCF5282_UART_UCR_TX_ENABLED
		| MCF5282_UART_UCR_RX_ENABLED);
}
/********************************************************************/
void
mcf5282_sdram_init(void)
{
	int i;

	/*
	 * Check to see if the SDRAM has already been initialized
	 * by a run control tool
	 */
	if (!(MCF5282_SDRAMC_DACR0 & MCF5282_SDRAMC_DACR_RE))
	{
		/* 
		 * Initialize DRAM Control Register: DCR 
		 */
		MCF5282_SDRAMC_DCR = (0
			| MCF5282_SDRAMC_DCR_RTIM_6
			| MCF5282_SDRAMC_DCR_RC((15 * SYSTEM_CLOCK)>>4));

		/* 
		 * Initialize DACR0
		 */
		MCF5282_SDRAMC_DACR0 = (0
			| MCF5282_SDRAMC_DACR_BASE(SDRAM_ADDRESS)
			| MCF5282_SDRAMC_DACR_CASL(1)
			| MCF5282_SDRAMC_DACR_CBM(3)
			| MCF5282_SDRAMC_DACR_PS_32);
			
		/*
		 * Initialize DMR0
		 */
		MCF5282_SDRAMC_DMR0 = (0
			| MCF5282_SDRAMC_DMR_BAM_16M
			| MCF5282_SDRAMC_DMR_V);

		/*	
		 * Set IP (bit 3) in DACR 
		 */
		MCF5282_SDRAMC_DACR0 |= MCF5282_SDRAMC_DACR_IP;

		/* 
		 * Wait 30ns to allow banks to precharge 
		 */
		for (i = 0; i < 5; i++)
		{
			#ifndef __MWERKS__
				asm(" nop");
#else
				asm( nop);
#endif
	}

		/*	
		 * Write to this block to initiate precharge 
		 */
		*(uint32 *)(SDRAM_ADDRESS) = 0xA5A59696;

		/*	
		 * Set RE (bit 15) in DACR 
		 */
		MCF5282_SDRAMC_DACR0 |= MCF5282_SDRAMC_DACR_RE;
			
		/* 
		 * Wait for at least 8 auto refresh cycles to occur 
		 */
		for (i = 0; i < 2000; i++)
		{
			#ifndef __MWERKS__
				asm(" nop");
#else
				asm( nop);
#endif
}

		/*	
		 * Finish the configuration by issuing the IMRS. 
		 */
		MCF5282_SDRAMC_DACR0 |= MCF5282_SDRAMC_DACR_IMRS;
		
		/*
		 * Write to the SDRAM Mode Register 
		 */
		*(uint32 *)(SDRAM_ADDRESS + 0x400) = 0xA5A59696;
	}
}
/********************************************************************/
void
mcf5282_cs_init(void)
{
	/* 
	 * ChipSelect 1 - External SRAM 
	 */
	MCF5282_CS1_CSAR = MCF5282_CS_CSAR_BA(EXT_SRAM_ADDRESS);
	MCF5282_CS1_CSCR = MCF5282_CS_CSCR_AA | MCF5282_CS_CSCR_PS_32;
	MCF5282_CS1_CSMR = MCF5282_CS_CSMR_BAM_512K | MCF5282_CS_CSMR_V;
    
    /* 
	 * ChipSelect 0 - External Flash 
	 */ 
	MCF5282_CS0_CSAR = MCF5282_CS_CSAR_BA(EXT_FLASH_ADDRESS);
	MCF5282_CS0_CSCR = (0
		| MCF5282_CS_CSCR_WS(6)
		| MCF5282_CS_CSCR_AA
		| MCF5282_CS_CSCR_PS_16);
	MCF5282_CS0_CSMR = MCF5282_CS_CSMR_BAM_2M | MCF5282_CS_CSMR_V;
}
/********************************************************************/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品精品国产高清一毛片一天堂| 成人黄色网址在线观看| 精品成人一区二区三区| 91麻豆福利精品推荐| 精品一区二区国语对白| 一区二区三区日韩欧美精品 | 欧美肥大bbwbbw高潮| 国产成人精品亚洲日本在线桃色 | 色婷婷亚洲精品| 国模一区二区三区白浆| 亚洲一区在线观看免费观看电影高清 | 91国偷自产一区二区使用方法| 久久国产人妖系列| 亚洲成人av资源| 亚洲蜜臀av乱码久久精品蜜桃| 久久久精品日韩欧美| 欧美一区二区三区播放老司机| 色综合天天狠狠| 懂色一区二区三区免费观看| 麻豆精品精品国产自在97香蕉| 一区二区三区日韩欧美| 亚洲同性同志一二三专区| 国产日本欧洲亚洲| 欧美精品一区二区三区蜜桃| 欧美肥妇free| 欧美二区乱c少妇| 欧美天堂一区二区三区| 91福利视频久久久久| 成人av一区二区三区| 成人免费va视频| 国产成人综合自拍| 国产精品1区二区.| 国产成人亚洲综合色影视| 国产一区二三区| 狠狠色丁香久久婷婷综| 国产一区二区三区蝌蚪| 国产在线一区观看| 国产乱码字幕精品高清av| 国内精品国产成人国产三级粉色| 日韩高清不卡一区二区| 日韩av不卡在线观看| 国产一二精品视频| 韩国在线一区二区| 紧缚捆绑精品一区二区| 国产一区二区91| 从欧美一区二区三区| 国产成人午夜电影网| 成人午夜激情在线| 91香蕉视频mp4| 欧美性猛交xxxxxx富婆| 欧美日韩高清在线| 91精品国产综合久久久蜜臀粉嫩 | 国产激情一区二区三区桃花岛亚洲| 久久精品国产第一区二区三区| 久久福利资源站| 国产一区在线观看视频| 成人动漫中文字幕| 91九色02白丝porn| 91精品福利在线一区二区三区| 日韩精品一区二区三区中文不卡| 精品国内二区三区| 欧美国产视频在线| 一区二区在线看| 美女视频黄 久久| 国产高清精品在线| 在线视频一区二区三| 欧美一区二区私人影院日本| 精品国产青草久久久久福利| 欧美激情中文字幕| 亚洲一卡二卡三卡四卡五卡| 奇米色一区二区三区四区| 国产精品一二三四区| 色综合天天综合在线视频| 欧美高清dvd| 国产日韩欧美精品一区| 亚洲成人久久影院| 国产精品中文欧美| 欧洲激情一区二区| 精品对白一区国产伦| 亚洲精品视频在线观看网站| 日韩影院免费视频| 成人免费视频免费观看| 欧美日韩一区三区| 中文字幕欧美三区| 日韩精品高清不卡| 成人午夜精品在线| 日韩精品专区在线影院重磅| 国产精品视频免费| 久久激情综合网| 欧美亚洲高清一区二区三区不卡| 精品国产区一区| 亚洲成av人**亚洲成av**| av影院午夜一区| 欧美大片国产精品| 亚洲综合在线观看视频| 国产激情视频一区二区三区欧美 | 久久久99精品免费观看不卡| 亚洲国产精品久久久男人的天堂| 国产麻豆精品在线观看| 欧美日韩国产高清一区二区三区| 国产精品全国免费观看高清 | 欧美色网站导航| 国产精品乱子久久久久| 蜜臂av日日欢夜夜爽一区| 色妞www精品视频| 国产调教视频一区| 久久99久久久久久久久久久| 欧美在线观看视频在线| 国产精品久久久久久久久动漫 | 欧美电影免费观看高清完整版在 | 欧美变态tickling挠脚心| 亚洲激情六月丁香| av不卡免费电影| 国产网站一区二区| 韩国精品在线观看| 日韩精品在线看片z| 天天综合网天天综合色| 在线免费观看日本欧美| 日韩一区中文字幕| 国产suv精品一区二区883| 久久亚洲私人国产精品va媚药| 青青草国产成人99久久| 欧美日韩国产bt| 图片区小说区国产精品视频| 91九色02白丝porn| 亚洲最新视频在线播放| 日本丶国产丶欧美色综合| 亚洲视频图片小说| 97se亚洲国产综合自在线不卡 | 青青草原综合久久大伊人精品优势| 在线观看网站黄不卡| 成人免费一区二区三区在线观看| 成人深夜视频在线观看| 国产精品美女一区二区| eeuss鲁片一区二区三区在线观看| 欧美国产欧美综合| 成人黄色小视频在线观看| 国产精品福利一区| 白白色 亚洲乱淫| 亚洲视频一区二区在线观看| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲精品v日韩精品| 欧日韩精品视频| 亚洲国产欧美在线| 7777精品伊人久久久大香线蕉| 日韩精彩视频在线观看| 欧美电影精品一区二区| 国产麻豆日韩欧美久久| 国产精品国产三级国产普通话蜜臀 | 自拍偷在线精品自拍偷无码专区 | 国产精品一区二区男女羞羞无遮挡| 欧美精品一区二区三区蜜桃视频| 美女性感视频久久| 国产亚洲精久久久久久| 成人激情小说网站| 亚洲精品久久7777| 91精品国产91久久久久久一区二区 | 国产日韩精品一区二区浪潮av| 国产激情一区二区三区四区| 亚洲国产高清在线观看视频| 色妹子一区二区| 日本不卡在线视频| 久久精品人人做人人爽97| 9i在线看片成人免费| 亚洲一区二区三区四区的| 日韩精品在线看片z| 成人夜色视频网站在线观看| 亚洲精品国产精品乱码不99| 91精品国产aⅴ一区二区| 国产麻豆精品在线| 亚洲乱码精品一二三四区日韩在线| 欧美日韩不卡一区二区| 国产一区二区三区高清播放| 国产精品久久久久一区二区三区共| 在线亚洲一区二区| 美腿丝袜亚洲三区| 最新久久zyz资源站| 欧美一区二区视频免费观看| 国产精品一卡二| 亚洲综合精品自拍| 欧美成人vps| 91麻豆国产精品久久| 精品一区二区三区视频在线观看| 国产精品女人毛片| 这里只有精品视频在线观看| 国产福利精品导航| 婷婷中文字幕一区三区| 国产精品美女久久久久久2018| 欧美乱妇20p| 成人激情校园春色| 日韩av一区二区三区| 日韩一区欧美一区| 精品日韩一区二区三区免费视频| 91香蕉视频在线| 国产精品一二三四| 日本成人在线网站| 一区二区三区鲁丝不卡| 国产精品天美传媒| 欧美草草影院在线视频| 色久优优欧美色久优优|