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.

[参考译文] TMS320F28379D:创建具有多个.c 文件的 CCS 工程

Guru**** 2609935 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1024892/tms320f28379d-creating-a-ccs-project-with-multiple-c-files

器件型号:TMS320F28379D

各位专家、您好!

我创建了一个包含多个 c 文件的项目。 我将所有全局变量声明保存在一个文件中、但在相应的.c 文件中定义。 我看到变量未初始化为定义期间分配的值。

如果我为每个.c 文件创建相应的.h 文件、并将头文件包含在所需的.c 文件中、我会遇到多个声明错误。

我想知道、如何创建一个具有许多.c 及其各自的.h 文件且每个.c 文件都具有全局变量的工程、以及如何访问其他.c 文件中的这些变量?

此致

Vishal

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

    您好、Vishal、

    您是否尝试 使用.h 文件中的'extern '和一个.c 文件中的定义进行声明。 在其他.c 文件中、只需包含头文件。

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

    您好、Santhosh、

    我尝试将其设置为 extern、但变量仍不是初始化的。

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

    Vishal、

    您是否使用 COFF 或 EABI 格式?  

    我将建议浏览编译器用户指南 第4.3.5节、其中指定全局变量初始化的类型

    https://www.ti.com/lit/ug/spru514w/spru514w.pdf

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

    什么是  COFF 或 EABI?

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

    什么是  COFF 或 EABI?、

    我阅读了文档。 我无法理解。 您能澄清一下吗?

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

    这是两种不同的输出格式。 您可以检查项目设置。

    在 EABI 格式中、全局变量会自动初始化为零、而在 COFF 格式中、默认情况下不会初始化全局变量。

    我将再次重申、请访问我先前发送的文档链接。

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

    您好、Santhosh、

    我了解 COFF 与 EABI。 在何处配置这些组件?

    此致

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

    Vishal、

    可以在项目设置中更改输出格式。 右键点击工程、选择'Show Build setting ...'。 输出格式位于主页上。

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

    您好、Santhosh、

    我找不到选项。

    此致

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

    您好、Vishal、

    从左窗格中选择"常规"。

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

    您好、Santhosh、

    我尝试使用旧 COFF。 我的变量仍然会被初始化为0。

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

    Vishal、

    在 COFF 格式中、全局变量不会初始化为0。 请查看此主题以了解相同的问题。

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/938908/tms320f28335-global-variables-initialization-to-zero