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.

[参考译文] CC3220SF:CCS 为 CC3220SF 生成的 bin 文件非常大

Guru**** 2551110 points
Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/974474/cc3220sf-bin-file-generated-by-ccs-for-cc3220sf-is-very-large

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

在使用具有相同器件的 Launchpad 进行初始开发之后、我们在 CCS 中创建了一个项目、以基于 CC3220SFMODA 的定制板为目标。  在 RAM 编译中运行的调试编译、在两个平台上都可以正常运行、.out 文件大小位于 KB 中。  刷写 bin 文件后代码不运行、我们发现它超过16MB!  当我们尝试下载 Uniflash 时、Uniflash 没有任何问题、但它似乎不会擦除闪存中当前的任何内容。  CCS 演示项目可以在我们的定制板上成功刷写、因此我们对我们的设计充满信心。  我们注意到、这些 bin 文件比我们的文件小得多。   

当我查看.map 文件时、它与演示中的文件类似、但我们的.text 非常大。  我们希望了解导致编译器引入/生成多余代码的原因。  我们还尝试进行演示项目、并完成重新创建应用程序的过程、以查看该过程中可能发生的情况。  我们当前的应用实际上基于我们修改的演示、因此我们不确定在此过程中发生了什么。

请告诉我们是否有任何关于如何处理此问题的建议-我认为开始编辑演示项目有点工作、我觉得有些工具可能不能理解。  我可以发布您可能想要查看的任何文件。

谢谢、Pete

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

    您好!

    这很奇怪。

    。 .bin 必须小于 .out。

    当 CCS 调试器与 SF 器件一起使用时-代码被加载到内部 XIP 闪存(而不是 RAM)中执行它。

    使用 uniflash 时、.bin 会在文件系统中创建一个文件(引导加载程序会将该文件复制到内部 XIP 闪存)。

    这不应影响尺寸。

    您在哪里可以看到16MB?

    您可以检查映射文件并查找导致文本文件爆炸的符号(尽管文本文件大于1MB、但 CCS 将无法将其加载到具有1MB 内部闪存的器件)。 bin 文件大小应围绕.text 段的大小。

    另一种调试方法是从工作示例开始并逐步添加代码、直到找到导致问题的原因。

    BR、

    Kobi