亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tmsei.c

?? 可用于TM1300/PNX1300系列DSP(主要用于視頻處理)壓縮庫即應用例子。
?? C
?? 第 1 頁 / 共 3 頁
字號:
   if (copy_image(image_file) != True)
         return False;
   FinishImage();

   return True;
}

/*-------------------------------------------------------------------*/

void print_help(){
      printf("usage: %s -load begin_mem,end_mem input-file [-e[l|b]] [-host type] \\\n", progname);
      printf("   [-v] [-tm_freq freq] [-mmio_base address] [-cache support] [-sei begin,end]\\\n");
      printf("   [-inmi] [-cflags \"ccstring\"] [-ldflags \"ldstring\"] [-o output-file]\n");
      printf("   [-tcs \"tcspath\"] [-cpath \"-sourcepath\"]\n");
      printf("   \n");
      printf("   '%s' creates a Self Extacting Image (SEI) output file, given an input\n",progname);
      printf("   file. The input image file will be embedded in a compressed form in the output file.\n");
      printf("   The output image file can be downloaded and run, where the original memory image will\n");
      printf("   be uncompressed, copied to SDRAM and executed.\n\n");

      printf("   -load begin_mem,end_mem : Specify download memory region of input file\n");
      printf("   input-file : name of executable to be extracted by SEI output file\n");
      printf("   -e[lb] : specify endianness of SEI output file\n");
      printf("       -eb for big endian (default) \n");
      printf("       -el for little endian;\n");
      printf("   -host type : Specify one of the following types of host processor \n");
      printf("       nohost    : No Host (default)\n");
      printf("       tmsim     : TM Simulator is Host\n");
      printf("       Win95     : Win95 is Host\n");
      printf("       MacOS     : MacOS is Host\n");
      printf("       WinNT     : WinNT is Host\n");
      printf("   -v : Specify that the auto-generated part of output is verbose\n");
      printf("   -tm_freq freq : Specify the TM clock frequency. 100000000 is default\n");
      printf("   -mmio_base address : Specify MMIO base address. 0xefe00000 is default\n");
      printf("   -cache support : Specification of setting the resposiblity of setting the cacheable\n");
      printf("       limit and the cachelocked regions\n");
      printf("       LeaveCachingToUser: cacheable limit and cachelocked \n");
      printf("           entirely under control of the user, the regions are downloader code won't\n");
      printf("           touch it.\n");
      printf("       LeaveCachingToDownloader: cachelocked regions and cacheble limit are entirely\n");
      printf("           under control of the downloader, which will use this control to intelligently\n");
      printf("           map the different cached/uncached/cachelocked sections within the specified\n");
      printf("           sdram, partitioned in different caching property regions, and let the downloaded\n");
      printf("           program set cacheable limit and cachelocked regions accordingly. (default)\n");
      printf("       CachesOff: cachelocked regions and cacheble limit are entirely under control of the\n");
      printf("           downloader, which will let the downloaded program run with 'cache off'.\n");
      printf("   -sei begin,end : Specify download memory region for optional SEI memory image\n");
      printf("   -inmi : input file is a memory image. \n");
      printf("   -cflags \"cc_string\" : A string of arguements to pass to tmcc when compiling sources for\n");
      printf("       SEI application.\n");
      printf("   -ldflags \"ld_string\" : A string of arguements to pass to tmcc when linking SEI\n");
      printf("       application.\n");
      printf("   -o output-file: name of SEI output-file that will be created. default output name\n");
      printf("        is 'a.out'. \n");
      printf("   -tcs \"tcspath\" : Current TCS path that tmSEI will use to build TriMedia image.\n");
#ifdef _WIN32
      printf("        default is C:\\\\TriMedia \n");
#else
      printf("        default is /usr/local/tcs \n");
#endif
      printf("   -cpath \"sourcepath\" : path of c source file, tmunpackimage.c, that tmSEI will use\n");
#ifdef _WIN32
      printf("        to create a TriMeida image. default is .\\\\tmunpackimage \n");
#else
      printf("        to create a TriMeida image. default is ./tmunpackimage\n");
#endif
      
      exit(1);
}

