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.

[参考译文] RTOS/AM4378:PRU HSR-PRP-Dan 无法编译

Guru**** 2543190 points
Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/613063/rtos-am4378-pru-hsr-prp-dan-fails-to-compile

器件型号:AM4378
Thread 中讨论的其他器件:SYSBIOS

工具/软件:TI-RTOS

尊敬的香榭丽舍

我正在尝试从 PRU-ICSS-HSR-PRP-DAN_01.00.02.00软件包编译示例。 我已经生成了用户指南中描述的项目(如发行说明中所述安装了所有软件包)、但当我编译项目时、我会遇到以下错误(我也会收到与 PRP 项目相同的错误):
##############################

'生成文件:C:/ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00/examples/hsr_prp/hsr_prp_menu.c '
'调用:GNU 编译器'
"c:/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc.exe /ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00/protocols/hsr_prp/projects/hsr_app_AM437x_arm /ti/pdk_am437x_1_0_7/packages/ti/starterware/include/am43xx /ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00 /ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00/examples/hsr_prp /ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00/protocols/hsr_prp/include /ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00/third_party/protocols/snmp/include /ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00/third_party/protocols/ptp/ptpd/dep /ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include -c -mcpu=cortex-A9 -mtun=cortex-A9 -March =armv7-a -mfloat-abi=hard -mcpu=neon -Dam4379 -dsoc_AM437x -dcore0 -dptp -DBUILD_HSR_H -i="hard -mp=dprp=none-dprpf-dprpf-nex -dr -am4379 -dsp"-mco-mcr -mcr -mcr -dwegrobt /ti/pdk_am437x_1_0_7/packages -d_intrab.c @:/ti/ndk_2_25_01_11 -df /ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00/protocols/snmp/include -mf-np:-dwegrobegrob.c -t.c -d_inch -t_i -df /ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00/protocols/hsr_prp/firmware/hsr -t_i -tex -df -tex -df -tp -tp -mf_influ.c:-chinflu.c:-chinch -t.c -t.c -mcr -t.c -mcr -mcr /ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00/examples/hsr_prp/hsr_prp_menu.c -
subdir_rules.mk:23:目标'HSR_prp_menu.o'的配方失败
C:/ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00/examples/hsr_prp/hsr_prp_menu.c:在函数'printPTPStatus'中:
C:/ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00/examples/hsr_prp/hsr_prp_menu.c:285:5:警告:函数'Timesync_isenabled '的隐式声明[-Wimplicite-function-declaration]
    if (!Timesync_isenabled (timeSyncHandle))
    ^μ A
C:/ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00/examples/hsr_prp/hsr_prp_menu.c:在函数'txHSRPRPTestFrame 中:
C:/ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00/examples/hsr_prp/hsr_prp_menu.c:701:21:错误:未声明'start_for_udp_header'(首次在此函数中使用)
    hsrPrpTestFram[START_OF UDP_HEADER + 2]= SEQ_num;
                    ^μ A
