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.

can not enter clock_fxn, any idea?

Other Parts Discussed in Thread: TMS320C6748, SYSBIOS

I am using ccs4.x, Bios6.x.

The example project "Clock" test OK in EVM board(OMAP-L137EVM).

But when I using the same example code in my own platform( board based TMS320C6748).  the code doesn't work.

no log info is printed in "console panel".

 

can you give me some advice about how to locate the problem?

I manually invoked Hwi_enable(); Swi_enable() in main(). but still doesn't work.

  • Are you even getting to main()?

    Where does your processor end up?

     

  • yes, I can enter main();

    and I can enter Loop thread.

  • There's really not enough info here to say for sure what your issue is.  I assume you have verified that Log information is not being written to the buffer?

    How did you go about porting this app to your custom board?  Did you use the custom platform wizard?

  • I know that, the success is always same, but the failures are different each other.

    I do use custom platform wizard. And by means of setting timer peripheral manually (set HWI, Init timer in main(), and call Clock_tick() in HWI_fxn, I can make BIOS.Clock work now). But I still want know why normal method doesn't work.

     

    Here is another questions:

    1. How can BIOS-Config know the timer's INT number? If I have introduced some HWI modules. For example, INT-12 is used by keyboard, INT-13 is used by FPGA ...

  • 1) For the OMAPL137 device, BIOS uses interrupts 14 and 4 (low half, high half) for Timer0 (base address: 0x1c20000) and interrupts 15 and 5 for Timer1 (base address: 0x1c21000).

    2) Also, the input clock to the timers is expected to be 24 MHz. If your board provides a different internal clock to the timers, you can override this setting:

      var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');

      Timer.intFreq.lo = yourFrequencyInHz;

    3) You should NEVER globally enable interrupts in main(). BIOS expects to carefully orchestrate the enabling of interrupts within the BIOS_start() function in order to start the system up properly.

    Alan

  • thanks a lot.

    1.So the reason of my problem is: my platform configure havn't include any timer setting at all.

      That's why the clock doesn't function, is that right?

    2. you mentioned "should NEVER globally enable interrupts in main()", but where can I put timer's InitCode?

       I checked BIOS6's user manul, about HWI, the document is very simple. I even hardly have no idea how to enable a HWI.

      Where should I settle the code of clock peripheral's initiation?

     

  • I have a little confusion.

    at another chat thread in this forum.

    it said that the timer HWI 's config is include in "target" module, not platform module.

    if so, the timer HWI should be set yet.

     

    other question: about such default including components, like timer, where can I find it's config info?(like INT number).

    the "target" or "platform" package defined by TI are in compiled state, having no source code to end user.