tag 标签: main

相关博文
  • 热度 19
    2013-9-6 22:19
    3938 次阅读|
    0 个评论
    /*main_loop处理的是一些与平台无关的事情 基本上是一些uboot的人机交互 执行命令之类 看的不多 多多少少有些注释 只知道一些大概功能 不过一般应该用不到这些功能吧 写在这就是一个笔记 有问题还望多多指教*/ void main_loop (void) { #ifndef CFG_HUSH_PARSER     static char lastcommand = { 0, };//static 静态局部全局变量(就是第二次调用函数时这个变量还是原来的值)     //static声明的变量只能初始化一次如果不赋值 默认为0       //如果static声明一个全局变量 那么 这个变量只能应用在这个文件 不能被其他文件引用     int len;     int rc = 1;     int flag; #endif #if defined(CONFIG_BOOTDELAY) (CONFIG_BOOTDELAY = 0)     char *s;     int bootdelay; #endif #ifdef CONFIG_PREBOOT     char *p; #endif #ifdef CONFIG_BOOTCOUNT_LIMIT //这个是商业功能 如果没有license 只能用几次 。一般不用     unsigned long bootcount = 0;     unsigned long bootlimit = 0;     char *bcs;     char bcs_set ; #endif /* CONFIG_BOOTCOUNT_LIMIT */ #if defined(CONFIG_VFD) defined(VFD_TEST_LOGO)     ulong bmp = 0;        /* default bitmap */     extern int trab_vfd (ulong bitmap); #ifdef CONFIG_MODEM_SUPPORT //如果支持modem  modem是串口传输协议     if (do_mdm_init)         bmp = 1;    /* alternate bitmap */ #endif     trab_vfd (bmp); #endif    /* CONFIG_VFD VFD_TEST_LOGO */ #ifdef CONFIG_BOOTCOUNT_LIMIT     bootcount = bootcount_load();     bootcount++;     bootcount_store (bootcount);     sprintf (bcs_set, "%lu", bootcount);     setenv ("bootcount", bcs_set);     bcs = getenv ("bootlimit");     bootlimit = bcs ? simple_strtoul (bcs, NULL, 10) : 0; #endif /* CONFIG_BOOTCOUNT_LIMIT */ #ifdef CONFIG_MODEM_SUPPORT     debug ("DEBUG: main_loop:   do_mdm_init=%d\n", do_mdm_init);     if (do_mdm_init) {         char *str = strdup(getenv("mdm_cmd"));         setenv ("preboot", str);  /* set or delete definition */         if (str != NULL)             free (str);         mdm_init(); /* wait for modem connection */     } #endif  /* CONFIG_MODEM_SUPPORT */ #ifdef CONFIG_VERSION_VARIABLE     {         extern char version_string = 0;         }     } #endif /*CFG_HUSH_PARSER*/ }  
相关资源