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/TMS320DM6437:如何在 CCS 项目中将 bin 文件导入为源文件

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/792875/ccs-tms320dm6437-how-to-import-a-bin-file-as-source-in-ccs-project

器件型号:TMS320DM6437

工具/软件:Code Composer Studio

我想将 bin 文件导入项目中的源文件。  并且不希望将其转换为 C 数组。  还有其他方法吗?

在 ARM 中,我知道 INCBIN 可以做到。 在 DSP 中、我该怎么做?

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

    CCS 不会将原始二进制数据格式的文件视为源代码的一部分。 在这种情况下、您必须强制将其转换为"C"阵列、或者使用其中一个控制台文件 I/O 例程来使其从主机 PC 中读取。 抱歉。

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

    为了 响应将 二进制资源放置在链接的可执行文件中的前一个线程、提出了增强请求 SDSCM00043204 "将用户提供的二进制文件直接复制到输出可执行文件中"。 但是 、SDSCM00043204尚未实施。

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

    [引用 user="Zhenhong"]还有其他方法? GCC objcopy 程序可以将二进制文件转换为 ELF 目标文件。 我发现 、CCS 9随附的 gcc-arm-no-eabi-7-2017-Q4-maj/bin/arm-no-eabi-objcopy 可以从二进制文件创建目标文件、这样、只要生成的 ELF 文件中的机器设置为"TI C6x"、生成的目标文件就会被 TI C6000链接器接受。

    从二进制输入文件创建 ELF 目标文件的命令如下所示:

    [引用] arm-none-eabi-objcopy --alt-machine-code=140 --input-target=binary --output-target=ELF32-lit [/报价]

    其中、140的--alt-machine-code 值是"TI C6x"的值。

    如果您的 DSP 是大端字节序、请使用 --output-target=ELF32-big 而不是 --output-target=ELF32-little

    程序可以使用目标文件中引用的以下特殊符号来访问二进制数据:

    _二进制_ 开始(_start)
    _二进制_ 结束(_end)
    _二进制_ 大小(_size)

    随附的使用 CCS 9创建的示例工程具有预编译步骤、该步骤使用运行 arm-no-eabi-objcopy 将二进制文件转换为链接到 C66 DSP 程序的对象。 对于此示例、"二进制"文件是源文件、它在运行时显示其内容。

    e2e.ti.com/.../66AK2H14_5F00_link_5F00_binary_5F00_blob.zip