📄 initial.c
字号:
/********************************************************************************/
/*!
@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 + -