void
parse_options(int argc, char *argv[]){
   
  int		ax;
  void *	ptr;

  if(!tsaCmdOptParse(argc, argv, Nelts(options), options, Null)){
     printf("Parsing options Failen\n" );
     exit(-1);
  }

  /* initialize global variable */
  *sei_ldflags = '\0';
  download_unshuffled = False;

  /* get first/default parameters */

  /* get compression value */
  NoCompression = (Bool)tsaCmdOptOption(Opt_NoCompression);
  /* get inmi value */
  inmi = (Bool)tsaCmdOptOption(Opt_inmi);
  /* get out value */
  out = (Bool)tsaCmdOptOption(Opt_out);
  /* get host value */
  host = (char *)tsaCmdOptOption(Opt_host);
  /* get inmi value */
  tm_freq = (int)tsaCmdOptOption(Opt_tm_freq);
  /* get out value */
  mmio_base = (int)tsaCmdOptOption(Opt_mmio_base);
  /* get default support value */
  cache_support = TMDwnLdr_LeaveCachingToDownloader;
  /* get endian value */
  bigendian = (char *)tsaCmdOptOption(Opt_bigendian);
  /* get output value */
  output =  (char *)tsaCmdOptOption(Opt_output);

  unshuffled  = (Bool)tsaCmdOptOption(Opt_unshuffled);

  verbose  = (Bool)tsaCmdOptOption(Opt_verbose);

  /* get ldflags value */
  ldflags =  (char *)tsaCmdOptOption(Opt_ldflags);
  /* get cflags value */
  cflags =  (char *)tsaCmdOptOption(Opt_cflags);
  /* get tcspath value */
  tcspath =  (char *)tsaCmdOptOption(Opt_tcspath);
  /* get cpath value */
  cpath =  (char *)tsaCmdOptOption(Opt_cpath);


  
  /* check to make sure input parameters are correct */
  
  /* must be exactly two arguements */
  if(tsaCmdOptNumberOfArguments() !=2){
     print_help();
     exit(-1);
  }

  /* load option must be present */
  if(tsaCmdOptPresent(Opt_load) == False){
     printf("error: load option must be present\n");
     print_help();
     exit(-1);
  }

  /* if the input is a mi, the output cant be
   standard *.out image */
  if(inmi ==  True && out == True){
     fprintf(stdout, "Error: input is memory image cannot be stored as executable\n");
     print_help();
     exit(-1);
  }



  /* output is a *.out */
  if( out == True){
     
     /* cache support should not be specified */
     if(tsaCmdOptPresent(Opt_cache_support) == True){
        fprintf(stdout, "Error: cache should not be specified for this configuration.\n");
        print_help();
        exit(-1);
     }

     /* tm_freq should not be specified */
     if(tsaCmdOptPresent(Opt_tm_freq) == True){
        fprintf(stdout, "Error: tm_freq should not be specified for this configuration.\n");
        print_help();
        exit(-1);
     }

     /* mmio_base should not be specified */
     if(tsaCmdOptPresent(Opt_mmio_base) == True){
        fprintf(stdout, "Error: mmio_base should not be specified for this configuration.\n");
        print_help();
        exit(-1);
     }

  }

  /* if input is a mi or output is a *.out */
  if(inmi == False && unshuffled == True){
     printf("error: 'unshuffled' only valid with 'inmi'.\n");
     print_help();
     exit(-1);
  }

  /* parse input arguements as reqired */

  /* set up default values */
  image_file = tsaCmdOptArgument(1);

  /* parse input options as reqired */

  /* load should have 2 elements in list */
  if(!(ax = tsaCmdOptOptionAfter(Opt_load, 0, &ptr))){
     printf("error: load requires two values \n");
     print_help();
     exit(-1);
  }

  /* convert first load arguement */
  if(parse_number(ptr, '\0', 0x0,  &mem_start) != True){
     printf("error: first load arguement invalid\n");
     print_help();
     exit(-1);
  }

  /* get second load arguement */
  if(!tsaCmdOptOptionAfter(Opt_load, ax, &ptr)){
     printf("error: load a second value arguements\n");
     print_help();
     exit(-1);
  }

  /* convert second load arguement */
  if(parse_number(ptr, '\0', 0x0,  &mem_end) != True){
     printf("error: second load arguement invalid\n");
     print_help();
     exit(-1);
  }


  if(strcmp(host,"nohost") == 0)
     host_int  =  tmNoHost;
  else if(strcmp(host,"tmsim") == 0) 
     host_int  = tmTmSimHost;
  else if(strcmp(host,"Win95") == 0) 
     host_int  = tmWin95Host;
  else if(strcmp(host,"MacOS") == 0) 
     host_int  = tmMacOSHost;
  else if(strcmp(host,"WinNT") == 0) 
     host_int  = tmWinNTHost;
  else {
     printf("error: specified host type '%s' not valid\n",ptr);
     print_help();
     exit(-1);
  }


  if(tsaCmdOptPresent(Opt_cache_support) == True){

     if(!tsaCmdOptOptionAfter(Opt_cache_support, 0, &ptr)){
        printf("error: cache requires one arguement only.\n");
        print_help();
        exit(-1);
     }

     if(strcmp(ptr,"LeaveCachingToUser") == 0)
        cache_support  =  TMDwnLdr_LeaveCachingToUser;
     else if(strcmp(ptr,"LeaveCachingToDownloader") == 0) 
        cache_support  = TMDwnLdr_LeaveCachingToDownloader;
     else if(strcmp(ptr,"CachesOff") == 0) 
        cache_support  = TMDwnLdr_CachesOff;
     else {
        printf("error: specified cache support '%s' not valid\n",ptr);
        print_help();
        exit(-1);
     }     
  }

  /* if sei is specified */
  if(tsaCmdOptPresent(Opt_sei) == True){

     /* sei should have 2 elements in list */
     if(!(ax=tsaCmdOptOptionAfter(Opt_sei, 0, &ptr))){
        printf("error: sei requires two values\n");
        print_help();
        exit(-1);
     }

     /* convert first sei arguement */
     if(parse_number(ptr, '\0', 0x0,  &sei_start) != True){
        printf("error: first load arguement invalid\n");
        print_help();
        exit(-1);
     }
     
     /* get second sei arguement */
     if(!tsaCmdOptOptionAfter(Opt_sei, ax, &ptr)){
        printf("error: sei requires a second\n");
        print_help();
        exit(-1);
     }
     
     /* convert second sei arguement */
     if(parse_number(ptr, '\0', 0x0,  &sei_end) != True){
        printf("error: second sei arguement invalid\n");
        print_help();
        exit(-1);
     }

     if(host_int  ==  tmNoHost)
        /* fill in extra ldflags */
        sprintf(sei_ldflags, " -tmld -mi -load 0x%x,0x%x -tm_freq=%d -mmio_base=0x%x --",sei_start,sei_end,tm_freq,mmio_base);
     else
        /* fill in extra ldflags */
        sprintf(sei_ldflags, " -tmld -mi -load 0x%x,0x%x -R __syscall=0x%x -tm_freq=%d -mmio_base=0x%x --"
              ,sei_start,sei_end,mmio_base,tm_freq,mmio_base);
  }
     
  /* check if big Endian or little Endian support required */
       if(strcmp(bigendian,"l") == 0) { /* don't use endianness here */ }
  else if(strcmp(bigendian,"b") == 0) { /* don't use endianness here */ }
  else {
     printf("error: specified endianness support '%s' not valid\n",ptr);
     print_help();
     exit(-1);
  }     
  

  /* if input is a out and is stored as an mi */
  if(inmi == False && out == False){
     download_unshuffled = True;
  }


  /* output file should only have one parameter */
  if(tsaCmdOptPresent(Opt_output) == True){

     if(!tsaCmdOptOptionAfter(Opt_output, 0, &ptr)){
        printf("error: output requires one arguement only.\n");
        print_help();
        exit(-1);
     }

     output = ptr;
              
  }
      
}
/*************************************************************************
//
**************************************************************************/

