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十六进制实用程序命令行模式

Guru**** 2200880 points
Other Parts Discussed in Thread: C2000WARE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1478623/tms320f28379d-ccs-v20-hex-utility-command-line-pattern

器件型号:TMS320F28379D
Thread 中讨论的其他器件:C2000WARE

工具与软件:

我正在从 CCS v12迁移到 v20。 我将使用 v12中的命令行模式生成二进制文件、但在 v20中找不到此选项。 请参阅图像:

我知道设置仍然存在、因为当我将 v12工程导入到 v20中时、它仍在运行 flash_generate.cmd 文件、但我不能控制它、而且我无法将其移植到 v20中的另一个工程。 命令行 模式设置是否在 v20中的其他位置移动? 我无法通过设置找到它。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我要使用 v12中的命令行模式生成二进制文件、但在 v20中找不到此选项。

    CCS 20不支持在工程属性中手动修改命令行模式。

    Unknown 说:
    命令行 模式设置是否在 v20中移到了其他地方? 我无法通过设置找到它。

    它当前处于隐藏状态。 我想您可以手动修改工程的.cproject 文件、但这有点对用户不友好。

    什么是 flash_generate.cmd? 这是一个在生成 hex 文件后运行的 DOS cmd 文件?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是我之前使用的 flash_generate.cmd 文件。 我能够通过 GUI 获得大多数、但不是所有这些设置。 我无法确定如何设置 ROM。

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    cpu1.out
    --image
    --binary
    --memwidth=16
    ROMS
    {
    FLASH_MAIN: origin=0x00100000, len=0x014000, romwidth=16
    fill=0xFFFF
    files={cpu1.bin}
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    不必在工程属性中启用十六进制实用程序、只需手动将其称为编译后处理步骤、以便完全控制传递给它的内容。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我看看如何执行编译后处理步骤。 它的操作与十六进制实用程序相同吗? 我看到几个不同的示例显示他们是如何做到的、但没有太多解释它是如何工作的。 是否有一种简单的方法可以使编译后处理步骤运行与我之前运行的相同操作?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否有一种简单方法可以让编译后步骤与我以前运行的步骤相同?

    通过查看构建输出以了解 工程为十六进制实用程序执行的确切命令。 这是您需要在编译后处理步骤中执行的操作。 您应该能够 对一些文本使用生成变量。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、 我已经将其设置为通过这种方式正确生成 hex 文件。 感谢您的帮助!

    我的代码中还有一条警告、我无法确定导致这一错误的原因。 您可以建议我在项目属性中查找哪些内容、这一点很简单吗? 或者我是否需要提出新问题? 它只在我的闪存配置中启用、而不在 RAM 中启用、但是所有内容似乎都设置正确(差异只是我希望闪存模式有何不同)

    Fullscreen
    1
    2
    3
    4
    5
    [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"
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    它与您传入的以下选项相关:  

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

    将上述路径指定为预定义符号。 这是您希望执行的操作吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我不敢相信,我看了这么久,没有发现。 我不知道为什么我不明白。 谢谢!