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.

[参考译文] TMS570LS0432:生成 bin 文件,为什么这么大

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1016728/tms570ls0432-generate-bin-file-why-is-it-so-big

器件型号:TMS570LS0432
主题中讨论的其他器件:NOWECCUNIFLASH

你好

 团队

我想生成.bin 文件。

我用的方法是  

"${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

但是当 我构建这么 长的时间来生成.bin、 那么大时。

输出为686KB、.bin 为3934209KB。

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

    黄先生、您好!

    这是由链接器 cmd 文件中的 ECC 生成引起的。

    生成 ECC 的方法有三种:

    nowECC: 生成要编程到具有 ECC 闪存的 TMS570平台器件 ECC 存储器位置的数据。

    CCS 或 Uniflash:"自动 ECC 生成"功能将在将程序加载到闪存时启用 ECC 计算/编程。

    3.链接器命令文件:vfill'仅影响 ECC 生成。 它指示 ECC 发生器将闪存视为已填充值0xFFFFFFFF。 这是虚拟填充、因为加载程序不需要下载3MB。

    对于应用(而不是引导加载程序)、您也可以使用链接器命令文件来生成 ECC、但不会为整个闪存生成 ECC。 如果应用程序可以容纳2个扇区、则只需使用0xFFFFFFFF 对这两个扇区进行虚拟填充、并为这两个扇区生成 ECC。

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

    黄先生、您好!

    原始二进制文件不包含存储器地址、因此所有存储器空位都填充为零。 ECC 地址位于0xF040_0000。 二进制文件包含填充到闪存(0x00xxxxxx)、SRAM (0x08xxxxxx) 和0xF04_0000之间所有未使用地址的零。  因此、大小为3、936、768 KB 的二进制文件。  

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

    谢谢你

    回复该帖子