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.

[参考译文] 编译器/TM4C1233H6PM:设置控制表时出现 DMA 错误

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/627344/compiler-tm4c1233h6pm-dma-error-when-setup-control-table

器件型号:TM4C1233H6PM

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

大家好、我不熟悉 TivaC 编程

我使用 DMA 将 UART FIFO 传输到缓冲区、当我想设置  与1024字节边界对齐的 uDMA 控制表时、会出现以下错误。

#pragma DATA_ALIGN (ucControlTable、1024)

错误:

expression 必须是整型常量表达式

任何人都可以帮助我、提前感谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Tien、
    您是否尝试过 TivaWare 库随附的 UDMA_DEMO 示例? 其中、它使用相同的 pragma 将 DMA 控制表对齐到1024字节。 如果您编译该示例、您是否有相同的错误? 我只是试了一下、我没有问题。 您使用的是哪个版本的 CCS 和编译器?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    当我构建 UDMA_DEMO 时、它会说  


    无法打开源文件"drivers/cfal96x64x16.h" cfal96x64x16.c /udma_demo/drivers line 43 C/C++ problem

    ,我使用 CSS7和 TI v16.9.3.LTS 编译器

    谢谢你。

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

    您好!

     通常、该示例应准备好进行编译、而无需用户进行任何更改。 不确定您的包含路径为何不是最新的。 您需要具有要包含的包含路径 /examples/boards/ek_tm4c123gxl. 将在此处找到 drivers 文件夹。

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

    您好!

    谢谢、我可以成功构建 UDMA_DEMO。  但当我返回到项目时、仍然有相同的错误。:

    说明资源路径位置类型
    #159表达式必须是整型常量表达式 DMA.cpp /DMA 第27行 C/C++问题

    我在整个项目中使用 C++吗? 这是问题吗?

    请帮帮我

    此致。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    好的、请参阅下面有关在 C++中使用 DATA_ALIGN 的信息。

    5.10.7 DATA_ALIGN Pragma
    DATA_ALIGN pragma 会将 C 中的符号或在 C++中声明的下一个符号对齐
    边界。 对齐边界是符号的默认对齐值或的值的最大值
    以字节为单位的常数。 常数必须是2的幂。 最大对齐为32768。
    DATA_ALIGN pragma 不能用于减少对象的自然对齐。
    C 语言中 pragma 的语法为:
    #pragma DATA_ALIGN (符号、常量)
    该 pragma 在 C++中的语法为:
    #pragma DATA_ALIGN (常量)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    主席先生,非常感谢你,这解决了我的问题


    此致。