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.

c6748 silicon errata



Hi,

As per c6748 silicon 2.0 errata document, the workaround application advisory for 2.0.17 is to enable  --c64p_dma_l1d_workaround compiler flag . I am using code generation tool v7.2.3 with CCS4, but unable to find the option to select --c64p_dma_l1d_workaround compiler flag. Can any body guide me where or how to enable this compiler flag?

Regards,

Chandra

  • Chandra,

    If you use the -k option, the assembly file generated by the compiler will be kept and you can look at in a text editor.  At the top of that file, it should list all the options that were passed to the compiler.  Unless I'm mistaken, I think the --c64p_dma_l1d_workaround flag is applied automatically, without you having to use it yourself.  I think this is keyed off of the use of the -mv6740 flag for selecting the correct architecture.  If you don't see that flag in the generated assembly, please let us know.

    Regards, Daniel

  • Hi Daniel,

    I checked with -k option and following are the options mentioned in generated assembly files,

    ;******************************************************************************

    ;* TMS320C6x C/C++ Codegen PC v7.2.3 *

    ;* Date/Time created: Wed Sep 07 09:07:48 2011 *

    ;******************************************************************************

    .compiler_opts --abi=coffabi --c64p_l1d_workaround=off --endian=little --hll_source=on --long_precision_bits=40 --mem_model:code=near --mem_model:const=data --mem_model:data=far_aggregates --object_format=coff --silicon_version=6740 --symdebug:dwarf

    It looks --c64p_l1d_workaround option is off by default. Please let me know also how it can be on.

    Thanks,

    Chandra

  • Chandra,

    Using "--c64p_l1d_workaround=on" as one of your compiler options should do the trick.  You can try that and observe if it changes the options shown in the generated assembly file.

    Regards, Daniel

  • Hi Daniel,

    Actually this was my question. I am unable to find the option to make "--c64p_l1d_workaround = on" in CCS4. Where I can set this option?

    Thanks,

    Chandra

  • Chandra,

    In CCSv4, right-click on the individual file name in the project (or on the project itself if you wish to apply this option to every file built), select properties, then select C/C++ build in the list on the left.  Under the Tool Settings tab, click on the C600 Compiler (the top of the tree of options).  Then on the right side of the tab you will see the "Expert Settings: Command line pattern:" box.  In there you can add whatever options you like that the GUI doesn't give you the option ton control.  So between ${flags} and ${inputs} I simply added --c64p_dma_l1d_workaround.  When I built the file, I could see that the flag was correctly used to create the object file.

    After discussing this question with the compiler team, we determined that the --c64p_l1d_workaround option is not correct (that was for a different defect on a much older part). Make sure you use the --c64p_dma_l1d_workaround option and forget what I stated about the other option.  Sorry for any confusion.

    Regards, Daniel

  • Hi Daniel,

    Thanks for your quick response. Now I could also able to compile with --c64p_dma_l1d_workaround.

    Regards,

    Chandra