DSP

rv1108SDkapp初始化的流程分析

2019-07-13 11:49发布

  #define MiniGUIMain MiniGUIAppMain (int args, const char * argv[]); int main_entry(int args, const char* argv[]) {          int iRet = 0;          printf("debug-info:FILE:%s fun:%s LINE:%d ", __FILE__, __func__, __LINE__);          --([   14.852593] video: debug-info:FILE:ui/cvr/camera_ui.c fun:main LINE:8553)          if (InitGUI (args, argv))          {          return 1;          }          iRet = MiniGUIAppMain(args, argv);          TerminateGUI (iRet);          return iRet; }    int MiniGUIAppMain   ------------>minigui.h --->InitGUI(args, argv)  ----------->extenal/libminigui/src/kernel/init.c          --->mg_InitGAL()                   ---> GAL_VideoInit(engine, 0);                       ---> GAL_GetVideo(driver_name); {-------------------------------------------------------------------------- video.c static VideoBootStrap *bootstrap[] = { #ifdef _MGGAL_SHADOW     &SHADOW_bootstrap, #endif                         } -------------------------------------------------------------------------------                             for ( i=0; bootstrap[i]; ++i ) {             if ( strncmp(bootstrap[i]->name, driver_name, strlen(bootstrap[i]->name)) == 0 ) {                 if ( bootstrap[i]->available() ) {                     video = bootstrap[i]->create(index);                     break;                 }             }         } } ------------------------------------------------------------------------------------                                      shadow.c VideoBootStrap SHADOW_bootstrap = { SHADOWVID_DRIVER_NAME, "Shadow LCD video driver", SHADOW_Available, SHADOW_CreateDevice };   SHADOW_CreateDevice --->device->SetVideoMode = SHADOW_SetVideoMode;(shadow.c)