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.

[参考译文] AM62P-Q1:缩短以太网链路建立时间

Guru**** 2694555 points

Other Parts Discussed in Thread: AM62P, SYSCONFIG, DP83867IR

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1580917/am62p-q1-reduce-ethernet-link-up-time

器件型号: AM62P-Q1
主题中讨论的其他器件: AM62PSysConfigDP83867IR4460

亲爱的香榭丽舍大街、

 

我的客户需要在启动后立即连接 100Mbps 以太网、并通过使用 AM62P SK EVM 中 PHY 的硬件报废来尝试以固定速率连接该以太网、而无需协商。

尽管他们将 SysConfig 设置为使用固定速率、但他们仍然发现在 EnetApp_waitForLinkUp 函数中需要 980ms 的时间。

您能帮助他们如何缩短建立链路的时间吗?

 

他们使用 SDK 11.0 并在 AM62P SK EVM 上对其进行测试。

 

谢谢、此致、

Si。

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

    您好、

    指定的专家已离职。 请预计响应会有一些延迟。 如果您明天听不到回音、请随时 ping 通此线程。

    此致、
    Johnson

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

    亲爱的香榭丽舍大街、

    是否对此进行了任何更新?

    谢谢、此致、

    Si。

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

    您好 Sung-Chu IL、

    要启用 strap 配置模式、您必须根据您在设置中使用的 PHY(默认为适用于 AM62P SK EVM 的 DP83867)进行必要的电路板修改 。 0

    硬件搭接配置完成后、您必须在 SysConfig-GUI 中启用搭接模式配置、以在 PHY 状态机的搭接模式下初始化 PHY。 此选项位于以下 SysConfig 路径中:ETHPHY (Enet CPSW/ICSS)-> 配置模式。  

    使用 strap 配置寄存器设置的配置应与 SysConfig 中的链路速度和双工配置相匹配。

    如果您需要有关配置 (strap) 模式硬件设置要求的更多详细信息、我将邀请相应的 PHY 团队专家参与讨论。

    为了实现最快的链路建立时间、建议将链路速度和双工设置为固定值、并使用交叉以太网电缆。 如果您的应用需要在 PHY 中设置任何扩展配置、则需要进行少量更改、以便能够从驱动程序将扩展配置发送到 PHY。

    谢谢。此致、
    Teja。

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

    首先、深切感谢你在工作中的合作。
    请参阅以下内容、我们对此深表感谢。

    1.将搭接电阻修改为 R_HIGH = 2.4K㏀、R_LOW =开路

    2.预计模式 4 的电压 (2.29-2.93V) 将施加到 DP83867IRRGZ 的引脚 38 (RX_DV/RX_CTRL) 上、但如果使用万用表直接测量电阻器的后端和引脚 38、则测量值为 0.07V(使用另外两个电路板进行测试)
    →由于应用了模式 1 中的电压、将启用自动点火

    ㏀、我想造成上述问题的原因是芯片内部上拉电阻的影响、但我认为 2.4k Ω 的值足以作为计算值

    ※确认了 DP83867IR 的数据表、8.5.1 章节

    如数据表中所述、** 8.5.1 自举配置:
    
    模式通过在加电后的 200ms 内检查自举引脚电压来确定。
    然后、strap 配置引脚转换为通用 GPIO 或 RX_CTRL 功能、并启用内部下拉电阻。
    →已通过 oscilo-scope 设备验证 

    4、问题的原因是什么,如何解决?

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

    Hanwook、

    我会将其重新分配给 PHY 团队专家、以便更好地回答您的问题。  

    感谢您的耐心。  

    此致、
    Teja。

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

    首先、深切感谢你在工作中的合作。
    请参阅以下内容、我们对此深表感谢。

    1.将搭接电阻修改为 R_HIGH = 2.4K㏀、R_LOW =开路

    2.预计模式 4 的电压 (2.29-2.93V) 将施加到 DP83867IRRGZ 的引脚 38 (RX_DV/RX_CTRL) 上、但如果使用万用表直接测量电阻器的后端和引脚 38、则测量值为 0.07V(使用另外两个电路板进行测试)
    →由于应用了模式 1 中的电压、将启用自动点火

    ㏀、我想造成上述问题的原因是芯片内部上拉电阻的影响、但我认为 2.4k Ω 的值足以作为计算值

    ※确认了 DP83867IR 的数据表、8.5.1 章节

    如数据表中所述、** 8.5.1 自举配置:
    
    模式通过在加电后的 200ms 内检查自举引脚电压来确定。
    然后、strap 配置引脚转换为通用 GPIO 或 RX_CTRL 功能、并启用内部下拉电阻。
    →使用示波器进行测量已验证。 加电时会施加模式 4 电压。 

    4、问题的原因是什么,如何解决?

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

    Hanwook、  

    AM62 是否在上电时提供内部上拉或下拉电阻? 如果是、则必须重新计算电阻值以确保 PHY 自举进入正确的模式。  

    此致、
    j

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

    感谢您的答复。

    当我在 CCS 的 SysConfig 中检查时、所有与 ETH 相关的 I/O 设置都为“无拉“。

    1) 如果是、是否应将作为模式 4 电压施加的所有 I/O 更改为上拉?
    2) 我知道,它在电源应用后立即对带电阻进行采样,是否有任何错误信息?

    如果您能回答、我将非常感谢。

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

    Hanwook、  

    感谢您的确认。  

    遗憾的是、当 strap 采样错误时没有错误信息、因为 PHY 如果 strap 配置“正确“或“错误“、则不会提供错误信息。
    但是、配置 (strap) 状态存储在寄存器 6E 和 6F 中。  
    如果 MAC 侧没有上拉或下拉电阻、我不确定为什么 PHY 会错误配置、因为您遵循了我们的 strap 配置指南。 但是、您可以在 PHY 上电后根据配置 (strap) 寄存器进行检查、如果值错误、则通过寄存器重新配置。  

    或者、MAC 可以下拉、以便您可以使用 CCSconfig 将其上拉。 您能看看这是否有什么不同。  

    此致、
    j

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

    感谢您的回答。

    1.在 CCS SysConfig 中、我尝试了两次上拉/下拉操作、其中的 I/O 据信位于 RX_DV/RX_CTRL 引脚中、如以下屏幕所示。


    每次设置后、当我检查日志时、它如下所示。 尤其是设置为上拉时、链路建立似乎并不完成。 (与下拉日志相比)。

    在下拉的情况下、建立链路完成、但不会缩短建立链路的时间。
    还有其他解决方案可以尝试吗?

    此致。  

    1) 通过下拉设置记录  

    Cpsw_handleLinkDown:1482
    MAC 端口 1:链路断开
    Sciserver Testapp 构建于:2025 年 10 月 27 日 19:43:15
    Sciserver 版本:v2025.04.0.0-REL.MCUSDK.K3.11.00.00.16+
    RM_PM_HAL 版本:v11.00.07
    正在启动 Sciserver… 通过
    1-3.sciServer_init() 执行时间:0us

    *** 11/25/17:55***
    =========================
    第 2 层 CPSW 开关测试
    =========================
    2-1.System_init() 执行时间:30994us
    初始化所有外设时钟
    ----------------------------------------------------
    启用时钟!
    3-1.enableClocks () 执行时间: 43670 us
    创建 RX 任务
    ----------------------------------------------------
    cpsw-3G:创建 RX 任务
    3-2.EnetApp_createRxTask() 执行时间:12408us
    打开所有外设
    ----------------------------------------------------
    cpsw-3g:打开 Enet
    EnetAppUtils_reduceCoreMacAllocation:将 CoreID:1 的 Mac 地址分配从 4 减少到 1
    EnetAppUtils_reduceCoreMacAllocation:将 CoreID:2 的 Mac 地址分配从 1 减少到 0
    初始化所有配置
    ----------------------------------------------------
    cpsw-3g:初始化配置
    打开 MAC 端口 1
    EnetPhy_bindDriver:1873
    打开 MAC 端口 2
    EnetPhy_bindDriver:1873
    PHY 0 处于活动状态
    PHY 1 处于活动状态
    3-3.EnetApp_driverOpen() 执行时间:53090us
    将内核 ID 1 连接到所有外围设备
    ----------------------------------------------------
    cpsw-3g:连接核心
    3-4.EnetApp_coreAttach () 执行时间: 14508us
    cpsw-3G:打开 dma
    initQs() txFreePktInfoQ 使用 16 个 pkts 初始化
    3-5.EnetApp_openDma() 执行时间:11101us
    3-6.EnetApp_setCutThruParams() 执行时间:4460us
    cpsw-3G:正在等待链路接通...
    Cpsw_handleLinkUp:1456
    MAC 端口 1:链路接通
    cpsw-3G:端口 1 链路已接通
    到 ETH 链路接通的 Totla 时间:3149541 us

    2) 通过上拉设置记录

    Cpsw_handleLinkDown:1482
    MAC 端口 2:链路断开
    Sciserver Testapp 构建于:2025 年 10 月 27 日 19:43:15
    Sciserver 版本:v2025.04.0.0-REL.MCUSDK.K3.11.00.00.16+
    RM_PM_HAL 版本:v11.00.07
    正在启动 Sciserver… 通过
    1-3.sciServer_init() 执行时间:0us

    *** 11/25/18:25***
    =========================
    第 2 层 CPSW 开关测试
    =========================
    2-1.System_init() 执行时间:30990us
    初始化所有外设时钟
    ----------------------------------------------------
    启用时钟!
    3-1.enableClocks () 执行时间: 43668us
    创建 RX 任务
    ----------------------------------------------------
    cpsw-3G:创建 RX 任务
    3-2.EnetApp_createRxTask() 执行时间:12404us
    打开所有外设
    ----------------------------------------------------
    cpsw-3g:打开 Enet
    EnetAppUtils_reduceCoreMacAllocation:将 CoreID:1 的 Mac 地址分配从 4 减少到 1
    EnetAppUtils_reduceCoreMacAllocation:将 CoreID:2 的 Mac 地址分配从 1 减少到 0
    初始化所有配置
    ----------------------------------------------------
    cpsw-3g:初始化配置
    打开 MAC 端口 1
    EnetPhy_bindDriver:1873
    打开 MAC 端口 2
    EnetPhy_bindDriver:1873
    PHY 0 处于活动状态
    PHY 1 处于活动状态
    3-3.EnetApp_driverOpen() 执行时间:53095us
    将内核 ID 1 连接到所有外围设备
    ----------------------------------------------------
    cpsw-3g:连接核心
    3-4.EnetApp_coreAttach() 执行时间:14505us
    cpsw-3G:打开 dma
    initQs() txFreePktInfoQ 使用 16 个 pkts 初始化
    3-5.EnetApp_openDma() 执行时间:11096us
    3-6.EnetApp_setCutThruParams() 执行时间:4458us
    cpsw-3G:正在等待链路接通...
    Cpsw_handleLinkUp:1456
    MAC 端口 2:链路接通
    Cpsw_handleLinkDown:1482
    MAC 端口 2:链路断开
    Sciserver Testapp 构建于:2025 年 10 月 27 日 19:43:15
    Sciserver 版本:v2025.04.0.0-REL.MCUSDK.K3.11.00.00.16+
    RM_PM_HAL 版本:v11.00.07
    正在启动 Sciserver… 通过
    1-3.sciServer_init() 执行时间:0us

    *** 11/25/18:25***
    =========================
    第 2 层 CPSW 开关测试
    =========================
    2-1.System_init() 执行时间:30987us
    初始化所有外设时钟
    ----------------------------------------------------
    启用时钟!
    3-1.enableClocks () 执行时间:43661us
    创建 RX 任务
    ----------------------------------------------------
    cpsw-3G:创建 RX 任务
    3-2.EnetApp_createRxTask() 执行时间:12410us
    打开所有外设
    ----------------------------------------------------
    cpsw-3g:打开 Enet
    EnetAppUtils_reduceCoreMacAllocation:将 CoreID:1 的 Mac 地址分配从 4 减少到 1
    EnetAppUtils_reduceCoreMacAllocation:将 CoreID:2 的 Mac 地址分配从 1 减少到 0
    初始化所有配置
    ----------------------------------------------------
    cpsw-3g:初始化配置
    打开 MAC 端口 1
    EnetPhy_bindDriver:1873
    打开 MAC 端口 2
    EnetPhy_bindDriver:1873
    PHY 0 处于活动状态
    PHY 1 处于活动状态
    3-3.EnetApp_driverOpen() 执行时间:53094us
    将内核 ID 1 连接到所有外围设备
    ----------------------------------------------------
    cpsw-3g:连接核心
    3-4.EnetApp_coreAttach() 执行时间:14504us
    cpsw-3G:打开 dma
    initQs() txFreePktInfoQ 使用 16 个 pkts 初始化
    3-5.EnetApp_openDma() 执行时间:11099 us
    3-6.EnetApp_setCutThruParams() 执行时间:4459us
    cpsw-3G:正在等待链路接通...
    Cpsw_handleLinkUp:1456
    MAC 端口 2:链路接通

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

    Hanwook、

    感谢您尝试上拉/下拉配置。

    是否修复了误接问题?

    此外、该 EVM 的链路伙伴是什么? 链路伙伴是否也禁用了自动协商功能?  

    即使禁用了自动协商功能、链路建立也可能需要一些时间、因为 PHY 可能无法立即识别广播速度和双工。

    此致、

    j

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

    此外、如果可能、是否有可在 AM62P-LP 平台上使用的 BMCR 寄存器读取代码示例?
    我将尝试使用 MCU+ SDK 中名为“enet_l2_cpsw_switch"的“的示例、但在编写 BMCR 读取代码时、会出现过多的编译错误。

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

    Hanwook、

    应使用默认的 BMCR 值。 SDK 中的默认值是多少?

    您看到的编译错误是什么? 我正在 Ping Sitara 团队获得 SDK 支持。

    由于美国办公室正进入感恩节、因此反应将被推迟。

    此致、

    j

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

    感谢您在任务之间的合作。

    要读取 BMCR 寄存器、我已按如下方式配置了代码。 当我在刷新后执行它时,我编写的代码部分将不再继续并停止。
    我编写了如下代码、是否有任何因素会导致问题?

    最好的餐厅  

    【代码部分】


    静态 int32_t ReadBMCR (Enet_Handle henet、uint32_t phyAddr、uint16_t *pVal){
    int32_t 状态;
    Enet_Ioctl Prms PRMs;
    EnetMdio_C22ReadInArgs inArgs;
    uint16_t outVal;

    inArgs.group = ENET_MDIO_GROUP_0;  
    inArgs.phyAddr = phyAddr;  
    inArgs.reg = 0x00;// BMCR(第 22 条寄存器 0x00)

    Enet_IOCTL_SET_INOUT_ARGS (&PRM、&inArgs、&outVal);

    STATUS = enet_ioctl (henet、ENET_MDIO_IOCTL_C22_READ、&PRMS);
    IF (STATUS == ENET_Sok)

    if (pVal)*pVal = outVal;
    }
    返回状态;
    }

    静态 void DumpBMCR (uint16_t val){
    bool 复位=(val &(1U << 15))!= 0;
    bool loopback =(val &(1U << 14))!= 0;
    Bool AutoNeg =(val &(1U << 12))!= 0;
    bool fullDuplex =(val &(1U << 8))!= 0;
    bool speed100 =(val &(1U << 6))!= 0;// 1=100M、0=10M

    EnetAppUtils_print(“BMCR=0x%04X |重置:%d 循环:%d an:%d full:%d 100M:%d\n“、val、reset、loopback、AutoNeg、 全双工、speed100);
    }

    uint16_t 输出;
    Status = ReadBMCR (gEnetApp.perCtxt.henet、0x0000、&output);

    IF (STATUS == ENET_Sok)
    EnetAppUtils_print(“BMCR=0x%04X\n\r",“,输出,输出);
    暴露
    EnetAppUtils_print(“BMCR 读取失败:%d\n\r“,状态);

    DumpBMCR(输出);

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

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

    Hanwook、

    请使用“EnetPhy_readReg ()“ API 来读取 PHY 寄存器。 这只能用于正常寄存器、而不能用于扩展寄存器。 这需要将 PHY 驱动程序句柄作为参数之一、其将作为 CPSW 驱动程序句柄的一部分提供。 您最好使用驱动程序中的另一个 API 来公开此信息。

    关于 CCS 工程编译、如果是通过 makefile 在命令行中编译示例、可以吗?   这将帮助我们更好地了解问题。

    如果您需要进一步说明、请告知我们。

    谢谢。此致、
    Teja。

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

    你(们)好  

    我们可以查看构建日志、并与专家进行检查。 请期待 EOD 的答复  

    谢谢。此致、
    Teja。

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

    感谢您的答复。

    重新试验后、通常只编译该示例工程。
    但是、当我写入和构建代码以读取 BMCR、BMSR 寄存器时、 它 仍无限期地处于运行状态。

    我试图找出解决这个问题的方法、是否有解决方案?

    此致。  

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

    // IEEE 802.3 Clause-22 标准地址
    //#define PHY_REG_BMCR (0x00U)//基本模式控制寄存器
    //#define PHY_REG_BMSR (0x01U)//基本模式状态寄存器


    //静态 void print_status(常量字符*name、int32_t status)
    //{
    // if (status == ENET_Sok){
    //} else {
    //}
    //}

    // int READ_bmcr_bmsr (Enet Phy_Handle hPhy)
    //{
    // int32_t 状态;
    // uint16_t bmcr = 0U;
    // uint16_t bmsr = 0u;

    ////读取 BMCR (0x00)
    // status = EnetPhy_readReg (hPhy、PHY_REG_BMCR、&bmcr);
    // print_status(“EnetPhy_readReg (BMCR)“、status);
    // if (status != ENET_Sok){
    //返回–1;
    //}

    //读取 BMSR (0x01)
    // status = EnetPhy_readReg (hPhy、PHY_REG_BMSR、&bmsr);
    // print_status(“EnetPhy_readReg (BMSR)“、status);
    // if (status != ENET_Sok){
    //返回–2;
    //}

    // printf(“[PHY] BMCR=0x%04X、BMSR=0x%04X\r\n“、bmcr、bmsr);

    //返回 0;
    //}

    此问题已解决。 读取寄存器值并再次告诉您。

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

    尊敬的 Teja:

    您能否查看随附的项目文件、了解如何读取 BMCR 注册表?

    我尝试构建它、发现以下错误消息。 您能指导如何读取 BMCR 寄存器吗?

    e2e.ti.com/.../eth_5F00_linkup_5F00_test.zip

    ~~~~~~~~~~μ s

    [2]构建文件:“../L2_cpsw_main.c"</s>“
    [3]调用:ARM 编译器
    [4]“C:/ti/ti-cgt-armllvm_4.0.1.LTS/bin/tiarmclang.exe /ti/ti-cgt-armllvm_4.0.1.LTS/include/c /ti/mcu_plus_sdk_am62px_11_01_01_08/source/board/ethphy/enet/rtos_drivers/include /ti/mcu_plus_sdk_am62px_11_01_01_08/source/kernel/freertos/portable/TI_ARM_CLANG/ARM_CR5F /ti/mcu_plus_sdk_am62px_11_01_01_08/source/networking/enet/utils /ti/mcu_plus_sdk_am62px_11_01_01_08/source/networking/enet/core /ti/mcu_plus_sdk_am62px_11_01_01_08/source/networking/enet/core/include/core /ti/mcu_plus_sdk_am62px_11_01_01_08/source/networking/enet/hw_include/mdio/V4 -c -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -i“C /ti/mcu_plus_sdk_am62px_11_01_01_08/source /ti/mcu_plus_sdk_am62px_11_01_01_08/source/board/ethphy/port /ti/mcu_plus_sdk_am62px_11_01_01_08/source/kernel/freertos/FreeRTOS-Kernel/include /ti/mcu_plus_sdk_am62px_11_01_01_08/source/kernel/freertos/config/am62px/r5f /ti/mcu_plus_sdk_am62px_11_01_01_08/source/networking/enet /ti/mcu_plus_sdk_am62px_11_01_01_08/source/networking/enet/core/utils/include /ti/mcu_plus_sdk_am62px_11_01_01_08/source/networking/enet/core/utils/V3 /ti/mcu_plus_sdk_am62px_11_01_01_08/source/networking/enet/core/include /ti/mcu_plus_sdk_am62px_11_01_01_08/source/networking/enet/core/include/phy /ti/mcu_plus_sdk_am62px_11_01_01_08/source/networking/enet soc /ti/mcu_plus_sdk_am62px_11_01_01_08/source/networking/enet/hw_include /Users/a0967692/workspace_ccstheia/eth_linkup_test/Debug/syscfg
    [5]../l2_cpsw_main.c:106:14:警告:调用未声明的函数“enet_ioctl";“;ISO C99 及更高版本不支持隐式函数声明[-Wimplicate-function-statement]
    [6] 106 | STATUS = enet_ioctl (henet、ENET_MDIO_IOCTL_C22_READ、&PRM);
    [7]|^
    [8]../L2_cpsw_main.c:171:13:警告:调用未声明的函数“Bootloader_profileAddProfilePoint";“;ISO C99 及更高版本不支持隐式函数声明[-Wimplicate-function-statement]
    [9] 171 | Bootloader_profileAddProfilePoint(“2-1.System_init () function“);
    [10]|^
    [11]../L2_cpsw_main.c:178:39:错误:成员引用基类型“Enet App_Per Ctxt[1]“(又名“truct Enet App_Per Ctxt_s[1]“) 不)不是结构体或联合体
    [12] 178 | STATUS = ReadBMCR (gEnetApp.perCtxt.henet、0x0000、&output);
    [13]|~~~~~~~~~~~~~~~~ ^~~~~~μ s
    [14]../L2_cpsw_main.c:197:13:警告:调用未声明的函数“Bootloader_profileAddProfilePoint";“;ISO C99 及更高版本不支持隐式函数声明[-Wimplicate-function-statement]
    [15] 197 | Bootloader_profileAddProfilePoint(“2-2.EnetApp_open () 函数“);
    [16]|^Ω
    [17]3 个警告和 1 个错误。
    [18]gmake:***[subdir_rules.mk:46:L2_cpsw_main.o]错误 1.
    [19]gmake :目标'所有'没有重制,因为错误。
    [20]*****构建已完成

    ~~~~~~~~~~μ s

    谢谢、此致、

    Si。

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

    Teja、这个项目是我创建的。

    1) 是否存在与 IOCTL 使用相关的故障可能性,
    2) 我想问你一个问题,我可以在哪里找到 hPhy(PHY 句柄).

    ※henet(外设驱动程序)是 perCtxt[0]中的成员、但找不到 hPhy。

    此致。  

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

    尊敬的 Hanwook Kim:

    它将作为 henet->hPer->hCpsw->hPhy 的一部分提供。 或者、您可以使用任何现有的 IOCTL 来临时打印 PHY 寄存器。

    此致、
    Teja。

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

    感谢您的答复。

    无论我如何尝试执行 EnetPhy_readReg 函数、程序都会在执行期间持续停止。 经过深思熟虑、我怀疑可能是因为我正在使用的 AM62P‑LP 模型是 HS‑SE 类型。
    您能否确认该器件的 HS‑SE 版本是否限制对外设或类似组件的访问?

    我非常感谢你对这一问题的答复。

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

     

    尊敬的 Teja:

    您是否知道为什么 EnetPhy_readReg 函数中出现挂起?

    Hanwook、

    我在手机上说过、AM62P-LP EVM 中的器件是 HS-HSFS 器件、而您使用的是 FS 器件。

    AM62P 的 HSFS 器件没有限制。

    谢谢、此致、

    Si。