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: CCS V20 Hex Utility Command-Line pattern

Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE

Tool/software:

I'm working on migrating from CCS v12 to v20. I'm generating a binary file using the command-line pattern in the v12, but I can't find this option in v20. See images:

I know the setting is still there, because when I import a v12 project to v20 it is still running the flash_generate.cmd file, but doesn't let me control it & I wouldn't be able to port it to another project in v20. Was the command line pattern setting moved somewhere else in v20? I haven't been able to find it looking through the settings.

  • I'm generating a binary file using the command-line pattern in the v12, but I can't find this option in v20.

    The ability to manually modify the command-line pattern in the project properties is not supported in CCS 20.

    Was the command line pattern setting moved somewhere else in v20? I haven't been able to find it looking through the settings.

    It is currently hidden. I suppose you can manually modify the .cproject file for the project but that is a bit user unfriendly.

    What is flash_generate.cmd? It is a DOS cmd file that runs after the hex file is generated?

  • This is the flash_generate.cmd file I was using. I'm able to get most, but not all of these settings through the GUI. I wasn't able to figure out how to setup the ROMS.

    cpu1.out       
    --image
    --binary
    --memwidth=16
    
    ROMS
    {
        FLASH_MAIN: origin=0x00100000, len=0x014000, romwidth=16
        			fill=0xFFFF
                    files={cpu1.bin}
    }

  • Instead of enabling the Hex Utility in the project properties, perhaps just manually call it as a post-build step so that you have full control over what is passed to it?

  • I see how to do the post build steps. Would that be doing the same thing as the hex utility? I see an few different examples showing how they did it, but not much explaining how it works. Is there a simple way to just have the post build step run the same thing I was running before?

  • Is there a simple way to just have the post build step run the same thing I was running before?

    Take a look at the build output to see the exact command executed by the project for the hex utility. That is what you want as your post-build step. You should be able to use build variables for some of the text.

  • Ok, I got it set up to generate the hex file correctly that way. Thank you for your help!

    I have another warning in my code that I can't figure out what's causing it. Is that something simple you can advise me what to look for in the project properties? Or do I need to ask a new question? It only does it in my Flash configuration and not Ram, but everything seems to be set up correctly (differences are just the things I'd expect for flash mode)

    [17]Building file: "../main_loop.c"
    [18]Invoking: C2000 Compiler
    [19]"D:/ti/ccs2002/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 -O4 --opt_for_speed=5 --fp_mode=relaxed --include_path="D:/Documents/projectFolder" --include_path="D:/Documents/projectFolder/device" --include_path="D:/ti/c2000/C2000Ware_5_04_00_00/libraries/math/CLAmath/c28/include" --include_path="D:/ti/c2000/C2000Ware_5_04_00_00/libraries/calibration/hrpwm/f2837xd/include" --include_path="D:/ti/c2000/C2000Ware_5_04_00_00/driverlib/f2837xd/driverlib" --include_path="D:/ti/ccs2002/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include" --advice:performance=all --define=_CTRL_F28379D --define=D:/ti/c2000/C2000Ware_5_04_00_00/libraries/math/IQmath/c28/include --define=CPU1 --define=_FLASH --define=TEST_MODE --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="main_loop.d_raw" --include_path="D:/projectFolder/CPU1_FLASH/syscfg"  "../main_loop.c"
    [20]Warning #1920-D: '=' assumed following macro name "D" in command-line definition
    [21]Finished building: "../main_loop.c"

  • It is related to the below option you are passing in: 

    --define=D:/ti/c2000/C2000Ware_5_04_00_00/libraries/math/IQmath/c28/include

    You are specifying the above path as a pre-defined symbol. Is this what you want to do?

  • Man, I can't believe I looked at that so long and didn't find that. No idea why I didn't catch that. Thank you!