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.

CCS kernel object view kernel stack size

 

Hi,

Any idea why my CCS kernel stack size does not reflect the correct value that I key in the TCF. It always appear as 0x7FFF even I had change the TCF to bigger size like 0xA000.

bios.MEM.STACKSIZE = 0xA000; // DSP BIOS TCF

Actually I am using DSPLink for IPC between ARM and DSP. I had change the TCI for the DSPLink. it still doesnt help.

/* ============================================================================

* MEM

* ============================================================================

*/

prog.module("MEM").STACKSIZE = 0xA000 ; // DSPLINK TCI

 

Regards

Khor

  • Khor,

     

    How are you verifying the stack size?  Are you checking the generated linker command file to see what is being done?  What shows up there?

  •  

    Hi David,

    Are you mean the .cmd fie? it should be updated. Normally I check use CCS kernel objec view to verify the change. However, after i use the DSPLink, the CCS kernel object view doesnt change according to what i had configured in TCF and TCI. Any idea?  

    /* MODULE MEM */
    -stack 0xA000
    MEMORY {......

    ...........

    ............}

     

    Regards

    Khor

  • Hi Khor --

    Which version of DSP/BIOS are you using?

    I just tried recreating your issue with CCSv3.3 and BIOS 5.33.05 and I do not see any problem with Kernel/Object View when I set stack size to 0xA000.   We fixed some issues in KOV about a year ago.  Maybe this was one of them.  If you give me your BIOS version, I can check.  

    Please also provide info on which device/board you are running on.

    Regards,
    -Karl-

  •  

    Hi Karl,

    I am using

    DSP/BIOS 5.41.02.14

    CCS 3.3.83.19

     

    I had captured the BIOS kernel object view image

  • Hi Aun --

    This looks like a bug in the Kernel/Object View for CCSv3.3.  The problem doesn't occur for TSK stacks, but I was able to verify that it does occur for the system stack.  This problem has been fixed in the CCSv4 version of the kernel view (called ROV in CCSv4).  I will try to attach a CCSv4 screen shot that shows the problem has been fixed.  I'm not good at this forum tool, so I might have to ask for help tomorrow to attach the picture.   It is not likely that we will fix this problem in CCSv3.

    The problem seems to relate to stack size crossing the 0x8000 size boundary.  Some issue related to sign  extension or some such in the tool.  Sizes < 0x8000 seem to work fine. 

    Can I ask why you are making such a large system stack?  The system stack is used to handle interrupts and SWI functions.  Individual task stack sizes are specified when you create tasks.   A stack size of 32K (0x8000) is very unusual.   Typically, stack sizes are maybe 2-4K, if not smaller. 

     

    Regards,
    -Karl-

     

     

  • Hi Karl,

    First of all want to thank for your promt reply. At least I know this is a CCS3.3 bugs now

    We have some unit test to test our DSPLink IPC code, the program will hang and we notice the system stack size overflow. Thus we increase the system stack size. To us, that seem unusual as well that the system need so big stack.

    You mentioned that the system stack only used for handle interrupt and SWI. How about when task context switch happened?

    Another question is how I can do estimation for the system stack size needed for TIBIOS?