This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Code Composer v2.21-3.1 - Enable Rude Mode thru gel GEL_EnableRealtime() - not working

Other Parts Discussed in Thread: TMS320F2812

 

is there a way to enable  “RUDE” real time mode  thru a GEL instruction (DSP TMS320F2812)  …. I noticed that different versions of code composer offer different instructions that is why I’m not sure which one is right…. Also there is hardly any documentation online for GEL. 

 I followed an example from F2812.gel file that TI provides  with the following code,    

GEL_Reset();

ST1 = ST1 & 0xFFFD;         /* clear DBGM bit in ST1 */

But I keep getting this error ,

 

GEL_EnableRealtime();

 

 

 Here is the code,

GEL_Reset();

ST1 = ST1 & 0xFFFD;         /* clear DBGM bit in ST1 */

GEL_EnableRealtime();

 

GEL_Go(InitializeExternalInterface);

 

// initializes timing measurement

TimeResult = 0;

 

// executes code 10 times to determine the time delta average

for(x = 0; x < Time_Meas_Average ; x++) {

 

  GEL_Go(INT13_ISR);

 

  TimeRef_1 = CpuTimer0Regs.TIM.all;        // captures first timestamp

 

  GEL_Go(Foreground_1ms);

 

  GEL_Go(INT13_ISR);

  TimeRef_2 = CpuTimer0Regs.TIM.all;       // captures second timestamp

 

  TimeResult += (TimeRef_1 - TimeRef_2);   // obtains delta from time stamps

 

}

 

 

 

  • Dorian Garcia said:
    is there a way to enable  “RUDE” real time mode  thru a GEL instruction (DSP TMS320F2812)  …. I noticed that different versions of code composer offer different instructions that is why I’m not sure which one is right…. Also there is hardly any documentation online for GEL. 



    There isn't a GEL function specifically to enable rude real time mode. All of the GEL documentation and supported functions are available in the Online Help in CCS 3.1.

    If you enable real time mode and run your code, then halt, and try to reset the device, you may get an error similar to what you see because the emulation and debug accesses are blocked. It's best to perform a full halt by disabling real-time mode first and then halting (which the default GEL files do with the hotmenu Full_Halt and Full_Halt_with_Reset).

    A sequence that usually works well is to load the program, run GEL function Run_Realtime_with_Restart, halt with Full_Halt or Full_Halt_with_Reset().

    Also this related post has some additional references which may be helpful.

     

  • I believe that my code does what this functions do ...

    the only difference is using GEL_Go instead of GEL_Run ... I noticed that this happens while calling GEL_Go(INT13_ISR); - function that gets refresh every 200msec since it runs in RAM. but I get the same results.. . 

     

    GEL_Restart();
    ST1 = ST1 & 0xFFFD;         /* clear DBGM bit in ST1 */
    GEL_EnableRealtime();

    GEL_Go(InitializeExternalInterface);

    // initializes timing measurement
    TimeResult = 0;

    // executes code 10 times to determine the time delta average
    for(x = 0; x < Time_Meas_Average ; x++) {
     
      //GEL_Go(INT13_ISR);

      TimeRef_1 = CpuTimer0Regs.TIM.all;        // captures first timestamp

      GEL_Go(Foreground_1ms);
     
      //GEL_Go(INT13_ISR);
      TimeRef_2 = CpuTimer0Regs.TIM.all;       // captures second timestamp

      TimeResult += (TimeRef_1 - TimeRef_2);   // obtains delta from time stamps

    }