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.

Program halts before goint to main routine



Hi,all
   I encountered a strange problem. On the DM6437 evm
my program halts before going to main routine. My program
is based on the demo program of the DM6437 evm.
I can load the program successfully, but the program
can't go to main routine. I don't where to start with.

Best Regards
Jogging

  • Is there any label to where your code is getting stuck at before main?

    Do all programs you run (like hello world) get stuck before main or just this particular project?

    If this is a DSP/BIOS project do you have any user init function specified in your BIOS configuration file (tcf) that could be getting stuck?

  • Thanks.
     I have tried some tests and find that a test program can run successfully
    even if DSP/BIOS is added.

    In my program I made main function empty, but the problem still occurs.
    My program is based on the demo program of DM6437 EVM. I doubt that
    this may be related to XDC tools. From your reply tcf file can insert functions
    which are called during startup and this is not mentioned in the DSP/BIOS
    startup sequence on the document.

    I notice that functions related to dm6437 initiation appears in the stack windows.
    Maybe these functions are inserted into startup sequence by the tcf file.

    Best Regards
    Jogging

  • BIOS will cause a <bios>cfg.s62 file to be generated.  Inside that file is a symbol called BIOS_init.  It contains a list of function calls that all run prior to main.  My suggestion is to set a breakpoint at BIOS_init and then step over these functions one by one until you find the one that doesn't return.  Then do the same thing again, but this time step INTO the problematic function.  Let us know where it's having a problem and perhaps we can figure it out from there.

    FYI, the "user init function" that Bernie was referring to can be seen inside the tcf file.  Go to System -> (right click) Global -> Properties.  There's a checkbox for "call user init function" and then a corresponding box where you type in the name of the function.  That may or may not be related to your problem, but we should be able to figure it out with just a little more digging.

    Brad