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.

[参考译文] 编译器/tm4c1294kcpdt:TivaWare、tm4c1294kcpdt.h、hw_flash.h、flash_Fma_offset_M

Guru**** 2455560 points
Other Parts Discussed in Thread: TM4C1294KCPDT

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/641161/compiler-tm4c1294kcpdt-tivaware-tm4c1294kcpdt-h-hw_flash-h-flash_fma_offset_m

器件型号:TM4C1294KCPDT

工具/软件:TI C/C++编译器

您好!

我收到以下错误消息:编译我的项目(用 CCS7编写):

宏"flash_fma_offset_M"的#48-D 不兼容重定义(在"C:/TI/TivaWare_C_Series-2.1.4.178/inc/tm4c1294kcpdt.h "的第11498行声明)   .ccsproject   /ionet   第144行、外部位置:C:\TI\TivaWare_C_Series-2.1.4.178\inc\hw_flash.h   C/C++ problem

我必须包含以下文件(此源文件都需要):

 - C:\TI\TivaWare_C_Series-2.1.4.178\inc\tm4c1294kcpdt.h

 - C:\TI\TivaWare_C_Series-2.1.4.178\inc\hw_flash.h

查看 TM4C1294KCPDT 微控制器的数据表(FMA 寄存器的说明)、我发现第一个文件中的定义正常、hw_flash.h 中的定义必须有错误。

我对我的想法是否正确... ?

感谢您的回答。

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

    重新定义的问题在于您包含了以下内容:

    C:\TI\TivaWare_C_Series-2.1.4.178\inc\tm4c1294kcpdt.h

    请删除该文件并查看问题是否解决。

    至于这些值、我认为 hw_flash.h 值是寄存器位字段的掩码、而不是数据表中的实际值。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    拉尔夫

    感谢您的回答、但是

    寄存器1:闪存存储器地址(FMA)、基地址0x400F.D000、偏移量0x000具有定义的地址偏移位域。 该域的长度为19位。

    "C :/TI/TivaWare_C_Series-2.1.4.178/inc/tm4c1294kcpdt.h "第11498行屏蔽的声明是可以的(0x0007FFFF)。

    "C :/TI/TivaWare_C_Series-2.1.4.178/inc/hw_flash.h "第144行的掩码声明错误(0x000FFFFF)。

    我的项目需要包括两个文件才能获得所有需要的定义。 一些是在一个文件中定义的、另一些是在另一个文件中定义的...

    我认为、TI 应在下次更新 TIvAware 时纠正此问题、以避免生成警告消息。

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

    您好 Andres、

    当与 TivaWare 驱动程序库一同使用时、hw_flash.h 的掩码将适用于所有 TM4C 器件、这就是为什么它设置得与此类似、因此它仍然适用于您的 MCU。

     如果您使用的是 TivaWare、则无需 tm4c1294kcpdt.h 文件。 您缺少的定义应该出现在其他 TivaWare 提供的文件中。 如果您想寻求帮助、我可以提供帮助。

    TivaWare 过去已经过更新、以解决这些警告的问题、其中一部分更新是不应使用特定于处理器的头文件。 查看所有 TivaWare 示例、您将看到它们中没有一个使用特定于处理器的标头。