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.

OMAPL138 timer2 runs once

Other Parts Discussed in Thread: OMAP-L138

Hello,

I have a working FW application running on an OMAP-L138 (I'm only using DSP, so ARM is only programmed to start-up DSP)

To add field-upgradability to the application I've used the bootloader from StarterWare and added UART flashing.

When I flash the application using the bootloader the timer2 is disabled after first interrupt. To investigate I reverted back

to the timer example in Starterware => same behaviour

Summarizing:

1) If I flash the processor using a combined ARM+DSP bin-file, generated with AISgen and sfh, all runs well,  including timer2

2) If I flash the processor with the bootloader and flash application afterwards, all runs until first timer2 interrupt occurred, than timer2 is disabled.

(I've also tried 2) on an DSP (C6748) only development kit, and all runs well)

Any thoughts?

  • Dear Michael,

    2) If I flash the processor with the bootloader and flash application afterwards, all runs until first timer2 interrupt occurred, than timer2 is disabled.

    How you are flashing the bootloader and DSP application through "-flash" option ? ?


    When I flash the application using the bootloader the timer2 is disabled after first interrupt. To investigate I reverted back

    to the timer example in Starterware => same behaviour

    Can you brief about how we can reproduce the timer2 disable problem using starterware ?
  • Hello Titus,

    I tried to reproduce using only StarterWare examples, i.e. I recompiled the bootloader and generated boot.ais using AISgen.

    Then I recompiled the timer example. I recompiled the ARM binary. And generated a combined binary ARM+DSP binary

    I flashed the OMAP and surprisingly all ran okay.

    A then  did the same using my modified bootloader, and it did NOT ran okay.

    The difference between both bootloaders is that n the modified bootloader I transfer the binary using Ymodem and when a page is received copy data to the NAND flash until complete binary is transferred.When the Ymodem transfer is complete I continue to boot from NAND as in the original Starterware example.

    At least now I know the rootcause lies in the bootloader/Ymodem transfer.

  • Hello,

    The rootcause was indeed in the bootloader. I added a timer to jump to the application when no user input (to start upgrade) is received within 5 seconds. The timer I used is also timer2. When I disable timer configuration in the bootloader all runs okay.

    So now I need to figure out why.