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.

TMS320F28379D: Has the ability to extend the list file line length been deprecated?

Part Number: TMS320F28379D


Greetings,

I have been using asm(“\t.width 400”); to extend the line length of the list files which the compiler is generating.  Now we are using compiler TI v20.2.5.LTS, and it rejects the statement with:

Description Resource Path Location Type
#196 expected an asm string DrvMain.cpp /SB_1_3_IECT_U_B2IA line 1 C/C++ Problem
#7 unrecognized token DrvMain.cpp /SB_1_3_IECT_U_B2IA line 1 C/C++ Problem

Has this feature been deprecated or replaced?  Or is there something else which I need to set up before using it?

Thank you,

Ed

  • Unfortunately, I am unable to reproduce the problem.

    The documentation of .width states the maximum supported width is 200 characters.  Please change the value from 400 to 200, and see if that helps.  If it doesn't, then please follow the directions in the article How to Submit a Compiler Test Case.

    Thanks and regards,

    -George

  • Hi George,

    I tried using 200, and it made no difference.

    And unfortunately, the link doesn't seem to be working as the page never displays anything.

    So I've grouped all the data I have so far into the block below.

    Compiler Version - TI v20.2.5.LTS
    asm(“\t.width 200”);
    "<my_paht>/<my_file.cpp>", line 1: error #7: unrecognized token
    "<my_paht>/<my_file.cpp>", line 1: error #196: expected an asm string
    "<my_paht>/<my_file.cpp>", line 1: error #7: unrecognized token
    "<my_paht>/<my_file.cpp>", line 1: error #7: unrecognized token

    Thank you,

    Ed

  • Please show the full invocation of the compiler that leads to the problem behavior.  Please copy and paste the text into the next post, and do not use a screen shot.

    Thanks and regards,

    -George

  • I'm using the CCS IDE.  I presume there is an auto-generated file which contains that info.  Where can I find it?

    Thank you,

    Ed

  • I presume there is an auto-generated file which contains that info.

    Not really.  The compiler invocation is created on the fly by invoking gmake on auto-generated makefiles.  

    When the build occurs, all of the compiler invocations appear in the Console view.  Copy it from there.

    Thanks and regards,

    -George

  • Got it!  I have copied the entire build output, removing our include paths, and replacing folder and file names with a generic flavor.

    The file in question begins with:

    asm(“\t.width 200”);

    Thank you,

    Ed

    **** Build of configuration Debug for project <project_name> ****

    "C:\\ti\\ccs1040\\ccs\\utils\\bin\\gmake" -k all

    Building file: "<my_path>/<my_file.cpp>"
    Invoking: C2000 Compiler
    "C:/ti/ccs1040/ccs/tools/compiler/ti-cgt-c2000_20.2.5.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 -O4 --opt_for_speed=4 --fp_mode=relaxed --fp_reassoc=off --include_path="C:/ti/ccs1040/ccs/tools/compiler/ti-cgt-c2000_20.2.5.LTS/include" --preinclude="C:/ti/ccs1040/ccs/tools/compiler/ti-cgt-c2000_20.2.5.LTS/include/stdlib.h" --advice:performance=all -g --c99 --c++03 --strict_ansi --cpp_default --float_operations_allowed=32 --printf_support=minimal --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=coffabi --rpt_threshold=49 --single_inline --remove_hooks_when_inlining --std_lib_func_not_defined -k --asm_listing --check_misra="2.3,4,5.2,5.3,5.4,6,-6.4,7,8.1,8.2,8.7,8.8,9,10,11,12,13.3,13.4,14.1,14.4,14.7,14.8,14.9,15,16,17,18.1,19,20,-20.6" --misra_advisory=error --misra_required=error --gen_acp_raw --gen_acp_xref --preproc_with_compile --preproc_dependency="<folder>/<my_file>.d_raw" --obj_directory="<folder>" "<my_path>/<my_file.cpp>"

    >> Compilation failure
    Comm_IPCU_Common/subdir_rules.mk:142: recipe for target '<folder>/<my_file.obj>' failed
    "<my_path>/<my_file.cpp>", line 1: error #7: unrecognized token
    "<my_path>/<my_file.cpp>", line 1: error #196: expected an asm string
    "<my_path>/<my_file.cpp>", line 1: error #7: unrecognized token
    "<my_path>/<my_file.cpp>", line 1: error #7: unrecognized token
    "<my_path>/<my_file.cpp>", line 207: warning #83-D: storage class is not first
    4 errors detected in the compilation of "<my_path>/<my_file.cpp>".
    gmake: *** [<folder>/<my_file>.obj] Error 1
    gmake: Target 'all' not remade because of errors.

    **** Build Finished ****

  • Unfortunately, I cannot reproduce the behavior.  (That's the second time today!!!)  I thought I could reproduce it with a limited test case.  Now I am forced to ask you for a full test case.  The web address to the article for doing that is https://software-dl.ti.com/ccs/esd/documents/sdto_cgt_How-to-Submit-a-Compiler-Test-Case.html .  I don't know why it does not work for you.  Attached is a PDF of the article.

    Thanks and regards,

    -George

    8267.How to Submit a Compiler Test Case.pdf

  • Hmmm.  I'm following the video and have everything ready to send.  But this does not have the link shown in the video.  Should I simply use the Insert Code option and paste the file into that?

  • This FAQ shows how to attach a file.

    Thanks and regards,

    -George

  • I used the drag and drop method.  It think the file was accepted.  I removed the 'pp' extension. Let me know if that didn't work.

    I also reduced my_file to a single line, the asm line.

    asm(“\t.width 200”);

    "C:/ti/ccs1040/ccs/tools/compiler/ti-cgt-c2000_20.2.5.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 -O4 --opt_for_speed=4 --fp_mode=relaxed --fp_reassoc=off --preinclude="C:/ti/ccs1040/ccs/tools/compiler/ti-cgt-c2000_20.2.5.LTS/include/stdlib.h" --advice:performance=all -g --c99 --c++03 --strict_ansi --cpp_default --float_operations_allowed=32 --printf_support=minimal --preproc_with_comment --preproc_with_compile --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=coffabi --rpt_threshold=49 --single_inline --remove_hooks_when_inlining --std_lib_func_not_defined -k --asm_listing --check_misra="2.3,4,5.2,5.3,5.4,6,-6.4,7,8.1,8.2,8.7,8.8,9,10,11,12,13.3,13.4,14.1,14.4,14.7,14.8,14.9,15,16,17,18.1,19,20,-20.6" --misra_advisory=error --misra_required=error --gen_acp_raw --gen_acp_xref --obj_directory="Comm_IPCU_Common" "<path_to_my_file.cpp>/<my_file.cpp>"

  • Thank you for submitting the test case.  I can reproduce the same result.  The problem is the encoding of the double quote characters in the asm statement.  To illustrate the problem, here is a character by character dump of the problem line ...

    % od -An -c -w10 file.cpp
       a   s   m   ( 223   \   t   .   w   i
       d   t   h       2   0   0 224   )   ;
      \r  \n

    od is a utility available on Linux and other Unix-like systems.  With those options, every character is displayed as one of:

    • itself
    • an escape sequence, such as \r for carriage return
    • an octal value

    Notice the octal values 223 and 224 where a double quote character " is expected.  These are extended ASCII characters.  Octal 223 stands for left double quote and octal 224 stands for right double quote.  Replace these two odd quote characters with the standard ASCII double quote character, and it will work.

    Thanks and regards,

    -George

  • Confirmed!! Looking back at my previous thread, I can see that it is incorrect there too. I can see that the tool which I used to compose my response made the change, and I copied and pasted that into my notes.

    At any rate, it's working now, and I've updated my notes with the correct quotes.  I'll check out the od command too.  Thank for steering me to it.

    Oh and the 400 argument works fine too!

    As always, I appreciate your help George.

    Ed