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

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

?? system.c

?? 三星 s3c6400測試代碼
?? C
字號:
/**************************************************************************************
* 
*	Project Name : S3C6400 Validation
*
*	Copyright 2006 by Samsung Electronics, Inc.
*	All rights reserved.
*
*	Project Description :
*		This software is only for validating functions of the S3C6400.
*		Anybody can use this software without our permission.
*  
*--------------------------------------------------------------------------------------
* 
*	File Name : system.c
*  
*	File Description : This file implements exceptions and MMU/Cache control.
*
*	Author : Haksoo,Kim
*	Dept. : AP Development Team
*	Created Date : 2006/11/08
*	Version : 0.1 
* 
*	History
*	- Created(Haksoo,Kim 2006/11/08)
*  
**************************************************************************************/

#include <stdio.h>

#include "option.h"
#include "library.h"
#include "sfr6400.h"
#include "system.h"
#include "intc.h"

////
// Exception
//
#define pExceptionRESET			(*(u32 *)(_Exception_Vector + 0x0))
#define pExceptionUNDEF			(*(u32 *)(_Exception_Vector + 0x4))
#define pExceptionSWI			(*(u32 *)(_Exception_Vector + 0x8))
#define pExceptionPABORT		(*(u32 *)(_Exception_Vector + 0xc))
#define pExceptionDABORT		(*(u32 *)(_Exception_Vector + 0x10))
#define pExceptionRESERVED		(*(u32 *)(_Exception_Vector + 0x14))
#define pExceptionIRQ			(*(u32 *)(_Exception_Vector + 0x18))
#define pExceptionFIQ			(*(u32 *)(_Exception_Vector + 0x1c))


////
// MMU/Cache
//
#define DESC_SEC		(2<<0)

#define CB				(3<<2)				//cache_on, write_back
#define CNB				(2<<2)				//cache_on, write_through 
#define NCB				(1<<2)				//cache_off,WR_BUF on
#define NCNB			(0<<2)				//cache_off,WR_BUF off
#define AP_RW			(3<<10)				//supervisor=RW, user=RW
#define AP_RO			(2<<10)				//supervisor=RW, user=RO
#define AP_NO			(1<<10)				//supervisor=RW, user=No access

#define DOMAIN_FAULT	(0x0)
#define DOMAIN_CHK		(0x1) 
#define DOMAIN_NOTCHK	(0x3) 
#define DOMAIN0			(0x0<<5)
#define DOMAIN1			(0x1<<5)

#define DOMAIN0_ATTR	(DOMAIN_CHK<<0) 
#define DOMAIN1_ATTR	(DOMAIN_FAULT<<2) 

#define RW_CB			(AP_RW|DOMAIN0|CB|DESC_SEC)
#define RW_CNB			(AP_RW|DOMAIN0|CNB|DESC_SEC)
#define RW_NCB			(AP_RW|DOMAIN0|NCB|DESC_SEC)
#define RW_NCNB			(AP_RW|DOMAIN0|NCNB|DESC_SEC)
#define RW_FAULT		(AP_RW|DOMAIN1|NCNB|DESC_SEC)
#define RW_NSNCNB		((0<<19)|AP_RW|DOMAIN0|NCNB|DESC_SEC)

//////////
// Function Name : ExceptionUNDEF
// Function Description : 
// Input : NONE
// Output : NONE
// Version : 
void ExceptionUNDEF(void)
{
	printf("Undefined instruction exception.\n");
	while(1);
}

//////////
// Function Name : ExceptionSWI
// Function Description : 
// Input : NONE
// Output : NONE
// Version : 
void ExceptionSWI(void)
{
	printf("SWI exception.\n");
	while(1);
}

//////////
// Function Name : ExceptionPABORT
// Function Description : 
// Input : NONE
// Output : NONE
// Version : 
void ExceptionPABORT(void)
{
	printf("IFSR=0x%x\n",SYSTEM_ReadIFSR());
	printf("FAR=0x%x\n",SYSTEM_ReadFAR());
	printf("Pabort exception.\n");
	while(1);
}

