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/SW-EK-TM4C123GXL:CCS 编译映像对于 TM4C123GXL 来说太大、因为其闪存为256KB

Guru**** 2524550 points
Other Parts Discussed in Thread: EK-TM4C123GXL, UNIFLASH

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/890368/ccs-sw-ek-tm4c123gxl-ccs-build-image-is-too-large-for-tm4c123gxl-as-its-flash-is-256kb

器件型号:SW-EK-TM4C123GXL
主题中讨论的其他器件:EK-TM4C123GXLUNIFLASH

工具/软件:Code Composer Studio

我是 EK_TM4C123GXL 和 CCS 的初学者

我从 tirtos_tivac_2_16_00_08中导入了 EK-TM4C123GXL;的 ti-RTOS 示例 hello_EK_TM4C123GXL_TI

然后、我将其编译为调试和发布版本的默认配置

我获得 了 hello_ek_TM4C123GXL_TI.out 文件 、 该文件为1、774、740字节;

该大文件如何闪存到 EK_TM4C123GXL;

有什么问题吗?

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

    TI 是否可以帮助建议 EK_TM4C123GXL 的编译后命令?

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

    我使用 CCS10、我确实找到了一个脚本:

    "${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin ""${BuildArtiftFileName}""${BuildArtiftFileBaseName}.bin""${CG_TOOL_ROOT}/bin/armofd ""${CG_TOOL_ROOT}/bin/armhex ""${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin

    对吗? 我可以使用此脚本获取 大小为2kB 的 bin 文件 hello_EK_TM4C123GXL_TI.bin

    我还发现一些具有以下内容的脚本:

    "${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe"& "D:/TI/AM335X_StarterWare_02_00_01_01/tools/ti_image/tiimage.exe"
    "0x80000000""NONE""${BuildDirectory}/${ProjName}.bin""${BuildDirectory}/${ProjName}_ti.bin"
    我需要这吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    当我刷写 hello_ek_TM4C123GXL_TI.bin,时、会显示以下错误:

    [2020/3/20下午3:54:16] [错误] Cortex_M4_0:文件加载器:验证失败:地址0x00000004的值不匹配请验证目标存储器和存储器映射。
    [2020/3/20下午3:54:36] [错误] Cortex_M4_0:文件加载器:验证失败:地址0x00000004的值不匹配请验证目标存储器和存储器映射。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    首先、.out 文件包含的信息比要编程到器件中的目标代码多得多。 通常、调试器用于识别变量大小并将 C 代码行与汇编代码指令关联的调试信息会显著增加.out 文件的大小。 您是否尝试使用 Code Composer Studio 加载.out 文件? 您是否查看了.map 文件以查看加载的图像的实际大小?

    创建.bin 文件的后处理步骤通常由引导加载程序使用、在使用 Code Composer Studio 进行编程时不使用。

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

    感谢您的回复;

    我尝试使用 Code Composer Studio 加载.out 文件。  它起作用;

    我想知道如何从源代码编译映像以用于生产环境、例如使用 uniflash 将映像编程到芯片闪存中?

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

    我不知道你要问什么。 Uniflash 会对 Code Composer Studio 创建的.out 文件进行编程。 您可以使用 Uniflash 创建批处理文件、以便在生产环境中使用。  

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

    如果.out 文件大小为1.7MB、uniflash 会使用256KB 闪存将.out 映像编程到芯片、Uniflash 会自动排除.out 文件的调试信息、 对吗?

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

    您好:

      在我的环境中、主机应该是一个嵌入式 ARM 系统、它将执行程序过程、我认为 uniflash 可能无法正常工作;

      我必须按照 TM4C123GXL 的编程协议编写程序应用程序;

      这是可行的吗?

      谢谢!

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

    您好:

       串行闪存下载器工具能否将.out 文件编程到 TM4C123GXL 闪存?

      谢谢

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

    是的、当给定.out 文件时、Uniflash 将仅对实际代码和数据进行编程、而不对调试信息进行编程。

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

    串行闪存引导加载程序(和串行 ROM 引导加载程序)需要使用编译后处理步骤创建的.bin 文件。