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.

[FAQ] [参考译文] 【常见问题解答】F29x 编译器:常见问题解答

Guru**** 2538950 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1554074/faq-f29x-compiler-frequently-asked-questions

器件型号:F29H859TU-Q1


工具/软件:

在哪里可以找到与使用 F29x 编译器相关的常见问题解答?

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

    有关参考、请参阅 F29x 其他 IP/外设的通用常见问题解答

    F29x 编译器常见问题解答

    为什么即使两个内核的程序代码相同、我从 2 个 CPU 生成的.out 文件也存在差异?

    • 同一工程的 2 个构建之间可能存在一些差异、例如时间戳、可能还有包含编译器所用文件路径信息的文本字符串。 建议使用我们的 CG_XML 包中名为 objdiff 的工具来进行此比较。 这仅比较.out 文件中实际加载到器件中的相关部分。

    使用快速优化时执行的优化级别是什么? 默认的优化级别是什么?

    • 不建议使用'-O0'、因为它会生成低效代码并且不会提高调试能力。 应改用“O1"。“。
    • “O3"选项“选项启用软件流水线。
    • 默认的优化级别为'-O1'。
    • 来自编译器用户指南:“-Ofast:启用-O3 上提供的所有优化以及额外的激进优化、这些优化可能会带来额外的性能提升、但不能保证严格遵守语言标准。“

    如何在构建时在我的 F29 工程中生成十六进制文件?  

    • 可以使用 c29objcopy 实用程序创建十六进制文件。 这可以作为编译后处理步骤添加到 CCS 工程属性中。 如需有关此特定主题的文档、请 点击此处

    如果我在编译器设置中将“Select assumed C language standard“留空、标准行为将是什么?  

    • 如果在 c29clang 命令行上未指定-std 选项、则假设对 C 源文件使用-std=gnu17、并假设对 C++源文件使用-std=gnu+17。 如需有关此特定主题的文档、请 点击此处

    是否可以使用“优化“和“无优化“在闪存上更快地运行程序? 它与 SIMD 还是流水线类似?

    • “-00"设置–00设置为“为“off",“,表示、表示没有优化。 代码会很慢很大。 当变量稍后只在几条指令中重复使用时、编译器甚至不会将它们保留在寄存器中。 相反、它将存储然后重新加载。
    • 建议将“-01"作为–01作为最低“最低电平。 该级别适用于初始开发和调试。 '–01'不包括并行指令的生成。
    • “-02"添加–02添加了“了并行指令。
    • 基于闪存的代码与–02 相比快多少取决于代码本身。

    什么是编译器资质审核套件?