//////////
// Function Name : ExceptionDABORT
// Function Description : 
// Input : NONE
// Output : NONE
// Version : 
void ExceptionDABORT(void)
{
	printf("DFSR=0x%x\n",SYSTEM_ReadDFSR());
	printf("FAR=0x%x\n",SYSTEM_ReadFAR());
	printf("Dabort exception.\n");
	while(1);
}

void (*IntHandlerTable[INT_LIMIT])(void);
//////////
// Function Name : ExceptionIRQ
// Function Description : 
// Input : NONE
// Output : NONE
// Version : 
void ExceptionIRQ(void)
{
	u32 intNum;

	intNum=INTC_ReadIntSrc();
	IntHandlerTable[intNum]();

	return;
}

//////////
// Function Name : ExceptionFIQ
// Function Description : 
// Input : NONE
// Output : NONE
// Version : 
void ExceptionFIQ(void)
{
	printf("FIQ exception.\n");
	while(1);
}

//////////
// Function Name : SYSTEM_InitException
// Function Description : 
// Input : NONE
// Output : NONE
// Version
void SYSTEM_InitException( void)
{
	pExceptionUNDEF		=	(u32)ExceptionUNDEF;
	pExceptionSWI  		=	(u32)ExceptionSWI;
	pExceptionPABORT	=	(u32)ExceptionPABORT;
	pExceptionDABORT	=	(u32)ExceptionDABORT;
	pExceptionIRQ		=	(u32)ExceptionIRQ;
	pExceptionFIQ		=	(u32)ExceptionFIQ;

	INTC_Init();

	SYSTEM_EnableVIC();
	SYSTEM_EnableIRQ();
	SYSTEM_EnableFIQ();
}

//////////
// Function Name : SYSTEM_SetMmuMtt
// Function Description : 
// Input : NONE
// Output : NONE
// Version : 
void SYSTEM_SetMmuMtt(u32 vaddrStart,u32 vaddrEnd,u32 paddrStart,u32 attr)
{
    u32 *pTT;
    int i,nSec;

    pTT		=	(u32 *)_MMUTT_BaseAddress+(vaddrStart>>20);
    nSec	=	(vaddrEnd>>20)-(vaddrStart>>20);
    
    for(i=0;i<=nSec;i++)
    	*pTT++	=	attr | (((paddrStart>>20)+i)<<20);
}

