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.

Only the relevant asm warnings for my DSP? (C5506)

Other Parts Discussed in Thread: TMS320VC5506

I got started on this question in another thread, but rather than continue to combine multiple questions in a single thread, I'm breaking this particular question out where it can get the focus it needs.

I started by mentioning that when I build certain DSPLib.asm files, I get many warnings, including CPU_75, CPU_85, CPU_92, and CPU_116.

Mark McKeown was kind enough to reply that the warnings are only problematic for specific silicon revisions, and suggested that I specify a Custom Target in Code Composer Studio.  e.g. "cpu:3.3" for C5505.

After pointing out that I am using the TMS320VC5506, Ming Wei helpfully followed up, saying that the 5506 uses cpu:2.2, and explained that leaving the Custom Target empty would result in using core 2.2 as default.

However, my problem remains, which makes me suspect that the default is not correct.  By the way, I have CHIP_5509A entered on the Preprocessor Pre-Define Symbol line (-d), because there is no CHIP_5506.  Admittedly, I haven't tried manually entering "cpu:2.2" in either the project build options or the file-specific build options for the .asm files in question.  Any advice for CCS3 and C5506 would be appreciated.

Note that in my own .asm source, I add a line with " .c54cm_off" to get rid of the warnings that pop up for my particular code.  I would prefer not to alter the DSPLib sources just to remove the warnings, since this would introduce a maintenance issue if I want to incorporate external updates to those sources from Texas Instruments or the open source community.

  • Brian,

    The relevant documentation for this question is the 55x Compiler User's Guide.  In particular, Section 2.3.2 covers the -v option which is used for specifying which device/revision is being used.  It specifically mentions that if you don't specify a -v option that it will generate code that's compatible with ALL revisions of the 55x, i.e. it will work around bugs (or warn about bugs) that likely don't exist in your device!

    I just ran a quick test using CCS 4.0 which comes bundled with c55x compiler version 4.3.2.  I created a quick library project to rebuild the dsp library.  With no -v option specified I see all kinds of warnings pop out.  By adding -v5506 the only warning I see is for CPU_116, which is present in the 5506 and so it's a legitimate warning.

    My recommendation would be to install the latest c55x compiler (4.3.5 as of now) by following the instructions in this wiki article.  Then make sure you specify -v5506 for your project options.

    FYI, the CHIP_5509A definition is related to CSL.  The CSL header files are sprinkled with code like this:

      #if (CHIP_5510)
        CSL5510_LIB_();
      #elif (CHIP_5510PG1_0)
        CSL5510_PG1_LIB_();
      #elif (CHIP_5510PG1_2)
        CSL5510_PG1_2_LIB_();

      #elif (CHIP_5510PG2_0)
        CSL5510_PG2_0_LIB_();
      #elif (CHIP_5510PG2_1)
        CSL5510_PG2_1_LIB_();
      #elif (CHIP_5510PG2_2)
        CSL5510_PG2_2_LIB_();

      #elif (CHIP_5509)
        CSL5509_LIB_();
      #elif (CHIP_5509A)
        CSL5509A_LIB_();
      #elif (CHIP_5502)
        CSL5502_LIB_();
      #elif (CHIP_5501)
        CSL5501_LIB_();
      #endif

    So you need to have a definition of one of those devices in order for things to build properly. It would be nice to have an update to CSL that includes 5507, 5506, 5503 though it is not in the works as of right now.  That being the case, all of those devices should use CHIP_5509A as you indicated you have already done.

    Brad

  • CCS3.3 was not happy with -v5506, so I tried -v5509:A

    I am in the process of upgrading to CCS4, so I'll come back here to confirm if all works well.

  • It's not a CCS thing, but a compiler thing.  You probably just need to upgrade your compiler.

  • Thanks for explaining.  I had been keeping up with the CCS3 updates, since the program has alerts.  But I had never noticed that the compiler was updated separately.  I just found a page listing updates, and I was several versions behind.

    As I said, I'm trying out CCSv4 - with a borrowed XDS-100 for convenience - and I think I have the latest compiler now.  At least the warnings are down to one specific CPU_116.  If I decide to go back to CCS3, I'll make sure to track the latest compiler updates.