⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 initial.c

📁 日本IRON os 在汽车电子中的应用 高度机密
💻 C
📖 第 1 页 / 共 2 页
字号:
/********************************************************************************/
/*!
  @file		initial.c
  @brief	奺庬弶婜張棟
  @version	$Revision: 2.00 $
  @date		2007/XX/XX
  @author	Matsushita Electronics Co.,Ltd.
*/
/********************************************************************************/
#include	<stdio.h>
#include	<stdlib.h>

#include	<itron.h>
#include	<kernel.h>
#include	<kernel_id.h>

#include	"..\gerda_dd\include\gerda_dd.h"
#include	"..\gerda_dd\include\gerda_reg.h"
#include	"..\texture\texdata.h"

#include	"..\gerda_dd\include\am32.h"

#include	"systype.h"
#include	"sr103se60pub.h"
#include	"option.h"
#include	"if_cmd.h"
#include	"if_mxr.h"
#include	"if_txtid.h"
#include	"parameter.h"
#include	"dd_param.h"
#include	"dspctrl.h"

/********************************************************************/
/*	儅僋儘掕媊														*/
/********************************************************************/
#define		touch(x)		((x) = 0)		/* WARNING 懳嶔 */

/********************************************************************/
/*	娭悢愰尵														*/
/********************************************************************/
void vSet_InitIrq(void);		
void vSet_NormalPort(void);		
void vSet_TimerFunc(void);		
void vSet_SerialFunc(void);		
void vSet_DmaFunc(void);		

/********************************************************************/
/*	奜晹娭悢愰尵													*/
/********************************************************************/
extern	void begin_critical(void);			
extern	void end_critical(void);			
extern	void vSet_DmaPreSetWait(UCHAR);		

/********************************************************************/
/*	曄悢愰尵														*/
/********************************************************************/
extern	ucHST_d_com_buf[];
extern	ucHST_d_sts_buf[];


/********************************************************************/
/*	儅僋儘掕悢愰尵													*/
/********************************************************************/


/********************************************************************/
/*	掕悢愰尵														*/
/********************************************************************/



/***********************************************************************/
/*!
  @fn			void SetInitCPU(void)
  @brief		儅僀僐儞廃曈婡擻弶婜壔張棟
  @param[in]	側偟
  @return		側偟
  @date			2007/xx/xx
*/
/***********************************************************************/
void SetInitCPU(void)
{
	begin_critical();			/* 慡妱崬傒嬛巭							*/

	/* 妱崬傒儀僋僞乮IVARn乯儗僕僗僞偼 sysboot.asm 撪偵偰愝掕 */

	/****************************/
	/*	妱傝崬傒	 			*/
	/****************************/
	vSet_InitIrq();				/* 妱傝崬傒儗僕僗僞愝掕					*/

	/****************************/
	/*	斈梡億乕僩	 			*/
	/****************************/
	vSet_NormalPort();			/* 億乕僩愝掕							*/

	/****************************/
	/*	奺庬婡擻愝掕			*/
	/****************************/
	vSet_TimerFunc();			/* 僞僀儅婡擻愝掕						*/
	vSet_SerialFunc();			/* 僔儕傾儖婡擻愝掕						*/
	vSet_DmaFunc();				/* DMA婡擻愝掕							*/

	end_critical();				/* 慡妱崬傒嫋壜							*/
}


