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.

$build.attributes without SECTIONS

Other Parts Discussed in Thread: CCSTUDIO, TVP5146

Hello,

I'm having problem with task's management and, I think that the problem is because the folowing warnings.

>>warning: creating output section . TSK1$stk without SECTIONS

>>warning: creating output section $build.attributes without SECTIONS

Thanks for any help!

  • Hello Mariana,

    I don't know wat are the versions that i was using but i did the lasted updates.

    So, i compiled and the problem with the tasks apparently disappeared.

    But it's still showing this warnings:

    "C:\syscProj\sys460\sys460bioscfg.cmd", line 262: warning: symbol
       "CLK_F_gethtime" from file
       "C:/CCStudio_v3.3/bios_5_41_03_17/packages/ti/bios/lib/biosDM420.a64P<clk_ge
       thtime.o64P>" being redefined
    warning: creating output section ".TSK1$stk" without a SECTIONS specification

    Could this warning give me problems in the future?

    Thanks for your help.

  • Hi Marcio,

    You can check the CGT (code generation tools) that you are using by going to CCS Help->About.

    Marcio said:
    C:\syscProj\sys460\sys460bioscfg.cmd", line 262: warning: symbol
       "CLK_F_gethtime" from file
       "C:/CCStudio_v3.3/bios_5_41_03_17/packages/ti/bios/lib/biosDM420.a64P<clk_ge
       thtime.o64P>" being redefined

    This warning should not ve a problem, you can leave it like thid, see more explanation here.

    Please see quote from this page for the previous error you were getting:

    You may still get a benign warning >> warning: creating output section $build.attributes without SECTIONS specification. This is because the codec built with 6.1.x automatically brought in usage of this new (internal) section. The 6.1.x Codegen tools "know" about this section (so you don't need to modify your link.cmd files) but the 6.0.x Codegen tools do not.

     

    Marcio said:
    warning: creating output section ".TSK1$stk" without a SECTIONS specification

     This one seems like you are not specifying where to put the task TSK section in the .cmd file generated by your DSP/BIOS configuration file. You should be able to find something like this in your cmd file for each task:

            .TSK_idle$stk: {
                *(.TSK_idle$stk)
            } > IRAM

            .echoTask$stk: {
                *(.echoTask$stk)
            } > IRAM

            .TSK0$stk: {
                *(.TSK0$stk)
            } > IRAM


    Please take alook and make sure that in your tcf file you have a segment of the memory reserved for the stack:

     For memories to show in the drop down list, you need to have a heap in one of your memories:

    And associate the that the DSP/BIOS objects should be placed there:

     

  • Hi Mariana,

    My actual code generation tools is v7.0.2.

    I found what was happening, about the tsk warning.

    I configure a second .cmd file to helps on memory allocation. So I had include this second .cmd file to my project and into put the command for include my normal .cmd file. The mistake was at the include command that was with a wrong way. I correct e rebuild. Now it’s ok.

    But I’m still having problems.

    I have two tasks with the same priority, task0 and task1.

    The task 0 is the first to be executed because their order. And when the “FVID_control” is called is executed the task1, at the for(;;) loop after task_yield() it’s doesn’t return to the task 0.

    //--------------------------------------------------------------------------------------------
    void task1 (){

        asm(" NOP");

        for(;;){
            TSK_yield();
            asm(" NOP");
        }
    }

    //--------------------------------------------------------------------------------------------
    Void task0 (){
        if (fn_configVpss()){
                return; //Error
        }

        for(;;){
        }
    }

    //--------------------------------------------------------------------------------------------
    void fn_configVpss(){

            unsigned int i;

    PSP_VPBEChannelParams beinitParams;
    PSP_VPFEChannelParams feinitParams;
    GIO_Attrs gioAttrs = GIO_ATTRS;

      // Create ccdc channel
        feinitParams.id = PSP_VPFE_CCDC; //Ccdc YCbCr and RAW
        feinitParams.params = (PSP_VPFECcdcConfigParams*)&ccdcParams;
        ccdcHandle = FVID_create("/VPFE0",IOM_INOUT,NULL,&feinitParams,&gioAttrs);
      if ( NULL == ccdcHandle) {
        asm(" NOP");
        return(-1);
      }

      // Configure the TVP5146 video decoder
        if( FVID_control( ccdcHandle, VPFE_ExtVD_BASE + PSP_VPSS_EXT_VIDEO_DECODER_CONFIG,
                        &tvp5146Params) != IOM_COMPLETED ) {
            return(-1);
        } else {
            for ( i=0; i < NO_OF_BUFFERS; i++ ) {
                if ( IOM_COMPLETED == FVID_alloc( ccdcHandle, &ccdcAllocFB[i] ) ) {
                    if ( IOM_COMPLETED != FVID_queue(ccdcHandle, ccdcAllocFB[i] ) ) {
                        return(-1);
                    }
                }
            }
        }

        // Create video channel
        beinitParams.id = PSP_VPBE_VIDEO_0;
        beinitParams.params = (PSP_VPBEOsdConfigParams*)&vid0Params;
        vid0Handle = FVID_create( "/VPBE0", IOM_INOUT,NULL, &beinitParams,
                                &gioAttrs );
        if ( NULL == vid0Handle ) {
            return(-1);
        } else {
            for ( i=0; i<NO_OF_BUFFERS; i++ )  {
                if ( IOM_COMPLETED == FVID_alloc( vid0Handle, &vidAllocFB[i] ) ) {
                    if ( IOM_COMPLETED != FVID_queue( vid0Handle, vidAllocFB[i]) ) {
                        return(-1);
                    }
                }
            }
        }

        // Create venc channel
        beinitParams.id = PSP_VPBE_VENC;
        beinitParams.params = (PSP_VPBEVencConfigParams *)&vencParams;
        vencHandle = FVID_create( "/VPBE0", IOM_INOUT, NULL, &beinitParams,
                                &gioAttrs);
        if ( NULL == vencHandle ) {
            return(-1);
        }

        if (FVID_alloc( ccdcHandle, &FBAddr )!=IOM_COMPLETED){
            return(-1);
        }

        return(0);//Ok sem erros
    }

    Here is the execution graph.

    Thanks.

     

  • Hi Mariana,

    I'm suspecting about the code generation tools v7.0.2 is causing this problem, because, up to my early sftw that was working well is breaking at the same point.

    Is it possible?