224 lines
5.5 KiB
C
Executable File
224 lines
5.5 KiB
C
Executable File
/**
|
||
Copyright Novatek Microelectronics Corp. 2012. All rights reserved.
|
||
|
||
@file SysMain_Flow_Init.c
|
||
@ingroup mSystemFlow
|
||
|
||
@brief PowerOn Flow
|
||
|
||
@note
|
||
1.<2E><><EFBFBD><EFBFBD>power on<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
System_PowerOn()
|
||
(a)System_PowerOn()<29><><EFBFBD><EFBFBD>
|
||
<20>Umode<64><65><EFBFBD>P<EFBFBD><50>control condition
|
||
<20>]<5D>t<EFBFBD>q<EFBFBD><71><EFBFBD><EFBFBD><EFBFBD>Pdevice init
|
||
(b)System_PowerOn()<29><><EFBFBD><EFBFBD>
|
||
<20>Umode<64><65><EFBFBD>P<EFBFBD><50>control condition
|
||
<20>]<5D>t<EFBFBD><74><EFBFBD><EFBFBD>Pdevice<63><65><EFBFBD><EFBFBD><EFBFBD>ۤ<EFBFBD>dependent<6E><74>order
|
||
|
||
@date 2012/1/1
|
||
*/
|
||
|
||
////////////////////////////////////////////////////////////////////////////////
|
||
#include "PrjInc.h"
|
||
|
||
//local debug level: THIS_DBGLVL
|
||
#define THIS_DBGLVL 2 // 0=FATAL, 1=ERR, 2=WRN, 3=UNIT, 4=FUNC, 5=IND, 6=MSG, 7=VALUE, 8=USER
|
||
///////////////////////////////////////////////////////////////////////////////
|
||
#define __MODULE__ SysInit
|
||
#define __DBGLVL__ ((THIS_DBGLVL>=PRJ_DBG_LVL)?THIS_DBGLVL:PRJ_DBG_LVL)
|
||
#define __DBGFLT__ "*" //*=All, [mark]=CustomClass
|
||
#include <kwrap/debug.h>
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
//#include "DeviceSysMan.h"
|
||
//#include "DeviceNandMan.h"
|
||
//#include "NvtSystem.h"
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
|
||
#if (POWERON_FAST_BOOT == ENABLE)
|
||
INT32 g_iSysPowerOnMode = SYS_POWERON_NORMAL;
|
||
#else
|
||
INT32 g_iSysPowerOnMode = SYS_POWERON_SAFE;
|
||
#endif
|
||
|
||
/**
|
||
System initialization
|
||
|
||
Do system initialization
|
||
|
||
@param void
|
||
@return void
|
||
*/
|
||
void System_PowerOn(UINT32 pwrOnType)
|
||
{
|
||
DBG_FUNC_BEGIN("\r\n");
|
||
g_iSysPowerOnMode = pwrOnType;
|
||
|
||
//Perf_Open();
|
||
|
||
DBG_FUNC_END("\r\n");
|
||
|
||
//avoid event in queue,and execute at the same time
|
||
UI_UnlockEvent();
|
||
}
|
||
|
||
|
||
void System_BootStart(void)
|
||
{
|
||
DBG_DUMP("^MSystem Boot start\r\n");
|
||
}
|
||
|
||
|
||
|
||
///////////////////////////////////////////////////////////////////////////////
|
||
//
|
||
// END
|
||
//
|
||
///////////////////////////////////////////////////////////////////////////////
|
||
|
||
void System_BootEnd(void)
|
||
{
|
||
//Enable_WP
|
||
DBG_DUMP("^MSystem Boot end\r\n");
|
||
}
|
||
|
||
|
||
void SystemInit(void)
|
||
{
|
||
DBG_MSG("^GInit Start\r\n");
|
||
if (System_GetState(SYS_STATE_POWERON) == SYSTEM_POWERON_SAFE) {
|
||
//"safe power-on sequence"
|
||
DBG_IND("Power On Sequence = Safe\r\n");
|
||
#if (FWS_FUNC == ENABLE)
|
||
System_OnStrgInit_EMBMEM();
|
||
System_OnStrgInit_FWS();
|
||
System_OnStrg_DownloadFW();
|
||
#endif
|
||
#if (DISPLAY_FUNC == ENABLE)
|
||
System_OnVideoInit();
|
||
System_OnVideoInit2();
|
||
#endif
|
||
#if (FS_FUNC == ENABLE)
|
||
System_OnStrgInit_EXMEM();
|
||
#endif
|
||
#if (PST_FUNC == ENABLE)
|
||
System_OnStrgInit_PS();
|
||
#endif
|
||
#if(ONVIF_PROFILE_S!=ENABLE) //No File System
|
||
#if (FS_FUNC == ENABLE)
|
||
System_OnStrgInit_FS();
|
||
//System_OnStrgInit_FS2();
|
||
//System_OnStrgInit_FS3();
|
||
#endif
|
||
#endif
|
||
#if (PWR_FUNC == ENABLE)
|
||
System_OnPowerInit();
|
||
#endif
|
||
#if (INPUT_FUNC == ENABLE)
|
||
System_OnInputInit();
|
||
#endif
|
||
#if (AUDIO_FUNC == ENABLE)
|
||
System_OnAudioInit();
|
||
#endif
|
||
}
|
||
#if (POWERON_FAST_BOOT == ENABLE)
|
||
else if (System_GetState(SYS_STATE_POWERON) == SYSTEM_POWERON_NORMAL) {
|
||
///////////////////////////////////////////
|
||
//Start Multi-UserMainProc
|
||
|
||
INIT_SETFLAG(FLGINIT_BEGIN2);
|
||
INIT_SETFLAG(FLGINIT_BEGIN3);
|
||
INIT_SETFLAG(FLGINIT_BEGIN4);
|
||
INIT_SETFLAG(FLGINIT_BEGIN5);
|
||
INIT_SETFLAG(FLGINIT_BEGIN6);
|
||
INIT_SETFLAG(FLGINIT_BEGIN7);
|
||
INIT_SETFLAG(FLGINIT_BEGIN8);
|
||
|
||
//"normal power-on sequence"
|
||
DBG_DUMP("Power On Sequence = Normal\r\n");
|
||
|
||
//PART-1
|
||
|
||
//PART-2
|
||
INIT_WAITFLAG(FLGINIT_END2);
|
||
INIT_WAITFLAG(FLGINIT_END3); //display
|
||
INIT_WAITFLAG(FLGINIT_END4); //audio
|
||
//INIT_WAITFLAG(FLGINIT_END5); //do not wait FS finish
|
||
INIT_WAITFLAG(FLGINIT_END6); //usb
|
||
INIT_WAITFLAG(FLGINIT_END7); //sensor
|
||
//INIT_WAITFLAG(FLGINIT_END8); //do not wait wifi finish
|
||
}
|
||
#endif
|
||
DBG_MSG("^GInit End\r\n");
|
||
}
|
||
|
||
#if (POWERON_FAST_BOOT == ENABLE)
|
||
|
||
void SystemInit2(void)
|
||
{
|
||
if (System_GetState(SYS_STATE_POWERON) == SYSTEM_POWERON_NORMAL) {
|
||
//INIT_WAITFLAG(FLGINIT_PWROPEN); //wait until PWR dummyload finish
|
||
DBG_MSG("^GInit 2 Start\r\n");
|
||
DBG_MSG("^GInit 2 End\r\n");
|
||
}
|
||
}
|
||
|
||
void SystemInit3(void)
|
||
{
|
||
if (System_GetState(SYS_STATE_POWERON) == SYSTEM_POWERON_NORMAL) {
|
||
//INIT_WAITFLAG(FLGINIT_PWROPEN); //wait until PWR dummyload finish
|
||
DBG_MSG("^GInit 3 Start\r\n");
|
||
DBG_MSG("^GInit 3 End\r\n");
|
||
}
|
||
}
|
||
|
||
void SystemInit4(void)
|
||
{
|
||
if (System_GetState(SYS_STATE_POWERON) == SYSTEM_POWERON_NORMAL) {
|
||
//INIT_WAITFLAG(FLGINIT_PWROPEN); //wait until PWR dummyload finish
|
||
DBG_MSG("^GInit 4 Start\r\n");
|
||
DBG_MSG("^GInit 4 End\r\n");
|
||
}
|
||
}
|
||
|
||
void SystemInit5(void)
|
||
{
|
||
if (System_GetState(SYS_STATE_POWERON) == SYSTEM_POWERON_NORMAL) {
|
||
//INIT_WAITFLAG(FLGINIT_PWROPEN); //wait until PWR dummyload finish
|
||
DBG_MSG("^GInit 5 Start\r\n");
|
||
DBG_MSG("^GInit 5 End\r\n");
|
||
}
|
||
}
|
||
|
||
void SystemInit6(void)
|
||
{
|
||
if (System_GetState(SYS_STATE_POWERON) == SYSTEM_POWERON_NORMAL) {
|
||
//INIT_WAITFLAG(FLGINIT_PWROPEN); //wait until PWR dummyload finish
|
||
DBG_MSG("^GInit 6 Start\r\n");
|
||
DBG_MSG("^GInit 6 End\r\n");
|
||
}
|
||
}
|
||
|
||
void SystemInit7(void)
|
||
{
|
||
if (System_GetState(SYS_STATE_POWERON) == SYSTEM_POWERON_NORMAL) {
|
||
//INIT_WAITFLAG(FLGINIT_PWROPEN); //wait until PWR dummyload finish
|
||
DBG_MSG("^GInit 7 Start\r\n");
|
||
DBG_MSG("^GInit 7 End\r\n");
|
||
}
|
||
}
|
||
|
||
void SystemInit8(void)
|
||
{
|
||
if (System_GetState(SYS_STATE_POWERON) == SYSTEM_POWERON_NORMAL) {
|
||
//INIT_WAITFLAG(FLGINIT_PWROPEN); //wait until PWR dummyload finish
|
||
DBG_MSG("^GInit 8 Start\r\n");
|
||
DBG_MSG("^GInit 8 End\r\n");
|
||
}
|
||
}
|
||
|
||
#endif
|
||
|