/***********************************************************************/
/*!
  @fn			void vSet_Dma0Init(void)
  @brief		DMA0婡擻 弶婜壔愝掕
  @param[in]	側偟
  @return		側偟
  @date			2007/xx/xx
*/
/***********************************************************************/
void vSet_Dma0Init(void)
{
#if (PCCOM == DMA)
	/* DMA0 揮憲 掆巭愝掕			*/
	bCPU_DM0TEN 	= 0;			/* DMA揮憲僨傿僙乕僽儖						*/

	/* DMA0 揮憲 掆巭懸偪			*/
	if ( bCPU_DM0RQF ){				/* 揮憲姰椆忬懺偺応崌						*/
		vSet_DmaPreSetWait(0);		/* DMA0 揮憲姰椆懸偪						*/
	}

	/* DMA0 惂屼儗僕僗僞愝掕			*/
	ui32_CPU_DM0CTR = 0x00000000;	/* DMA0惂屼儗僕僗僞弶婜壔					*/
	bCPU_DM0BG		= 1;			/* 婲摦梫場		丗僔儕傾儖0 庴怣廔椆梫場	*/
	bCPU_DM0SAM		= 2;			/* SRC懁揮憲傾僪儗僢僔儞僌儌乕僪丗屌掕		*/
	bCPU_DM0DAM		= 0;			/* DST懁揮憲傾僪儗僢僔儞僌儌乕僪丗僀儞僋儕	*/
	bCPU_DM0TM		= 1;			/* 揮憲儌乕僪	丗1岅揮憲					*/
	bCPU_DM0UT		= 0;			/* 揮憲扨埵  	丗8bit						*/

	/* DMA0 SRC/DST傾僪儗僗儗僕僗僞愝掕	*/
	ui32_CPU_DM0SRC = (ULONG)&ui8_CPU_SC0RB;			/* CH0 庴怣僶僢僼傽傾僪儗僗		*/
	ui32_CPU_DM0DST = (ULONG)((UCHAR*)&ucHST_d_com_buf);/* 奿擺僶僢僼傽愭摢傾僪儗僗		*/

	/* DMA1 揮憲岅悢傾僪儗僗儗僕僗僞愝掕*/
	ui16_CPU_DM0CNT	= 1;			/* DMA揮憲岅悢儗僕僗僞		丗1byte			*/

	/* DMA0 娫寚僒僀僋儖儗僕僗僞愝掕	*/
	ui8_CPU_DM0CYC	= 0;			/* 儗僕僗僞弶婜壔							*/

#endif	/* (PCCOM == DMA) */

}


/***********************************************************************/
/*!
  @fn			void vSet_Dma1Init(void)
  @brief		DMA1婡擻 弶婜壔愝掕
  @param[in]	側偟
  @return		側偟
  @date			2007/xx/xx
*/
/***********************************************************************/
void vSet_Dma1Init(void)
{
#if (PCCOM == DMA)
	/* DMA1 揮憲 掆巭愝掕			*/
	bCPU_DM1TEN 	= 0;			/* DMA揮憲僨傿僙乕僽儖					*/

	/* DMA1 揮憲 掆巭懸偪			*/
	if ( bCPU_DM1RQF ){				/* 揮憲姰椆忬懺偺応崌						*/
		vSet_DmaPreSetWait(1);		/* DMA1 揮憲姰椆懸偪						*/
	}

	/* DMA1 惂屼儗僕僗僞愝掕			*/
	ui32_CPU_DM1CTR = 0x00000000;	/* DMA0惂屼儗僕僗僞弶婜壔					*/
	bCPU_DM1BG		= 3;			/* 婲摦梫場		丗僔儕傾儖1憲怣廔椆梫場		*/
	bCPU_DM1SAM		= 0;			/* SRC懁揮憲傾僪儗僢僔儞僌儌乕僪 丗僀儞僋儕	*/
	bCPU_DM1DAM		= 2;			/* DEST懁揮憲傾僪儗僢僔儞僌儌乕僪丗屌掕		*/
	bCPU_DM1TM		= 1;			/* 揮憲儌乕僪	丗1岅揮憲					*/
	bCPU_DM1UT		= 0;			/* 揮憲扨埵  	丗8bit						*/

	/* DMA1 SRC/DST傾僪儗僗儗僕僗僞愝掕	*/
	ui32_CPU_DM1SRC = (ULONG)((UCHAR*)&ucHST_d_sts_buf + 1);/* CH1 憲怣僶僢僼傽傾僪儗僗	*/
	ui32_CPU_DM1DST = (ULONG)&ui8_CPU_SC0TB;				/* 奿擺僶僢僼傽愭摢傾僪儗僗	*/

	/* DMA1 揮憲岅悢傾僪儗僗儗僕僗僞愝掕*/
	ui16_CPU_DM1CNT	= 9;			/* DMA揮憲岅悢儗僕僗僞	丗9byte				*/

	/* DMA1 娫寚僒僀僋儖儗僕僗僞愝掕	*/
	ui8_CPU_DM1CYC	= 0;			/* 儗僕僗僞弶婜壔							*/

#endif	/* (PCCOM == DMA) */
}


/***********************************************************************/
/*!
  @fn			void vSet_Dma2Init(void)
  @brief		DMA2婡擻 弶婜壔愝掕
  @param[in]	側偟
  @return		側偟
  @date			2007/xx/xx
*/
/***********************************************************************/
void vSet_Dma2Init(void){;}


/***********************************************************************/
/*!
  @fn			void vSet_Dma2Init(void)
  @brief		DMA2婡擻 弶婜壔愝掕
  @param[in]	側偟
  @return		側偟
  @date			2007/xx/xx
*/
/***********************************************************************/
void vSet_Dma3Init(void){;}


