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.

Issue with CSM_PWL section defintion for csmpasswds

I'm working with the F28335 and have a project that's running successfully from RAM using CCSv3.3.  I'm trying to learn how to build my project for flash and am using the example project provided by TI called Example_28335_Flash.pjt  However, this example project does not link due to what I think is a conflict between the csmpsswds section defined in F28335.cmd and DSP2833x_Headers_nonBIOS.cmd

CSM_PWL     : origin = 0x33FFF8, length = 0x000008     /* Part of FLASHA.  CSM password locations in FLASHA */

csmpasswds          : > CSM_PWL     PAGE = 0

and the CSM_PWL section defined for PAGE = 1 located in DSP2833x_Headers_nonBIOS.cmd

CSM_PWL     : origin = 0x33FFF8, length = 0x000008     /* Part of FLASHA.  CSM password locations. */

The error I get when I attempt to build is: "placement fails for object "csmpasswds".  If I remove the definition of CSM_PWL in DSP2833x_GlobalVariableDefs.c then I don't see this error.  What is the difference between PAGE 0 and PAGE 1 for this particular section, they are both defined to use the same address.  I would be surprised if I'm the first person to run into this issue.

 

 

  • Scott,

    With the updated linker there is an issue with two memory segments having the same name. There are two different sections with the same names in the two supplied .cmd files:

     MEMORY
     {
     PAGE 0:
        CSM_PWL       : origin = 0x33FFF8, length = 0x000008
     PAGE 1 :
        CSM_PWL       : origin = 0x33FFF8, length = 0x000008  
     }

     SECTIONS
     {
      csmpasswds       : > CSM_PWL    PAGE = 0, TYPE = DSECT /* not used for SARAM examples */
      CsmPwlFile       : > CSM_PWL,   PAGE = 1
     }

    You will need to change the name of one of these and change this name in the actual sections portion as well. For example:

     MEMORY
     {
     PAGE 0:
        CSM_PWL       : origin = 0x33FFF8, length = 0x000008
     PAGE 1 :
        CSM_PWL1       : origin = 0x33FFF8, length = 0x000008  
     }

     SECTIONS
     {
      csmpasswds       : > CSM_PWL    PAGE = 0, TYPE = DSECT /* not used for SARAM examples */
      CsmPwlFile       : > CSM_PWL1,   PAGE = 1
     }

    Regards,

    Tim Love

  • Tim's workaround should fix the issue.  I also recall this has been corrected in the most recent linker - you may want to update your codegen tools to the latest version.