OpenCores
URL https://opencores.org/ocsvn/an-fpga-implementation-of-low-latency-noc-based-mpsoc/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk

Subversion Repositories an-fpga-implementation-of-low-latency-noc-based-mpsoc

[/] [an-fpga-implementation-of-low-latency-noc-based-mpsoc/] [trunk/] [mpsoc/] [src_c/] [jtag/] [jtag_quartus_stp/] [jtag.c] - Diff between revs 38 and 43

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 38 Rev 43
Line 114... Line 114...
 
 
 // return hexnum;
 // return hexnum;
}
}
 
 
 
 
 
//char end_tcl [10] = { 0x1b, 0x5b,[2]=30,[3]=6d,[4]=a,
 
 
 
char* remove_color_code_from_string ( char *buf, int z){
 
        int i=0;
 
        char * ptr=buf;
 
        if( *ptr != 0x1b ) return ptr;
 
        do{
 
                ptr ++;
 
                i++;
 
        } while ((*ptr != 'm') && (*ptr != 0x0) && i<z-1);
 
        ptr ++;
 
        return ptr;
 
}
 
 
int jtag_init(char *hrdname, char *dvicname ) {
int jtag_init(char *hrdname, char *dvicname ) {
 
 
   /* Create a quartus_stp process, and get the list of ports */
   /* Create a quartus_stp process, and get the list of ports */
 
 
   int  f_to_stp, f_from_stp;
   int  f_to_stp, f_from_stp;
   char buf[1024];
   char buf[1024];
 
   char * ptr;
   char *command[] = {"quartus_stp", "-s", 0};
   char *command[] = {"quartus_stp", "-s", 0};
 
 
   if(from_stp != (FILE *) NULL) {
   if(from_stp != (FILE *) NULL) {
      fclose(from_stp);
      fclose(from_stp);
      fclose(to_stp);
      fclose(to_stp);
Line 147... Line 160...
 
 
 
 
 
 
   while(1) {
   while(1) {
      fgets(buf, sizeof(buf), from_stp);
      fgets(buf, sizeof(buf), from_stp);
 
      ptr=remove_color_code_from_string(buf,sizeof(buf));
 
 
 
 
 
 
 
 
        if(strstr(buf, "ERROR") != NULL) {
        if(strstr(buf, "ERROR") != NULL) {
                printf("\tERROR\n");
                printf("\tERROR\n");
                printf("'%s'\n", buf);
                printf("'%s'\n", buf);
                exit(1);
                exit(1);
        }
        }
 
 
 
 
 
 
      if(!strcmp(buf, "\n"))
      if(!strcmp(buf, "\n")) break;
         break;
      if(!strcmp(ptr, "\n")) break;
 
 
      if(feof(from_stp)) {
      if(feof(from_stp)) {
         fprintf(stderr, "saw eof from quartus_stp\n");
         fprintf(stderr, "saw eof from quartus_stp\n");
         exit(1);
         exit(1);
      }
      }
 
 
Line 187... Line 206...
 
 
   fflush(to_stp);
   fflush(to_stp);
 
 
   while(1) {
   while(1) {
      fgets(buf, sizeof(buf), from_stp);
      fgets(buf, sizeof(buf), from_stp);
 
      ptr=remove_color_code_from_string(buf,sizeof(buf));
        if(strstr(buf, "ERROR") != NULL) {
        if(strstr(buf, "ERROR") != NULL) {
                printf("\tERROR\n");
                printf("\tERROR\n");
                printf("'%s'\n", buf);
                printf("'%s'\n", buf);
                exit(1);
                exit(1);
        }
        }
 
 
      if(!strcmp(buf, "\n"))
      if(!strcmp(buf, "\n")) break;
         break;
      if(!strcmp(ptr, "\n")) break;
      if(feof(from_stp)) {
      if(feof(from_stp)) {
         fprintf(stderr, "saw eof from quartus_stp\n");
         fprintf(stderr, "saw eof from quartus_stp\n");
         exit(1);
         exit(1);
      }
      }
      if(ferror(from_stp)) {
      if(ferror(from_stp)) {
Line 227... Line 246...
}
}
 
 
char * read_stp (){
char * read_stp (){
        char buf[1024];
        char buf[1024];
        char * result=NULL;
        char * result=NULL;
 
        char * ptr;
        fflush(to_stp);
        fflush(to_stp);
        while(1) {
        while(1) {
                fgets(buf, sizeof(buf), from_stp);
                fgets(buf, sizeof(buf), from_stp);
 
                ptr=remove_color_code_from_string(buf,sizeof(buf));
                if(strstr(buf, "ERROR") != NULL) {
                if(strstr(buf, "ERROR") != NULL) {
                        printf("\tERROR\n");
                        printf("\tERROR\n");
                        printf("'%s'\n", buf);
                        printf("'%s'\n", buf);
                        exit(1);
                        exit(1);
                }
                }
Line 243... Line 264...
                        break;
                        break;
 
 
                }
                }
 
 
                if(!strcmp(buf, "\n"))   break;
                if(!strcmp(buf, "\n"))   break;
 
                if(!strcmp(ptr, "\n")) break;
 
 
                if(feof(from_stp)) {
                if(feof(from_stp)) {
                        fprintf(stderr, "saw eof from quartus_stp\n");
                        fprintf(stderr, "saw eof from quartus_stp\n");
                        exit(1);
                        exit(1);
                }
                }
                if(ferror(from_stp)) {
                if(ferror(from_stp)) {

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.