//////////
// Function Name : SYSTEM_InitMmu
// Function Description : 
// Input : NONE
// Output : NONE
// Version : 
void SYSTEM_InitMmu(void)
{

	//========================== IMPORTANT NOTE =========================
	//The current stack and code area can't be re-mapped in this routine.
	//If you want memory map mapped freely, your own sophiscated MMU
	//initialization code is needed.
	//===================================================================

	SYSTEM_DisableICache();
	SYSTEM_DisableDCache();

	SYSTEM_InvalidateEntireICache();
	SYSTEM_CleanInvalidateEntireDCache();

	SYSTEM_DisableMMU();
	SYSTEM_InvalidateTLB();

	//	SROM
	SYSTEM_SetMmuMtt(0x00000000,0x07f00000,0x00000000,RW_NCNB);	//mirroed region
	SYSTEM_SetMmuMtt(0x08000000,0x0bf00000,0x08000000,RW_NCNB);	//internal rom
	SYSTEM_SetMmuMtt(0x0c000000,0x0ff00000,0x0c000000,RW_NCNB);	//stepping stone
	SYSTEM_SetMmuMtt(0x10000000,0x17f00000,0x10000000,RW_NCNB);	//nCS0
	SYSTEM_SetMmuMtt(0x18000000,0x1ff00000,0x18000000,RW_NCNB);	//nCS1
	SYSTEM_SetMmuMtt(0x20000000,0x27f00000,0x20000000,RW_NCNB);	//nCS2
	SYSTEM_SetMmuMtt(0x28000000,0x2ff00000,0x28000000,RW_NCNB);	//nCS3
	SYSTEM_SetMmuMtt(0x30000000,0x37f00000,0x30000000,RW_NCNB);	//nCS4
	SYSTEM_SetMmuMtt(0x38000000,0x3ff00000,0x38000000,RW_NCNB);	//nCS5

	//	SDRAM (MEM Port0)

	SYSTEM_SetMmuMtt(_DRAM0_BaseAddress+0x00000000,_DRAM0_BaseAddress+0x03ffffff,_DRAM0_BaseAddress+0x00000000,RW_NCNB);
	
	//	SDRAM (MEM Port1)
	SYSTEM_SetMmuMtt(_DRAM_BaseAddress+0x00000000,_DRAM_BaseAddress+0x00f00000,_DRAM_BaseAddress+0x00000000,RW_CB);
	SYSTEM_SetMmuMtt(_DRAM_BaseAddress+0x01000000,_DRAM_BaseAddress+0x07e00000,_DRAM_BaseAddress+0x01000000,RW_NCNB);
	SYSTEM_SetMmuMtt(_DRAM_BaseAddress+0x07f00000,_DRAM_BaseAddress+0x07f00000,_DRAM_BaseAddress+0x07f00000,RW_CB);

	//	SFR & Etc
	SYSTEM_SetMmuMtt(0x70000000,0x7ff00000,0x70000000,RW_NCNB);  //SFR

	//TCM
	SYSTEM_SetMmuMtt(0x80000000,0x80f00000,0x80000000,RW_NCNB);  
	
	SYSTEM_SetTTBase(_MMUTT_BaseAddress);

	//DOMAIN1: no_access, DOMAIN0,2~15=client(AP is checked)
	SYSTEM_SetDomain(0x55555550|DOMAIN1_ATTR|DOMAIN0_ATTR); 

	SYSTEM_SetFCSEPID(0x0);
	SYSTEM_EnableAlignFault();

	SYSTEM_EnableMMU();
	SYSTEM_EnableICache();
	SYSTEM_EnableDCache(); //DCache should be turned on after MMU is turned on.
	SYSTEM_EnableBP();

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲男人都懂的| 三级欧美在线一区| 国产精品一二三四区| 日韩免费高清视频| 国产一区二区三区久久悠悠色av| 日韩免费高清视频| 国产成人自拍网| 国产精品免费丝袜| 色婷婷综合久久久中文一区二区| 亚洲三级久久久| 欧美狂野另类xxxxoooo| 奇米色一区二区| 国产午夜亚洲精品羞羞网站| 国产成人夜色高潮福利影视| 日韩美女视频19| 欧美亚男人的天堂| 麻豆91精品91久久久的内涵| 亚洲精品在线三区| 国产精品99久久不卡二区| 中文字幕中文乱码欧美一区二区 | 国产成人精品一区二区三区四区| 国产女同互慰高潮91漫画| voyeur盗摄精品| 亚洲成av人片在线观看无码| 日韩免费性生活视频播放| 成人永久看片免费视频天堂| 一区二区在线看| 日韩视频一区二区三区| 成人精品一区二区三区中文字幕 | 色婷婷av一区| 久久99久久久欧美国产| 国产精品白丝在线| 日韩一区二区三区免费看| 国产一区二区视频在线| 亚洲精品老司机| 精品欧美一区二区三区精品久久| 成人高清视频免费观看| 日韩精品每日更新| 综合久久综合久久| 欧美精品一区二区久久婷婷| 91首页免费视频| 美女www一区二区| 亚洲精品欧美激情| 欧美岛国在线观看| 91亚洲男人天堂| 久久av老司机精品网站导航| 中文字幕中文字幕一区| 欧美sm极限捆绑bd| 欧美影片第一页| 国产成人精品午夜视频免费| 日韩精品一级二级 | 欧美影院精品一区| 福利一区福利二区| 久久精品国产第一区二区三区| 亚洲久本草在线中文字幕| 精品久久国产老人久久综合| 欧洲激情一区二区| 国产iv一区二区三区| 蜜臀av一级做a爰片久久| 中文字幕一区二区三区四区不卡| 欧美成人一区二区三区| 日本道免费精品一区二区三区| 国产一区亚洲一区| 日韩av电影天堂| 亚洲va韩国va欧美va| 亚洲男同1069视频| 亚洲欧洲日韩在线| 国产欧美一区二区精品性色| 欧美www视频| 欧美精品日韩一本| 在线观看网站黄不卡| 99精品一区二区| 粉嫩av一区二区三区在线播放| 精品亚洲免费视频| 日韩成人午夜电影| 日日夜夜免费精品视频| 亚洲大片精品永久免费| 亚洲精品免费播放| 亚洲精选视频在线| 亚洲综合男人的天堂| 中文字幕中文字幕一区二区| 国产精品系列在线| 国产精品毛片无遮挡高清| 欧美国产乱子伦 | av成人动漫在线观看| 国产成人午夜高潮毛片| 国产老女人精品毛片久久| 国产剧情一区二区| 国内精品视频一区二区三区八戒| 久久国产精品99精品国产| 老司机一区二区| 国产一区在线视频| 不卡av免费在线观看| aaa亚洲精品| 色综合欧美在线| 欧美在线综合视频| 正在播放亚洲一区| 91精品国产手机| 日韩一级完整毛片| 久久久影院官网| 国产精品污网站| 亚洲精选在线视频| 日本不卡一区二区| 国产综合色产在线精品| 成人网页在线观看| 欧美性一区二区| 日韩视频一区二区在线观看| 久久久精品免费观看| 亚洲人成影院在线观看| 亚洲成av人片观看| 国产综合久久久久影院| 不卡av电影在线播放| 欧美三级在线看| 日韩丝袜美女视频| 国产人妖乱国产精品人妖| 国产精品久久久久久久久久免费看| 欧美国产精品一区二区三区| 亚洲精品日产精品乱码不卡| 亚洲成av人片在线观看无码| 麻豆极品一区二区三区| 国产麻豆成人精品| 91色乱码一区二区三区| 欧美日韩国产天堂| 欧美xingq一区二区| 国产精品嫩草影院av蜜臀| 亚洲精品高清在线| 国产在线精品免费| 99久久久久久99| 91 com成人网| 久久久久久久国产精品影院| 久久免费的精品国产v∧| 亚洲视频狠狠干| 天天综合日日夜夜精品| 狠狠色狠狠色综合系列| 99久久精品情趣| 色一情一乱一乱一91av| 精品国产乱码91久久久久久网站| 国产午夜精品理论片a级大结局 | 国产精品久久精品日日| 亚洲国产综合91精品麻豆| 久久国产人妖系列| 成人av免费在线播放| 欧美日韩成人综合在线一区二区| 精品福利av导航| 一区二区三区四区不卡在线| 青青草成人在线观看| 国产精品88av| 日韩欧美国产wwwww| 亚洲女同女同女同女同女同69| 蜜臀a∨国产成人精品| 色综合久久综合网| 欧美大片在线观看| 爽好久久久欧美精品| 波多野结衣91| 精品国产乱码久久久久久浪潮| 一区二区三区四区在线免费观看| 日韩高清在线电影| 欧美日韩一区小说| 国产精品国产三级国产aⅴ中文| 日韩成人dvd| 91成人看片片| 国产精品欧美综合在线| 青娱乐精品在线视频| www.亚洲色图| 精品裸体舞一区二区三区| 综合电影一区二区三区| 国产美女精品人人做人人爽| 精品视频在线看| 亚洲一级在线观看| 色综合久久天天| 国产精品丝袜在线| 国产美女在线精品| 久久免费美女视频| 免费看精品久久片| 欧美日本在线播放| 亚洲高清免费一级二级三级| 9久草视频在线视频精品| 日本一区二区三区四区在线视频| 国内成人自拍视频| 日韩精品中文字幕在线不卡尤物| 亚洲视频中文字幕| 91精品福利在线| 亚洲欧洲中文日韩久久av乱码| av在线不卡免费看| 国产精品不卡一区二区三区| 色噜噜狠狠成人中文综合| 国产精品初高中害羞小美女文| 成人激情综合网站| 亚洲人精品午夜| 在线观看日产精品| 亚洲第一福利视频在线| 欧美日韩综合在线| 久久99蜜桃精品| 国产性天天综合网| 波多野结衣精品在线| 久久美女艺术照精彩视频福利播放 | 91成人在线精品| 亚洲一区二区三区精品在线| 色悠悠久久综合| 免费高清在线一区|