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/AM3356:Profinet 从站 v1.00.02问题

Guru**** 2914580 points

Other Parts Discussed in Thread: AM3359

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/664611/rtos-am3356-profinet-slave-v1-00-02-issue

器件型号:AM3356
主题中讨论的其他器件:AM3359

工具/软件:TI-RTOS

您好!

今天、我下载了 PROFINET 从站、 PROCESSOR-SDK-RTOS 04_02_00_09 和 CCS 7.3的 V1.00.02版本。   然后我修补了 PDK、 重建了 PDK 并创建了 AM335x IRT 工程、  然后我成功地将工程加载到 CCS7中并进行编译。

为了确认安装和构建是否正常、 我随后将应用文件(项目的发布目录)加载到 AM335x ICE 板的 microSD 中。

当我给 AM33x ICE 板加电时,我发现该板的出现方式不是我所期望的那样,特别是在小显示屏上没有滚动信息。      我还尝试对电路板执行 Ping 操作、但没有得到任何响应。

然后、我将 microSD 卡上的应用程序替换为 V1.00.02的预构建应用程序。    我观察到的结果与我构建的应用程序相同- AM335x ICE 板似乎无法运行。

最后、我用 V1.00.00的预构建应用程序替换了 microSD 卡上的应用程序。    这次我观察到电路板可以正常工作: 小显示屏上有滚动信息、电路板响应了 Ping 操作。

我是否应该期望 V1.00.02的预编译应用程序的运行方式与 V1.00.00的预编译应用程序类似?

我不确定这是否与上述问题有关、 但当我尝试使用 CCS7调试器尝试调试问题时、我收到"CORTEXA8:未处理 ADP_Stopped 异常0x20023"错误。

请提供任何帮助。

标记

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

    您是否还更新了 SD 卡中的 MLO? MLO (从 bootloader_boot_boot_mmcsd_a8host_release_ti.bin 重命名)可从 pdk_am335x_1_0_9\packages/ti\starterware\binary\bootloader\bin\AM335x-evm\gcc 获取。

    让我尝试一下、在我的设置中是否可以重现.out 文件的例外情况。

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

    您好、Garrett、

    感谢您的快速响应。   

    否、我没有更新 MLO、   

    我刚刚更新了 MLO,并尝试了--它现在按预期工作。   我想 MLO 是一款"低级"引导加载程序、在不同版本的 PDK 之间不会发生变化。

    仍然不确定为什么我在将程序加载到调试器中时遇到问题。   希望您能找到类似的简单答案!!

    此致、

    标记

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

    您好、Garrett、

    我不再关心 ICE 板上的调试器问题。    我启动了最新版本的端口、在加载到电路板上时没有调试器加载问题。

    我希望您能为 您提供有关在哪里最好地禁用其中一个 PHY 的建议。     我的功能要求是一次只有两个以太网端口中的一个处于活动 状态、并且在初始化期间读取的跳线决定哪个处于活动状态。      我计划根据跳线的状态隔离其中一个 PHY。    如果我将 其中一个 PHY 隔离 为在 main()中早期调用的 Pn_socHwinit 函数的一部分,那将是最好的地方吗?       除了在 TaskPruss 中调用 PH_configurePHYLed 之外  、我很难找到是否有其他 PHY 初始化、因此、这是否是隔离其中一个 PHY 的合适位置。

    此致、

    标记   

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

    Mark、您好、只需关闭调试器问题。 它与在加载应用之前启用 DMTimer4相关。 有关您的信息,DMTimer4是在 am335x_app_arm.cfg 中配置的。
    如果使用 JTAG 加载应用程序、则必须在 GEL 文件中启用 DMTimer4。 更多详细信息、请访问 :processors.wiki.ti.com/.../PRU_ICSS_Profinet

    为供参考,我使用 以下 GEL 更改进行了测试(突出显示) :

    C:\TI\ccsv7\ccs_base\emulation\boards\ice_am3359\gel\TMDXICE3359.gel

    //********
    //PRCM 模块定义
    //********
    #define CM_PER_TIMER4_CLKCTRL (PRCM_BASE_ADDR + 0x88)
    #define PRCM_MODULEMODE_ENABLE (2U)

    热菜单 AM3359_ICE_Initialization ()

    GEL_TextOut ("**** AM3359_ICE 初始化正在进行中.......... \n"、"输出"、1、1、1);
    ARM_OPP100_Config ();
    //DDR2_EMIF_Config ();
    DDR3_EMIF_Config ();

    GEL_TextOut ("正在打开 EDMA... \n");
    EdmaPrcm();
    GEL_TextOut ("EDMA 被打开... \n");
      
    WR_MEM_32 (CM_PER_TIMER4_CLKCTRL、PRCM_MODULEMODE_ENABLE);
    GEL_TextOut ("DMTIMER4已启用\n"、"输出"、1、1);

    GEL_TextOut ("**** AM3359_ICE 初始化完成了**** \n\n"、"输出"、1、1、1);


    希望这对您有所帮助。
    Paula

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

    >>如果我将其中一个 PHY 隔离为在 main()中早期调用的 Pn_socHwinit 函数的一部分,那将是最好的地方吗?
    是的,Pn_socHwinit()使用默认引导配置重置/初始化 PHY,您可以在函数中隔离其中一个 PHY。

    另一个与 PHY 相关的配置位于应用层 UserApplyConf()--> UserSysEthSetPortMautype()--> Pn_SetPhyConfig(),它基于端口号,

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

    感谢 Garrett。