/* DMW_Main.c */ #define __DEFINE_ERR_STRING__ #include "DMW_Platform.h" #include "DMW_Main.h" #include "DHL_OSAL.h" #include "DHL_DBG.h" #include "DHL_SYS.h" #include "DHL_FE.h" #include "DHL_NVM.h" #include "DHL_AVCAP.h" #include "DHL_Demux.h" #include "DHL_PSI.h" #include "DLIB_PSI_Monitor.h" #include "DLIB_PSIP_Monitor.h" #include "DLIB_PSI_Parser.h" #include "DLIB_PSIP_Parser.h" #include "DHL_Timer.h" // #include "DHL_IO.h" #include "DHL_UIO.h" #include "DMW_Channel.h" static BOOL dmc_platformInitialized = FALSE; // Mocha platform ÃʱâÈ­ ¿©ºÎ. // #define dprint DHL_OS_Printf //----------------------------------------------------------- // Dmc_Init // ½Ã½ºÅÛÀ» ÃʱâÈ­ Çϰí, ºñµð¿À Å×½ºÅ©¸¦ »ý¼ºÇÑ´Ù. // ÀÌ ÇÔ¼ö´Â ÀÓÀÇÀÇ Å½ºÅ©¿¡¼­ ºÒ¸°´Ù. // STATUS Dmc_Init(void) { DHL_RESULT dhlResult; STATUS status; dprint("%s()\n", __FUNCTION__); //--------- DHL ÃʱâÈ­ ------------ if (dmc_platformInitialized == 0) { #if 1 // caller°¡ ÀûÀýÇÑ DHL ÃʱâÈ­ ÇÔ¼ö¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ÇÔ. #else // DHL init DHL_SYS_Init(); DHL_OS_Init(); DHL_DBG_Init(); // DHL_SYS_Initiate(); DHL_SYS_TimerInit(); DHL_NVM_Init(); DHL_FE_Init(); DHL_FE_Open(0); DHL_AV_Init(); DHL_DMX_Init(); DHL_PSI_Init(); // DHL_UART_Init(); DHL_UIO_Init(); #endif dmc_platformInitialized = TRUE; } else dprint("!! system already inited. skip..\n"); //--------- DMC component ÃʱâÈ­ ------------ status = Dmc_InitChannelTask(); if (status) { dprint("!! ChannelTask init err %d\n", status); return status; } // driver ÃʱâÈ­°¡ ´Ù ³¡³ª¸é task¸¦ ¸¸µé±â Àü¿¡ DbgPrintf Task¸¦ ±âµ¿ÇÑ´Ù. // --> LG driver print¿Í ¼¯ÀÌ´Â ¹®Á¦ ¶§¹®¿¡ °ï¶õ.. //OS_UsePrintfSemaphore(TRUE); // ±âŸ ³ª¸ÓÁö debug symbol µî·ÏÀº app_debug¿¡¼­ Çʿ信 µû¶ó ¼öÇà. return statusOK; } //----------------------------------------------------------- // Dmc_Terminate // Call this function to undo everything we did above // »ç½Ç ÀÌ ÇÔ¼ö¸¦ ºÎ¸¦ ÀÏÀº °ÅÀÇ ¾ø´Ù. // void Dmc_Terminate(void) { dprint("%s()\n", __FUNCTION__); /* not yet.. Dmc_EndChannelTask(); // °¢ ¸ðµâº°·Î ¸ðµç resource¸¦ releaseÇÑ´Ù. //DMW_CDB_TerminateChannelLib(); */ DHL_AV_Terminate(); dmc_platformInitialized = FALSE; } #if 0//BKTEST void ram_start() { printf(">> BKTEST ram_start\n"); DHL_SYS_PlatformInit(); Dmc_Init(); DMW_SYS_TimerInit(); while(1) { DHL_OS_Delay(100); } } #endif