int main(int argc, char *argv[])
{
   int ret = 0;
   DIR *dirp;
   struct dirent *direntp;
   
   progname = argv[0];

   /* extract user input options */
   parse_options(argc, argv);
   
   /* remove old output first (if it exists) */
   chmod(output,0x1FF);
   unlink(output);

   printf("Creating temporary directory\n");
   /* make temperary sub directory */
   mkdir(TEMP_DIR,0x1FF);

   printf("Copying files to temporary directory\n");

   sprintf(buffer,"%s%stmunpackimage.c",TEMP_DIR,SLASH);
   sprintf(tcspath_buffer,"%s%stmunpackimage.c",cpath,SLASH);

   copy(tcspath_buffer, buffer);
   
   printf("Packing image\n");

   /* read image file into *.t and *.h files */
   if(ReadImage() != True){
      printf("Fatal Error; Reading image %s\n",image_file);
      goto end;
   }

   printf("Building Self Extracting Image\n");

   /* do a make in temp */

   sprintf(buffer,"%s%sbin%stmcc -e%s -host %s %stmunpackimage.c -c tmunpackimage.o %s %s",tcspath, SLASH, SLASH,bigendian,host,TEMP_DIR SLASH,cflags,shrinkflags);

   rewrite_slashes( buffer );

   printf("%s\n",buffer);
   if((ret = system(buffer)) != EXIT_SUCCESS){
      printf("Fatal Error %d %d; Following \"System Call\" failed :\n %s\n",ret,errno,buffer);
      goto end;   
   }

   /* copy object file to temp dir */
   sprintf(buffer,"%stmunpackimage.o",TEMP_DIR SLASH);
   copy("tmunpackimage.o",buffer);
   chmod("tmunpackimage.o",0x1FF);
   unlink("tmunpackimage.o");

   sprintf(buffer,"%s%sbin%stmcc -e%s -host %s -bremoveunusedcode -bcompact -bfoldcode %stmunpackimage.o %stmpackedimage.t -o %stmunpackimage.out -lz -lload %s %s %s %s",tcspath,SLASH,SLASH,bigendian,host,TEMP_DIR SLASH,TEMP_DIR SLASH,TEMP_DIR SLASH,sei_ldflags,cflags,ldflags,shrinkflags);
   
   rewrite_slashes( buffer );

   printf("%s\n",buffer);
   if((ret = system(buffer)) != EXIT_SUCCESS){
      printf("Fatal Error %d; Following \"System Call\" failed :\n %s\n",ret,buffer);
      goto end;   
   }
       
   printf("Moving %s\n",output);

   /* copy tmunpackimage.out file to home dir with new executable name */
   sprintf(buffer,"%s%stmunpackimage.out",TEMP_DIR,SLASH);
   copy(buffer,output);
   
end:

   sprintf(buffer,".%s%s",SLASH,TEMP_DIR);
   dirp = opendir(buffer );

   if (dirp) {
      while ( (direntp = readdir( dirp )) != NULL ) {
         if (strcmp(direntp->d_name,".") != 0 && strcmp(direntp->d_name,"..") != 0) {
            
            sprintf(buffer,"%s%s%s",TEMP_DIR,SLASH,direntp->d_name);
            
            chmod(buffer,0x1FF);
            unlink(buffer);
         }
      }
      (void)closedir(dirp);
   }
   
   /* remove temporary directory */
   chmod(TEMP_DIR,0x1FF);
   
   printf("Removing temporary directory\n"); 
   rmdir(TEMP_DIR);
   
   /* exit */
   return ret;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本大道久久a久久综合| 欧美96一区二区免费视频| 91精品国产综合久久婷婷香蕉 | 成人黄色免费短视频| 久久超碰97人人做人人爱| 日韩精品国产欧美| 亚洲bt欧美bt精品| 玖玖九九国产精品| 国产精品1024| 国产91综合网| 波多野结衣精品在线| 91美女福利视频| 欧美亚洲日本一区| 日韩午夜精品电影| 国产欧美一区视频| 中文字幕一区二区三区四区不卡 | 久久久亚洲精品一区二区三区| 欧美男生操女生| 欧美一卡在线观看| 久久夜色精品国产噜噜av| 国产色综合一区| 综合久久久久综合| 日韩激情视频网站| 国产91色综合久久免费分享| 成人午夜在线播放| 91激情五月电影| 日韩一级免费观看| 国产精品国产三级国产普通话蜜臀 | 欧美做爰猛烈大尺度电影无法无天| 日本高清成人免费播放| 日韩亚洲欧美高清| 一区在线观看免费| 日韩精品一二三| 国产成人免费视频网站| 欧美在线一二三四区| 亚洲精品一区二区三区福利 | 久久网站最新地址| 亚洲精品国产无套在线观| 日本sm残虐另类| 色综合天天性综合| 久久久影视传媒| 亚洲成人手机在线| 9i在线看片成人免费| 日韩一级二级三级精品视频| 亚洲色图20p| 国产一区日韩二区欧美三区| 欧美综合一区二区三区| 久久九九影视网| 麻豆精品在线播放| 欧美性大战久久| 中文字幕亚洲综合久久菠萝蜜| 蜜桃一区二区三区在线| 欧美午夜电影在线播放| 欧美国产一区视频在线观看| 免费在线观看一区| 欧美日韩五月天| 一区二区在线观看视频| 成人一区在线看| 久久综合色之久久综合| 日韩精品一二三四| 在线不卡的av| 亚洲小说欧美激情另类| av午夜精品一区二区三区| 久久久久久久久久久久久女国产乱| 亚洲丰满少妇videoshd| 在线观看成人免费视频| 18成人在线观看| 91亚洲精品久久久蜜桃| 中文字幕在线不卡视频| www.久久久久久久久| 国产午夜精品一区二区三区视频| 日本美女视频一区二区| 91精品在线麻豆| 日韩精品成人一区二区在线| 7777女厕盗摄久久久| 日本不卡1234视频| 在线成人av影院| 蓝色福利精品导航| 久久亚洲精精品中文字幕早川悠里| 美女视频免费一区| 欧美电视剧免费全集观看| 另类中文字幕网| 久久免费视频色| 国产91精品入口| 中文字幕字幕中文在线中不卡视频| 99久久久国产精品| 一卡二卡三卡日韩欧美| 欧美日韩一卡二卡三卡 | 欧美在线免费观看视频| 亚洲国产精品自拍| 日韩欧美一级精品久久| 久久99国产精品免费网站| 久久午夜电影网| 99久久国产综合精品麻豆| 亚洲综合网站在线观看| 日韩一区二区精品葵司在线| 国产一区啦啦啦在线观看| 国产精品美女久久久久久久网站| 99re8在线精品视频免费播放| 一区二区三区在线观看网站| 666欧美在线视频| 久久99精品国产91久久来源| 国产精品久久午夜夜伦鲁鲁| 日本乱人伦aⅴ精品| 精品一区精品二区高清| 国产精品电影院| 日韩午夜精品电影| 99久久99久久综合| 九色|91porny| 樱桃视频在线观看一区| 精品国产乱码久久久久久夜甘婷婷 | 午夜免费欧美电影| 国产欧美精品一区二区色综合朱莉| 成人小视频在线| 麻豆国产精品777777在线| 亚洲欧洲性图库| 欧美videos中文字幕| 欧美在线一二三四区| 国产v综合v亚洲欧| 日本aⅴ免费视频一区二区三区| 国产女主播视频一区二区| 欧美天天综合网| 波多野结衣中文字幕一区二区三区| 三级一区在线视频先锋| ●精品国产综合乱码久久久久 | 国产福利一区二区三区视频| 亚洲综合免费观看高清完整版 | 欧美v日韩v国产v| 91久久精品一区二区三区| 国产盗摄一区二区三区| 秋霞国产午夜精品免费视频| 亚洲猫色日本管| 中文字幕欧美国产| 精品国产一区二区三区不卡| 欧美日韩大陆在线| 色成年激情久久综合| 成人性生交大片免费看在线播放| 青青草国产成人av片免费| 亚洲高清在线视频| 一卡二卡三卡日韩欧美| 亚洲伦理在线精品| 国产精品久久午夜夜伦鲁鲁| 国产午夜三级一区二区三| 久久综合丝袜日本网| 精品福利一二区| 日韩精品中文字幕一区| 91精品一区二区三区在线观看| 欧美日韩国产高清一区二区三区 | 国产精品久久三| 久久久精品综合| 精品国产污网站| 26uuu亚洲综合色| 精品国产一二三区| 久久免费电影网| 亚洲精品一区二区三区在线观看 | 欧美在线免费视屏| 欧美午夜精品电影| 777色狠狠一区二区三区| 制服丝袜亚洲精品中文字幕| 宅男在线国产精品| 欧美草草影院在线视频| 国产欧美日韩三级| 国产精品美女久久久久aⅴ| 国产精品理伦片| 亚洲欧美韩国综合色| 亚洲一区二区在线免费看| 亚洲一区二区欧美激情| 天堂午夜影视日韩欧美一区二区| 天天综合天天综合色| 激情综合一区二区三区| 国产原创一区二区| 国产美女久久久久| 一本大道久久a久久综合婷婷| 在线观看亚洲精品视频| 911精品国产一区二区在线| 久久品道一品道久久精品| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 韩日欧美一区二区三区| 岛国精品在线播放| 欧美日本不卡视频| 国产日韩欧美麻豆| 一区二区三区在线免费| 麻豆成人免费电影| 99re8在线精品视频免费播放| 欧美日韩国产一二三| 国产欧美1区2区3区| 亚洲一区二区不卡免费| 国产精品1024| 欧美日韩黄色一区二区| 国产午夜一区二区三区| 五月开心婷婷久久| 成人av在线网站| 欧美一级在线视频| 亚洲人成电影网站色mp4| 久久国产精品99久久久久久老狼| 成人av午夜电影| 欧美精品一区二区三区久久久| 亚洲黄色免费网站| 顶级嫩模精品视频在线看| 欧美一区二区视频免费观看|