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.

[参考译文] TMS320F28027:使用 CCS 10生成 bin 文件

Guru**** 2795975 points

Other Parts Discussed in Thread: UNIFLASH, TMS320F28027

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1056303/tms320f28027-bin-file-generation-using-ccs-10

器件型号:TMS320F28027
主题中讨论的其他器件:UNIFLASH

您好!

我尝试使用 CCS 10生成 bin 文件。

通过 CCS 生成的 bin 文件与通过 Uniflash 读取存储器生成的 bin 文件不匹配。

请告诉我这种观察的原因

此致、

Rishabh P

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

    您好!

    我使用 F28027器件的 CCS 11.0、CCS 10.4和 UniFlash 7.0生成了 bin 文件。 指定相同的起始地址、存储器页和长度时、二进制文件是相同的。

    请显示使用 CCS 和 UniFlash 导出存储器时使用的设置。

    还提供所使用的 CCS 和 UniFlash 的确切版本号。

    谢谢

    Ki

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

    您好 Ki、

    我使用 CCS 10.3.1进行代码编译和 Uniflash 3.0。

    在中 生成 bin 文件的 post-build 步骤中、使用以下命令

    "${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin.bat ""${BuildArtiftFileName}""${BuildArtiftFileBaseName}.bin""${CG_TOOL_ROOT}/bin/ofd2000.exe ""${CG_TOOL_ROOT}/bin/hex2000.exe ""${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe

    所附图像显示了在代码转储到控制器后为读取微控制器存储器所做的设置。

    请针对此观察结果建议解决方案。

    此致、

    Rishabh P.

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

    啊、我现在明白了。 您将比较从十六进制转换实用程序生成的二进制输出。

    [引用 userid="182059" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1056303/tms320f28027-bin-file-generation-using-ccs-10/3909199 #3909199"] Uniflash 3.0。

    根据屏幕截图、您未使用 UniFlash 3.x 如果您按下"About (关于)"按钮、指定的版本号是什么?

    您能否同时附加生成的二进制文件和从存储器导出的二进制文件? 如果您想私下分享、请与我开始私下交谈。

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="182059" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1056303/tms320f28027-bin-file-generation-using-ccs-10/3909199 #3909199"]

    在中 生成 bin 文件的 post-build 步骤中、使用以下命令

    "${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin.bat ""${BuildArtiftFileName}""${BuildArtiftFileBaseName}.bin""${CG_TOOL_ROOT}/bin/ofd2000.exe ""${CG_TOOL_ROOT}/bin/hex2000.exe ""${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe

    [/报价]

    您能澄清一下:

    1. 如果项目的输出格式设置为"传统 COFF"或"eabi (ELF)"
    2. 正在使用哪个版本的 C2000编译器

    使用 CCS 11和 C2000编译器 v21.6.0.0为 TMS320F28027创建了一个"空工程(使用 main.c)"、并复制了编译后处理步骤以生成.bin 文件:

    1. 当输出格式为"传统 COFF"时、.bin 文件的大小与链接器映射文件中报告为 FLASH0用法的大小匹配。
    2. 输出格式为"eabi (ELF)"时、.bin 文件的大小小于链接器映射文件中报告的 FLASH0用法。 如果看起来默认情况下、编译后处理步骤会将 闪存中.cinit 段的内容省略到 bin 文件; 由于.bin 文件的大小与链接器映射文件中的 FLASH0用法之间的差异与链接器映射文件中报告的.cinit 段的大小匹配、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我在项目中执行同样的操作(但是不使用 Uniflash)。 我至少从输出文件中获得一个与调试器加载的闪存内容完全匹配的文件。

    我认为您不必使用任何编译后处理步骤。 只需启用十六进制实用程序、并将命令文件作为参数进行调用。 如下所示:

    ${command}${flags}${output_FLAG}${output}${inputs}${project_LOC}/comandfile

    还可以在"常规选项"中定义输出文件:

    "comandfile"是十六进制实用程序命令文件(使用所需的任何文件名)。 在您的案例中、其内容可能如下所示:

    --图像
    二进制
    --零
    ROM

    IMAGEBIN:
    org = 0x7E0000、 // 0x3f0000 * 2 */
    Len = 0xFE7E、     /* 0x7F7F * 2 */
    romwidth = 16、
    填充= 0xFFFF

    这将生成定义的存储器范围中所有段的二进制映像。

    您可能无法按照所述的方式使用 Uniflash 实用程序对其进行编程。