/***********************************************************************/
/*!
  @fn			void vSet_DmaFunc(void)
  @brief		DMA婡擻 弶婜壔愝掕
  @param[in]	側偟
  @return		側偟
  @date			2007/xx/xx
*/
/***********************************************************************/
void vSet_DmaFunc(void)
{
	vSet_Dma0Init();					/* DMA0 婡擻 弶婜愝掕			*/
	vSet_Dma1Init();					/* DMA1 婡擻 弶婜愝掕			*/
	vSet_Dma2Init();					/* DMA2 婡擻 弶婜愝掕			*/
	vSet_Dma3Init();					/* DMA3 婡擻 弶婜愝掕			*/
}

/***********************************************************************/
/*!
  @fn			void vSet_Sc0Init(void)
  @brief		僔儕傾儖婡擻0 弶婜壔愝掕
  @param[in]	側偟
  @return		側偟
  @date			2007/xx/xx
*/
/***********************************************************************/
void vSet_Sc0Init(void)
{
	/* 僔儕傾儖抂巕愝掕 		*/
	ui8_CPU_SC0SCTR = 0x00;				/* 惂屼儗僕僗僞弶婜壔 					*/
	bCPU_SC0ICLK	= 0;				/* 擖椡僋儘僢僋愝掕丗僞僀儅0			*/
	bCPU_SIFOD0		= 0;				/* 僾僢僔儏僾儖/僆乕僾儞僪儗僀儞愗姺丗僾僢僔儏僾儖	*/
	bCPU_SIF2DDR0	= 0;				/* 僔儕傾儖擖椡抂巕曽岦惂屼丗擖椡		*/
	bCPU_SIFSBYDR0	= 0;				/* 摨婜幃僋儘僢僋抂巕曽岦惂屼丗擖椡		*/

	/* 僔儕傾儖惂屼儗僕僗僞愝掕 */
	ui16_CPU_SC0CTR	= 0x0800;			/* 惂屼儗僕僗僞弶婜壔					*/
	bCPU_SC0PTL 	= 0;				/* 僾儘僩僐儖慖戰	丗挷曕幃慖戰		*/
	bCPU_SC0OD		= 0;				/* 憲庴怣價僢僩弴	丗LSB愭摢			*/
	bCPU_SC0LN		= 1;				/* 僉儍儔僋僞挿 	丗8bit				*/
	bCPU_SC0PTY		= 0;				/* 僷儕僥傿乕惂屼	丗僷儕僥傿乕側偟	*/
	bCPU_SC0SB		= 0;				/* 僗僩僢僾價僢僩 	丗1bit				*/
	bCPU_SC0S		= 3;				/* 僋儘僢僋僜乕僗	丗僞僀儅0偺16暘廃	*/

	/* FIFO儗僕僗僞愝掕			*/
	ui16_CPU_SC0FCTR= 0x0100;			/* 惂屼儗僕僗僞弶婜壔					*/
	bCPU_SC0FEN		= 1;				/* FIFO巊梡慖戰		丗FIFO枹巊梡		*/
	bCPU_SC0TFR		= 1;				/* 憲怣FIFO僨乕僞弶婜壔					*/
	bCPU_SC0TFR		= 0;				/* 憲怣FIFO弶婜壔側偟					*/
	bCPU_SC0RFR		= 1;				/* 庴怣FIFO僨乕僞弶婜壔					*/
	bCPU_SC0RFR		= 0;				/* 庴怣FIFO弶婜壔側偟					*/

}


/***********************************************************************/
/*!
  @fn			void vSet_Sc1Init(void)
  @brief		僔儕傾儖婡擻1 弶婜壔愝掕
  @param[in]	側偟
  @return		側偟
  @date			2007/xx/xx
*/
/***********************************************************************/
void vSet_Sc1Init(void)
{
	/* 僔儕傾儖抂巕愝掕 		*/
	ui8_CPU_SC1SCTR = 0x00;				/* 惂屼儗僕僗僞弶婜壔 					*/
	/* 僔儕傾儖惂屼儗僕僗僞愝掕 */
	ui16_CPU_SC1CTR	= 0x0800;			/* 惂屼儗僕僗僞弶婜壔					*/
	/* FIFO儗僕僗僞愝掕			*/
	ui16_CPU_SC1FCTR= 0x0100;			/* 惂屼儗僕僗僞弶婜壔					*/

}


/***********************************************************************/
/*!
  @fn			void vSet_I2cInit(void)
  @brief		I2C婡擻 弶婜壔愝掕
  @param[in]	側偟
  @return		側偟
  @date			2007/xx/xx
*/
/***********************************************************************/
void vSet_I2cInit(void){


;


}


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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -