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.

Unable to get stack trace beyond errHookRaise function.

How do I back trace stack pointer, and reach to the location where the problem may have been seen. Pl. advise. 

This is c6657 DSP processor, 

  • Sorry for the late reply.

    Are you using instrumented SYS/BIOS libraries by any chance?

  • Void errHook(Error_Block *eb)
    {
    Types_Site *site;
    Error_Id eid;
    setC55_Dbg_Err(0,0x1234);
    dumpCoreRegisters();

    site = Error_getSite(eb);
    eid = Error_getId(eb);
    /* print user supplied error code */
    st_dpf("error %d: ", Error_getCode(eb));

    /* check originator's mod id against known mods */
    if (site->mod == Main_Module_id()) {
    st_dpf("app error: ");
    }

    /* check error id against known errors */
    if (eid == Error_E_generic) {
    st_dpf("generic: ");
    }
    else if (eid == Assert_E_assertFailed) {
    st_dpf("assertion violation: ");
    }

    /* perform default error output */
    Error_print(eb);
    crashNow();
    }

    This is the errHook function I am using. keep looking at eb. What kind of information can I get from this.
    I would like to Program Counter PC which caused this problem, and which pointer became NULL or is there any other reason?

    Regards,
    Hari
  • What do you get from the the "Error_print(eb)" in your errHook function?