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.

[参考译文] AM3359:RTOS PRU 编译警告

Guru**** 2584395 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/708027/am3359-rtos-pru-compilation-warning

器件型号:AM3359

您好!

在 Processor SDK 4.3的 ICSS_EMAC 固件构建过程中仍会出现"[W0004] Open block at EOF (EOF 上的打开块)警告、在最新 PRU 编译器版本中的任何选项或更新到所连接的固件会打开 e2e.ti.com/.../src.7zsource代码以修复警告? 完整日志如下所示:

C:\ti\pdk_am335x_1_0_10\packages/ti\drv\ICSS_EMAC>gmake > icss_emac_warning.txt

"/ti/pdk_am335x_1_0_10/packages/ti/drv/icss_emac/firmware/icss_dualemac/src/micr

O_scheduler.asm"、警告! 在 EOF 上:[W0004]在 EOF 上打开块

"/ti/pdk_am335x_1_0_10/packages/ti/drv/icss_emac/firmware/icss_dualemac/src/emac

_MII_Rcv.asm"、警告! 在 EOF 上:[W0004]在 EOF 上打开块

"/ti/pdk_am335x_1_0_10/packages/ti/drv/icss_emac/firmware/icss_dualemac/src/emac

_MII_XMT.asm"、警告! 在 EOF 上:[W0004]在 EOF 上打开块

"/ti/pdk_am335x_1_0_10/packages/ti/drv/icss_emac/firmware/icss_dualemac/src/emac

_statistics.asm"、警告! 在 EOF 上:[W0004]在 EOF 上打开块

…μ A

谢谢、

Garrett

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

    遗憾的是、我无法在附加的.7z 文件中构建源代码。  这...

    [引用 USER="Garrett Ding]C:\ti\pdk_am335x_1_0_10\packages/ti\drv\ICSS_EMAC>gmake >ICSS_EMAC_warning.txt

    (笑声) 表示存在 makefile。  但我看不到一个。

    如果您能确切地展示编译器如何调用以构建其中一个有问题的汇编文件、我会很感激、而不是发送 makefile 文件。

    谢谢、此致、

    乔治

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

    乔治

    感谢您对此进行深入研究。 下面是 EMAC_MII_XMT.asm 的构建过程:

    #编译 AM335x:PRU_1:ICSS_SWITCH:/ti/PD2F83~1/packages/ti/drv/ICSS_EMAC/firmware/ICSS_dualemac/src/EMAC_MII_XMT.asm

    C:/ti/ti-cgt-pru_2.2.1/bin/clpru -DMAKEFILE_Build -v3 -g -endian=little -DICSS_
    Rev1 --diag_wrap=off --diag_warning=225 --display_error_number --hardware_mac=on
    --preproc_with_compile -eo.opu -DPRU1 -Dpru1 -DICSS_SWITCH_Build -DPRU -DTWO
    _port_CFG -DSOC_AM335x -IC:/ti/ccsv6/ccs_base/pru/include -IC:/ti/ti-cgt-pru_
    2.2.1/include -Isrc/-i/ti/PD2F83~1/packages/ti/drv/ICSS_EMAC/firmware/ICSS_DUAL
    EMAC/src -fr=/ti/PD2F83~1/packages/ti/binary/ICSS_switch/obj/AM335x/a8host/REV1/
    PRU_1 -FS=/ti/PD2F83~1/packages/ti/binary/ICSS_switch/obj/AM335x/a8host/REV1/PRU
    _1 --preproc_dependence="emac_MII_XMT.d"/ti/PD2F83~1/packages/ti/drv/ICSS_EMAC/
    固件/ICSS_dualemac/src/EMAC_MII_XMT.asm
    "/ti/pdk_am335x_1_0_10/packages/ti/drv/icss_emac/firmware/icss_dualemac/src/emac
    _MII_XMT.asm"、警告! 在 EOF 上:[W0004]在 EOF 上打开块
    无汇编错误、1汇编警告

    此致、Garrett

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

    您的其中一条包含路径是...

    i/ti/pd2F83~1/packages/ti/drv/ICSS_EMAC/firmware/ICSS_dualemac/src

    我无法识别它。  我尝试在没有它的情况下建造。  正如预期的那样、它失败了。  这可能是进入我没有的软件包的路径。  请向我发送一个链接、并指明要使用的版本。

    谢谢、此致、

    乔治

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

    乔治

    短目录名称为 pdk_am335x_1_0_10、来自适用于 AM335x 的 Processor SDK RTOS -  

    PDK 驱动程序构建说明在此处提供-

    实质上、您需要在 pdk_[soc]_[version]\packages 中运行 pdksetupenv.bat、然后转至驱动程序目录 packages/ti/drv/icss_emac 并运行"gmake clear"和"gmake"

    谢谢、

    Garrett

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

    感谢您提供相关信息。  我可以重现有关开块的诊断。  我找到了问题。  第一条.if 语句周围的行是...

    if!$defined ("__MII_xmt_p")
    __MII_xmt_p.set1.
    
    ;//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ;包括第节
    ;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    .include "ICSS_INTC_regs.h" 

    该.if 没有匹配的.endif。  也就是诊断。

    谢谢、此致、

    乔治

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

    乔治

    匹配的.endif 位于文件 EMAC_MII_XMT.asm 的末尾。 文件中有75 .if 和.endif。

    如果再添加一个.endif、我得到了错误:

    "src="/EMAC_MII_XMT.asm"、错误!  在第929行:[E0006]没有匹配.if 指定

            .endif

    1组装错误、无组装警告

    源代码中的错误-汇编器已中止

    您能否继续研究此问题?

    谢谢、 Garrett

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

    那么、我们不会查看同一个文件。  我从您附加到第一个帖子的 src.7z 存档中获取它。  这就是我看到的...

    $ grep '\.if' emac_MII_XMT.asm | wc -l
    76
    $ grep '\.endif' emac_MII_XMT.asm | wc -l
    75
    

    谢谢、此致、

    乔治

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

    乔治

    我认为、以下注释中的.if 被 grep 计数。

    ';检查我们是否传输了所有字节...如果不是为此数据包再次调用 Tx 任务'

    此致、

    Garrett

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

    [引用 user="Garrett Ding"]我认为,以下注释中的.if 由 grep 计数。

    你是对的。  很抱歉。

    这在汇编器中似乎是一个问题。  我在 SDOWP 系统中提交了 CodeGen-5028、以对其进行调查。  欢迎您在我的签名中使用下面的 SDOWP 链接进行访问。

    谢谢、此致、

    乔治

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

    感谢您提交 CodeGen-5028、George。 我们将在此处跟踪它...