C:/ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00/examples/hsr_prp/hsr_prp_menu.c:701:21:注意:每个未声明的标识符只会针对出现在中的每个函数报告一次
C:/ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00/examples/hsr_prp/hsr_prp_menu.c:在函数"parseAndCheckHSRPRPTestFrame"中:
C:/ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00/examples/hsr_prp/hsr_prp_menu.c:748:19:错误:未声明'start_for_udp_header'(首次在此函数中使用)
    if ((tempFram[start_for_udp_header]== 0xAB)
                  ^μ A
C:/ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00/examples/hsr_prp/hsr_prp_menu.c:在函数"readAndAssignIPAddress"中:
C:/ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00/examples/hsr_prp/hsr_prp_menu.c:799:30:错误:未声明'start_of _IP_address'(首次在此函数中使用)
    memcpy (hsrPrpTestFrame + start_of _ip_address、&ipaddr、4);
                             ^μ A
gmake:***[HSR_prp_menu.o]错误1.
(笑声)
HSR_APP_SNMP/subdir_rules.mk:9:目标'HSR_APP_SNMP/MI_Bimpl.o'的配方失败
C:/ti/PRU-ICSS-HSR-PRP-DAN_01.00.02.00/examples/hsr_prp/snmp/mib_impl.c:37:26:错误:此处未声明'number_for_ports'(不在函数中)
 struct  ifEntry_MIB IFP[number_of 端口];

############################

请告知您如何解决此问题吗?HSR

BR、
Ilya

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好,Ilya

    我看到您使用的是 PDK 1.0.7,它是使用 CCS 7.1.0.16的 PROCESSOR-SDK-RTOS 04_00_00_04的一部分。
    PRU-ICSS-HSR-PRP-DAN_01.00.02.00发行说明包含以下注意事项。
    这些注释指定了 PROCESSOR-SDK-RTOS 03_03_00、可从 www.ti.com/.../ti-rtos-proc 获取
    不幸的是,在这个日期,现在这指向 v04.00
    V03.03可从 software-dl.ti.com/.../index_FDS.html 获取
    此外、此版本使用 CCS 7.0.0、可从 processors.wiki.ti.com/.../Download_CCS 获取该软件

    David
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    David、
    谢谢、它对我来说很有用(尽管使用 CCS 7.2.0)。
    您也可以评论 PROFINET 从站项目-它会编译、但有超过100条警告、这是否正常?

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

    Ilya、

    PROFINET 还使用 PROCESSOR-SDK-RTOS 03_03_00和 CCS 7.0.0。

    此外、Profinet 需要一个适用于 PROCSSOR_SDK - ICSS EMAC LLD 和 AM335x PDK 的补丁。 发行说明已知问题部分对此进行了说明。 http://processors.wiki.ti.com/index.php/PRU_ICSS_Profinet_Release_Notes#Known_Issues

    David

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我想说、对于 ICSS 封装的当前设置、用户友好性要低得多...
    1.如果我已经使用 CCS 7.2,为什么要安装7.0? 对于某些项目、我必须使用 CCS6.2、有些甚至需要 CCS 5.5 -我是否应该安装所有 CCS 版本? 它仅消耗时间和磁盘空间、而且用户总是感到沮丧...
    2.现在我必须手动编辑*bat 文件以生成项目-这也不会使生活更轻松
    3、之前我看了一个单个文档(发行说明)、其中描述了构建所有示例项目所需的组件等 对于新设置、我必须查看4个不同的文档、惊喜的是-仅提到 RTOS SDK 版本。 此处缺少构建所需的组件,只能查看我可以找到的*bat 文件。

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

    有时需要有多个版本的 CCS。  CCS 允许我们在单独的目录中安装多个版本。 例如、我们可以在 C:\ti\ccs70中安装 CCS7.0 、并在 C:\ti\ccs71中安装 CCS7.1。 在 c:\ti 之外的其他目录中安装 CCS 时、 需要 更新 CCS 产品发现路径、以包含我们使用的工具的路径。  这位于 Window / Preferences / Code Composer Studio / Products 下。

    在使用多个器件时、我发现最好 将每个器件的 SDK 安装在单独的目录中。

    在 C:\ti 以外的其他目录中安装 CCS 和/或 Processor SDK 时、我们需要按照 安装说明重新构建 Processor SDK RTOS、重新构建 PDK 以及创建和创建 PDK 示例、如  http://processors.wiki.ti.com/indexp hp/processor_sdk_rtos_Install_in_Custom_Path 中所述

    同样,当安装 PRU-ICSS 软件包时,如果兼容的 CCS 或 Processor SDK 位于与 c:\ti 不同的目录中,则需要按照该软件包用户指南生成项目文件部分中的说明进行操作。

    David

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

    e2e.ti.com/.../build_5F00_log.txt

    David、

    我已经使用以下组件编译了 HSR 项目:

    - CCS 7.0.0

    - PROCESSOR-SDK-RTOS 03_03_00 (PDK 1.0.6)

    - XDC 工具3.32.01.22内核

    -SYSBIOS 6.46.04.53

    NDK 2.25.11

    -工具链:GNU 4.9.3 (Gcc-arm-none-eabi-4_9-2015q3)

    编译和编译后脚本后、我获得了应用文件、但它不起作用-在终端窗口中、我只看到"跳转到 StarterWare 应用程序"消息、就是这样。

    如果我看一下预编译的二进制文件、它大约为900Kb、但我的应用程序几乎为3.5MB、因此我假设编译期间出错、请告知。

    我已将构建日志从 CCS 连接到该线程。

    此致、

    Ilya

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

    Ilya

    我在日志中看不到任何问题。 让我尝试构建应用程序、看看我是否获得相同的应用程序大小。

    David

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

    Ilya

    我在清理目录中安装了 CCS 7.0.0.00043、PROCESSOR_SDK_RTOS_AM437X_3_03_00_04和 PRU-ICSS-HSR-PRP-DAN_01.00.02.00。 我运行了脚本来构建项目。 然后、我打开了 CCS 和安装了工程的工作区。  最后、我执行了重建项目。  该应用文件显示为920、741 字节。 我将您的构建与基于此构建的构建进行了比较-没有什么突出的。

    让我让其他几位专家参与这次讨论、看看他们是否有建议。

    David

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请为您构建的应用程序提供映射文件?

    您能否手动运行这些步骤并查看生成的二进制大小:
    %CG_TOOL_PATH%/bin/arm-none-eabi-objcopy -O 二进制文件 .out 二进制文件
    %pdk_path%/ti/starterware/tools/ti_image/tiimage.exe 无 二进制文件 _ti.bin


    在尝试引导之前、您是否尝试使用仿真器加载二进制文件、以查看应用程序是否按预期运行。 您是否正在尝试使用 SD 卡或闪存介质使用预构建的 MLO 进行引导? 您是否已测试过任何其他更简单的应用程序、如 GPIO LED 切换、以查看引导是否存在问题

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

    Rahul、

    我使用 SD 卡引导 AM437x。 首先、我尝试了 RTOS SDK 中的 MLO (预编译)以及 HSR 编译后生成的应用文件、但它不起作用。
    然后我将应用文件替换为预编译文件(作为 HSR 包的一部分)、预编译图像正常、应用程序启动。

    我手动创建了应用程序、文件大小与脚本编译相同、但仿真器尚未经过测试。

    附件是我的*。map 文件(已压缩)。

    BR、
    Ilya

    e2e.ti.com/.../hsr_5F00_app_5F00_AM437x_5F00_arm.zip

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

    我已经尝试在不同的计算机上进行全新安装、它使用应用程序的~900Kb 文件大小进行了编译、这类似于预编译的二进制文件。

    请告诉我您是否在映射文件中找到了某些内容。

    此致、
    Ilya

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

    你(们)好,Ilya

    我在映射文件中没有看到任何问题。 可执行文件大小与您看到的内容相关。

    David

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

    David、

    感谢您的告知。 我已经尝试过新编译的二进制文件、并且器件正常启动。

    但是、当我尝试运行 RX/TX 测试时、我看不到 LED 闪烁。
    我的设置是两块板 AM437x IDK、一个用作 Tx、另一个用作 Rx。

    我是否错过了什么?

    Ilya

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

    您好 Ilya、

    在构建 HSR 项目之前、您是否在 PRU-ICSS-HSR-PRP-DAN_01.00.02.00\protocols\PDK_PATCHS 中应用了 PDK (ICSS_EMAC、NIMU_ICSS)补丁?

    您是否还为电路板分配了不同的 IP 地址?

    此致、

    Garrett

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、设置了不同的 IP 地址。
    关于该补丁-我将尝试、用户指南中未提及该补丁
    我是否应该应用中的所有补丁 文件夹?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ilya、

    是的、您需要应用所有补丁。 发布说明对此进行了简要介绍、我刚刚在用户指南维基网页 - processors.wiki.ti.com/.../PRU_ICSS_HSR_PRP 中进行了重点介绍

    此致、Garrett