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.

F28069 and SYS/BIOS

Other Parts Discussed in Thread: TMS320F28069

I'm working with a customer, and two questions have come up:

1) Can SYS/BIOS clock modules be derived from timer 2 (timer 2 is utilized by SYS/BIOS) or does it have to be derived from a different timer (timer 0 or 1)?

   If yes, how is this achieved?

2) How do we configure the SYS/BIOS project using XDC to execute code in the TMS320F28069 when not emulating (want code to execute in

TMS320F28069 on power-up/reset without the emulator connected)?

-Reagan

  • Hi Reagan,

    Reagan Revisore said:

    1) Can SYS/BIOS clock modules be derived from timer 2 (timer 2 is utilized by SYS/BIOS) or does it have to be derived from a different timer (timer 0 or 1)?

       If yes, how is this achieved?

    You can specify a different timer, but if it's already in use by SYS/BIOS then I don't think you'll be able to use that one, as it's already taken.

    You can find an example of how to choose a different timer for the Clock in the SYS/BIOS API guide (included with your SYS/BIOS installation):

    If you want to use a custom configured timer for the Clock module's tick source, use the following example configuration as a guide:

     var Clock = xdc.useModule('ti.sysbios.knl.Clock'); // Tell the Clock module that YOU are providing the periodic interrupt Clock.tickSource = Clock.TickSource_USER; // this example uses the ti.sysbios.timers.dmtimer.Timer module var Timer = xdc.useModule('ti.sysbios.timers.dmtimer.Timer'); // create a dmtimer config parameter object var timerParams = new Timer.Params(); // make sure you set the period to 1000 us (1ms) timerParams.period = 1000; // custom dmtimer config parameters here... timerParams.twer.ovf_wup_ena = 1; // Create the timer. // This example uses timer id 3. // Provide your own timer interrupt handler function. Timer.create(3, '&myTimerTick', timerParams); 
    In your 'C' code, add your timer interrupt handler and have it call Clock_tick(), which will perform all of the Clock module tick duties:
     #include <ti/sysbios/knl/Clock.h> Void myTimerTick(UArg arg) { Clock_tick(); ... } 

    Reagan Revisore said:

    2) How do we configure the SYS/BIOS project using XDC to execute code in the TMS320F28069 when not emulating (want code to execute in

    TMS320F28069 on power-up/reset without the emulator connected)?



    Looks like you need to remove or short out a resistor on the board. That's according to this related post and this document.

    Steve
  • Steven Connell said:

    Looks like you need to remove or short out a resistor on the board. That's according to this related post and this document.

    My understanding of this is not hardware related, but rather the question is how to configure the XDC.runtime to target flash for the code, etc. to be able to run stand-alone, rather than have the code downloaded into RAM.

  • In regards to the second question, I actually found a post that discusses a solution @ http://e2e.ti.com/support/embedded/bios/f/355/t/91081.aspx, with an attached power point. As Brandon mentioned, the key is to place the code in non-volatile flash instead of RAM, which can be taken care of with a .cfg file. The power point shows what to include in the cfg file.

    -Reagan

  • I asked around and was pointed to these threads:

    The following wiki page also has some info on the BIOS Boot module for C28:

    http://processors.wiki.ti.com/index.php/SYS/BIOS_for_the_28x

    Hope this helps...

    Steve

  • Reagan,

    Reagan Revisore said:
    In regards to the second question, I actually found a post that discusses a solution @ http://e2e.ti.com/support/embedded/bios/f/355/t/91081.aspx, with an attached power point. As Brandon mentioned, the key is to place the code in non-volatile flash instead of RAM, which can be taken care of with a .cfg file. The power point shows what to include in the cfg file.

    Great that you found that.  However, that post is 2+ years old now.  I have a feeling that the Boot module I just described is the "official" support added to BIOS to do what those slides are instructing.

    I think you should try using the Boot module.

    In either case, please respond with your progress.

    Steve