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.

[参考译文] CCS/CC1310:如何在 CCS8上生成二进制输出

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/692769/ccs-cc1310-how-to-generate-binary-output-on-ccs8

器件型号:CC1310

工具/软件:Code Composer Studio

您好!

我正在搜索一种在 CCS8上轻松生成二进制输出的方法、因为使用其他脚本更容易操作。 我已经尝试在编译后处理步骤中添加此命令:

${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin ${ProjName}${ProjName}.bin ${CG_TOOL_ROOT}/bin/ofd470.exe ${CG_TOOL_ROOT}/bin/hex470.exe ${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe

但以下是输出:

完成构建目标:"gateway_application.out"


bash "/home/aurelien/ti/ccsv8/utils/tiobj2bin/tiobj2bin "gateway_application""gateway_application.bin""/home/aurelien/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.1.LTS/bin/ofd470.exe "/home/aurelien/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.1.LTS/bin/hex470.exe "/home/aurelien/ti/ccsv8/utils/tiobj2bin/mkhex4bin.exe
发生 mkhex4bin 故障。 放弃。
Makefile: 264 :La recette pour la cible« post-build »a é chou é e

/home/aurelien/ti/ccsv8/utils/tiobj2bin/tiobj2bin:ligne 255:/home/aurelien/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.1.LTS/bin/ofd470.exe:aucun fashier ou dosier de ce type

ofd470.exe 似乎不存在。

此致、

欧雷利恩

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

    ${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin ${BuildArtifactFileName}${ProjName}_XX_YY_ZZ.bin ${CG_TOOL_ROOT}/bin/armofd ${CG_TOOL_ROOT}/bin/armhex ${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    欧雷利恩

    感谢您共享有效的命令。

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

    您好!

    但是、是否可以从二进制文件生成十六进制文件。 或者至少、让 css8将我的二进制文件加载到闪存中、而不是十六进制文件中。

    此致、

    欧雷利恩

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

    欧雷利恩

    可以从.out 文件生成.hex 文件。  armhex / hex470工具正在执行此操作。  CCS 实际上使用.out 文件将程序加载到闪存中。  当有一个外部闪存编程器时、通常使用.bin 和.hex 生成。

    例如、在 cc13x0 SDK 中的 pwmled2示例中、默认情况下它只会生成 CCS 使用的.out 文件。  但是、在构建选项中、我可以检查以启用十六进制实用程序、然后它还会生成.hex 文件。

    默认情况下、CCS 将加载.out。  但是、您可以指定加载.hex 文件。  您可以通过启动调试会话、连接到目标并选择加载程序、浏览到.hex 并将加载它来手动执行此操作。  只需确保选择"浏览"按钮、而不是浏览项目、以便它允许您选择.hex 文件。

    在这种情况下、您还需要在之后加载符号、如果您希望能够调试程序、则可以指向相应的.out 文件、因为这些符号位于.out 中、而不是.hex 中。

    要手动启动调试会话、您可以从 View 菜单中打开目标配置视图。  查找您的项目展开项目和 targetconfigs 文件夹以查找.ccxml 文件。  右键单击文件并选择启动所选配置

    然后、调试器启动后、单击"Connect"按钮。  然后单击加载程序按钮旁边的向下箭头并选择加载程序。

    是否有理由要加载.hex 而不是.out?

    此致、

    John

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

    非常感谢您的详细回答、非常有启发性。 实际上,我正在生成.bin 文件,因为我想将一些元数据添加到文件(sha1...) 和二进制文件更易于使用 python 脚本进行操作。 但是、我希望在启动调试会话时可以自动加载该文件。 但是,正如您已经说过的,如果我想进行调试,我也需要加载符号,只有.out 文件可以执行此操作...

    此致、

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

    请告诉我它是否适合您。 您应该能够加载.hex 以加载程序、并且只需从.out 加载符号。

    此致、
    John
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    最后、我将使用生成的".bin"计算元 SHA1、然后在".out"文件中设置元结构。 但我面临另一个问题。 实际上、在".bin"中、未使用的段被填充为0。 是否有办法避免填充这些段?

    此致、

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

    由于它只是一个纯二进制文件、因此需要0填充、否则读取/使用该文件的任何内容都不知道真实数据的下一部分从何处开始。 为了避免这种情况、您需要确保所有初始化的段都相邻。

    此致、
    John