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.

E_spOutOfBounds issue on A8 Host

Other Parts Discussed in Thread: SYSBIOS

Dear TI supporters:

I have ported some code to A8 host and experienced stack out of bounds issue during executing.

[A8]ti.sysbios.knl.Task: line 365: E_spOutOfBounds: Task 0x80776588 stack error, SP = 0x807760cc.

I have doubled stack size and reduced code size, but the problem remained.  I checked the TI forum and learnt that I could use RTOS Object View(ROV) to check the stack usage. However, the CCS5.5 I have installed shows

I have tried to set XDC path and failed to do so. Is there any other way that I may use

to find out which task went wrong?

My Platform Info.

My platform info: TMS320DM8148 (Vision-Mid) 

600-MHz ARM® Cortex™-A8 RISC MPU

500-MHz C674x™ VLIW DSP

200-MHz M3-ISS/M3-HDVPSS 

Thank you all in advance, and have a nice day

Joey from Altek

  • Hi, J 

    Thank you for your information. I can see ROV windows working OK right now.

    My current status now is that I created a new task called "EagleKApp" on A8 host.  In the new task, I declared simple structures with their global instance arrays named  "aLeftDashVertPoints", and  "aLeftPoints" as below:

    typedef struct
    {
         float x;
         float y;
    } Point;

    static Point aLeftPoints[5], aLeftDashVertPoints[5];

    I initialized aRightPoints and aLeftDashHoriPoints  in init() API, and wanted to access them in PieceCake(); like

    IoPrintf("target->x : %.02f - begin->x: %.02f\n", aLeftDashVertPoints[0].x, aLeftPoints[0].x);

    error appears with msg

    "[A8]ti.sysbios.knl.Task: line 365: E_spOutOfBounds: Task 0x80770b10 stack error, SP = 0x80772a2c.

    [A8]xdc.runtime.Error.raise: terminating execution"

    I have double checked the values of aLeftDashVertPoints[0].x and aLeftPoints[0].x, and they seems to be fine.

    Could you provide your expertise for how to fix this?

    The ROV tasks view is attached 

    Thank you very much,

    Joey from Altek

  • Hi,

    I have also tried to remove some A8 tasks, change EagleKApp task priority, and statck size.

    I may in some cases result in error message as below:

    [A8]Exception occurred in ThreadType_Swi.
    [A8]Swi handle: 0x80a38df0.
    [A8]Swi stack base: 0x80a4db98.
    [A8]Swi stack size: 0x4000.
    [A8]R0 = 0x8074765c R8 = 0x80a49008
    [A8]R1 = 0x00000001 R9 = 0x80a492f8
    [A8]R2 = 0x00001518 R10 = 0x00001517
    [A8]R3 = 0x00001517 R11 = 0x80a49004
    [A8]R4 = 0x61cb0373 R12 = 0x00005501
    [A8]R5 = 0x61cb0373 SP(R13) = 0x80a51a98
    [A8]R6 = 0x00000001 LR(R14) = 0x8007631c
    [A8]R7 = 0x80a38de8 PC(R15) = 0x80076270
    [A8]PSR = 0x3000019f
    [A8]ti.sysbios.family.arm.exc.Exception: line 176: E_dataAbort: pc = 0x80076270, lr = 0x8007631c.
    [A8]xdc.runtime.Error.raise: terminating execution

    I copied the pc, lr, and sp address to the core register and I got the exception was caught at queue.c

    I wonder if this error was caused by some essential tasks of A8 that accidently removed. 

    However, if I disable the porting code, the entire system works just fine.

    The porting code runs perfectly on PC simulator.

    Best regards,

    Joey from Altek

  • Hi Joey,

    I'm not familiar with ARM development, so I don't know about the tasks you mentioned, but you can check the 'Detailed' tab on ROV to see if the task stack peak is smaller than the task stack configured or if there was an overflow.

    Regards

    J

  • I would put the tasks back and concentrate on the first issue that you encountered.

    Take a look at the SYSBIOS Faq to see if it helps: http://processors.wiki.ti.com/index.php/SYS/BIOS_FAQs

    Judah

  • Hi, Judah:

    I have solved the  E_spOutOfBounds issue by simply increasing some task stack sizes that seems overflow (But not the

    one I am working on). Currently I am focusing on the E_dataAbort problem, and that is why I created another thread for

    the issue.

    http://e2e.ti.com/support/embedded/tirtos/f/355/p/330256/1151623.aspx#1151623

    I would study the SYSBIOS Faq first.

    Thank you for your advice,

    Joey from Altek