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.

[参考译文] AM2434:使用 dp83822 Phy 在 AM243上执行 EtherNet/IP 以太网链路测试失败

Guru**** 2439710 points
Other Parts Discussed in Thread: AM2432, LP-AM243, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1286043/am2434-ethernet-ip-ethernet-link-test-failed-on-am243-with-dp83822-phy

器件型号:AM2434
主题中讨论的其他器件:AM2432LP-AM243DP83869SysConfig

您好、

 

  客户有关于采用 dp83822 Phy 的新 SDK 的问题。 他们的产品使用 AM243和 dp83822 Phy。 他们 使用 MCU_PLUS_SDK_am243x_08_06_00_45成功实现了 dp83822 PHY 驱动程序并通过 CT19/CT20以太网链路测试。

但这两款交换机无法使用同一驱动程序通过 IND_COMMS_SDK_am243x_09_00_00_03的 CT19/CT20以太网链路测试。

 

  1. 测试结果

MCU_PLUS_SDK_am243x_08_06_00_45:通过

附加:08_CT20.log、08.pcapng

 e2e.ti.com/.../08.pcapnge2e.ti.com/.../08_5F00_CT20.log

IND_COMMS_SDK_am243x_09_00_00_03:失败

附加:09_CT20.log、09.pcapng

 e2e.ti.com/.../09.pcapnge2e.ti.com/.../09_5F00_CT20.log

  1. 评估属性1 (接口速度)/2 (接口标志)/6 (接口控制)的结果

我们发现在两个版本之间存在一些不同的行为。

这些可能是失败结果的原因。

 

MCU_PLUS_SDK_am243x_08_06_00_45

ind_comms_sdk_am243x_09_00_00_03

属性1:连接100M

64 00 00 00

0A 00 00 00

属性1:无连接

00 00 00 00 00

0A 00 00 00

属性2:连接100M

0f 00 00 00

0f 00 00 00

属性2:无连接

00 00 00 00 00

13 00 00 00

 

MCU_PLUS_SDK_am243x_08_06_00_45:

 

IND_COMMS_SDK_am243x_09_00_00_03:

 

  1. 许可证过期问题在5次以太网链路测试下重现。

MCU_PLUS_SDK_am243x_08_06_00_45:通过

 

IND_COMMS_SDK_am243x_09_00_00_03:失败

附加:09_5times.log、09_5times.pcapng

我们收到许可证已过期日志。

 e2e.ti.com/.../09_5F00_5times.loge2e.ti.com/.../09_5F00_5times.pcapng

两个版本的 SDK 有什么不同?

它们如何解决这些问题?

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

    您好,Andre

    我已向 Kunbus 提出请求。 让我明天再接再厉

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

    客户尝试上周提供的最新跌落。

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

    您好、Andre、

    大家好、首先我想确定一下电路板。 他们能否向我们发送电路板说明? 是 AM243x-EVM、AM64x-EVM、AM243x-LP 还是某些定制电路板? 我问的原因是、我也可以重现"许可证过期"、但前提是我尝试在 AM243x-EVM 板上使用 AM64x-EVM 应用程序映像或反之。

    另外一点可能是由于某些原因、应用了存储在 NV 存储器中的旧配置。

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

    尊敬的 Nilabh:

    我们搭配使用自己的板 AM243、该板器件型号为 AM2432 BKF2HIALXR。

    固件基于 EtherNetIP_ADAPTER_GENERAL_DEVICE_MII_demo_am243x-LP_r5fss0-0_freertos_ti-arm-clang。

    在开始5次以太网链路测试之前、我们已经运行了"Reset DUT to Factory Defaults (将 DUT 重置为出厂默认设置)"命令、因此 EEPROM 具有最新配置。

    谢谢。

    夏勋

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

    Nilabh,

      我们将何时发布集成此 EA 版本的新 SDK。

    此致

    安德烈  

       

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

    尊敬的 Nilabh:

    您是否有 Kunbus 对此问题的任何更新?

    您上周提供的版本可以通过此问题。

    但我查看项目内容、他们仍然使用  mcu_plus_sdk_am243x 而不是 ind_comms_sdk_am243x。

    另请确认他们使用的 SDK 版本。

    谢谢。

    夏勋  

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

    Nilabh,

      客户报告 EA 版本仍基于 MCU_PLUS_SDK8.6.x.x 非工业通信 SDK 9.0。 根据开始时的报告、MCU+ SDK8.6没有出现问题、但最新的工业通信 SDK 却出现了。  因此、他们认为 EA 版本不会解决该问题。 我们仍需要您的帮助来检查工业通信 SDK 9.0中进行了哪些修改、并提供基于工业通信 SDK 9.x 的解决方案。

    此致

    安德烈

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

    Nilabh,

       您是否愿意在下周召开三方电话会议以解决此问题? 我已向您发送了单独的邮件、如果您和第三方可以、请告诉我。  

    此致

    安德烈

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

    尊敬的 Andrea:

    由于这是一个 EA 版本、它基于 SDK 8.6、因此请注意、一旦发布、将与工业通信 SDK 9.1

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
     您是否打算在下周举行三方电话会议以解决此问题? 我已向您发送了单独的邮件、如果您和第三方可以、请告诉我。  [/报价]

    好的、我下周试着安排一下。

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

    尊敬的 Nilabh:

    Kunbus 对此问题有任何评论吗?

    TI 是否有关于 工业通信 SDK 9.1的计划?

    谢谢。

    夏勋

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

    尊敬的 Ch Li:

    您能否在 syscfg 中检查是否已选择 MDIO 模式进行 PHY 轮询、如果未选择、请将其设置为轮询模式并重试。 我们正在与 Kunbus 安排呼叫。

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

    尊敬的 Nilabh:

    感谢你的帮助。

     更改 PHY MDIO 模式可以解决问题1和2、但问题3 (许可证已过期)仍可以重现。

    日志还显示"pbuf_alloc failed on receiving NRT frame (在接收 NRT 帧时失败)"。

    哪种情况可能导致此结果?

    谢谢。

    夏勋

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

    您是在发布模式、调试模式二进制文件还是在这两种模式下都能看到这种情况。 我可以在调试模式下看到这个问题、但在释放模式下不会看到这个问题、您能否检查一下并告诉我。

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

    尊敬的 Nilabh:

    我们使用发布版本。

    您会在什么情况下看到此问题?

    您能否分享 TI 软件设计哪种情况会导致"许可证已过期"?

    谢谢。

    夏勋

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

    当器件类型不匹配时、会发生此问题。   尝试在 AM243x-EVM 电路板上使用 AM64x-EVM 应用程序映像时、反之亦然。

    Kunbus 的另一点建议  ,存储在 NV 内存中的旧配置由于某种原因而被应用。

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

    您好,夏勋

    您能否阅读 JTAG 用户 ID 寄存器并让我们知道其内容? 这将确认许可证过期不是由部件号不匹配引起的。 请从2月电路板上阅读、您可以在其中重新创建许可证过期问题。

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

    尊敬的 Nilabh:

    我们的值为0x3204d2ed。

    我们通过直接读取地址"0x43000018"处的值来获取该值。

    谢谢。

    夏勋

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

    尊敬的 Nilabh:

    我们今天需要讨论的问题。

    1.新 SDK 的发布时间表。

    2.许可证已过期

    -在 EtherNet/IP 堆栈软件设计中,哪种情况会导致"许可证过期"?

    -如果出现"许可证已过期",我们如何查找或调试此问题?

    3.今天新问题–20次 LLDP MIB 测试将导致堆栈崩溃。

    -环境: CT20/AM243-LP (E3 )/ ind_comms_sdk_am243x_09_00_00_03

    -此测试案例在一致性测试中是否必要?

    谢谢。

    夏勋

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

    连接 UART 控制台输出

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

    大家好!

    您能否向我们提供并行记录的 UART 日志、CT20日志和 Wireshark 跟踪(!!)。 如果您多次运行任何测试(对 CT20进行开发人员或一致性测试)、请在整个测试持续时间内记录整个日志、而不仅仅是各个测试周期的日志。 还应考虑检查 CT20中的禁用日志抑制。 这将使日志文件更大、但包含完整信息。

    谢谢、Martin  

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

    你好、Joshua、

    感谢您的评分 与 Andreas 讨论后,了解到 hwal_cyclicTrigger()调用仍在 hwal 的一侧进行评估。
    需要在几毫秒的 周期内执行该调用。  

    此呼叫由数据包任务(任务优先级20)执行。 当另一个任务阻止此任务或通过 将数据写入非易失性存储器(EEPROM、闪存)时、则不会及时执行 hwal_cyclicTrigger 调用、您可能会遇到"许可证过期"问题。 从我们上次调用中、我知道您在使用您自己的 EEPROM 驱动程序、并且还修改了 EEPROM 写入任务。 这意味着我预计会出现问题。 请尝试仅调整 CUST_DRIVERS_eepromWriteTask 函数(不更改 CUST_DRIVERS.c 文件的其他部分代码)并告诉我们结果是什么。 当  "许可证已过期"问题仍会报告时、我们需要在报告问题时查看"运行时对象视图"快照。

    谨致问候
    比尔·吉里

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

    有关 ROV 的详细信息、请参阅此处: software-dl.ti.com/.../rov.html

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

    尊敬的 Jiri:

    感谢您的支持。

    我尝试使用 AM243-LP 在 EtherNet/IP 项目中测试"运行时对象视图"、但在可视模块中看不到"操作系统内核"。

    (ind_comms_sdk_am243x_09_00_00_03/examples/industrial_comms/ethernetip_adapter_demo/device_profiles/generic_device/mII/am243x-lp)

    我尝试使用 hello_world 项目、 我可以看到"OS 内核"并且可以查看任务信息。

    (ind_comms_sdk_am243x_09_00_00_03/mcu_plus_sdk/examples/hello_world/am243x-lp/r5fss0-0_freeRTOS)

    我是否错过 EtherNet/IP 项目中的某些设置?

    谢谢。

    约书亚

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

    你好、Joshua、

    请打开 syscfg_c.ROV.xs 文件,您可以在 CCS 项目本身中找到它

    然后将路径修改为

    var crovFiles =[
    "mcu_plus_sdk/source/kernel/freertos/ROV/freertos.ROV.js"
    ];
    然后重新构建项目、重新打开 ROV、让我知道。

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

    尊敬的 Nilabh:

    在我更改这个文件后、它可以正常工作。

    感谢你的帮助。

    尊敬的 Jiri:

     当我们仅在不修改任何 CUST_DRIVERS.c 的情况下更改 EEPROM 驱动程序时、会出现此问题。
    修改 CUST_DRIVERS.c 的目的是尝试解决方法并找出此问题的原因。
    我捕获的 ROV 不会修改 CUST_DRIVERS.c 的结构。
    (仅修改 MCU_PLUS_SDK 中的 EEPROM 驱动程序)

    --不带 hwal_cyclicTrigger()

    句柄名称优先级基本优先级状态 StackBase 估算 FreeStackSize CurrentStackTop
    0x700841c8 LinkTask 24被阻止0x700843c0 7296 0x70086324
    0x70084268 RxTask 20被阻止0x700863c0 6016 0x70087d0c
    0x7008a41c HWALLicense 8阻止0x41013800 2560 0x410146c4
    0x7008acbc 数据包20 20阻止0x41012000 1792 0x41012f0c
    0x7008af9c cyclicio 20阻止0x41013000 1792 0x4101370c
    0x7008b27c 统计信息14 14、正在运行0x41016000 128 0x41016354
    0x7008b55c lldpRcv 8阻止0x41010000 1792 0x4101070c
    0x700ad440 CMN_APP_TASK 8就绪0x41014c00 1408 0x41015a24
    0x700ad7e8空闲0 0就绪0x700a232c 3968 0x700a32d4
    0x700ad874 TMR 服务31延迟0x700aa8bc 896 0x700aac4c
    0x700b1ce4 Sync_Del 4520阻止0x700b2c80 1920 0x700b33d4
    0x700b1d84 Sync_Tx 4520受阻0x700b3480 0x700b3bdc
    0x700b1e很快24 Sync_Tx 20 3820被阻止0x700b3c80 1920 0x700b43dc
    0x700b1ec4 Timesync_NRT 16延迟0x700b4480 1792 0x700b4bdc
    0x700b1f64 Sync_Bac 4514延迟0x700b4c80 1920 0x700b5414
    0x700ba5f0 TCPIP_THREAD 14 14延迟0x700b65e8 15488 0x700ba514

    ——使用 hwal_cyclicTrigger()

    句柄名称优先级基本优先级状态 StackBase 估算 FreeStackSize CurrentStackTop

    0x700841c8 LinkTask 24被阻止0x700843c0 7296 0x70086324
    0x70084268 RxTask 20被阻止0x700863c0 6272 0x70087d0c
    0x7008a41c HWALLicense 8阻止0x41013800 2560 0x410146c4
    0x7008a6fc HWALWatchDog 30 Delayed 0x41014800 896 0x41014b4c
    0x7008acbc 数据包20 20阻止0x41012000 1792 0x41012f0c
    0x7008af9c cyclicio 20阻止0x41013000 1792 0x4101370c
    0x7008b27c 统计量14 14阻止0x41016000 768 0x4101630c
    0x7008b55c lldpRcv 8阻止0x41010000 1792 0x4101070c
    0x700ad440 CMN_APP_TASK 8延迟0x41014c00 1408 0x41015a24
    0x700ad7e8空闲0 0运行0x700a232c 3968 0x700a32d4
    0x700ad874 TMR 服务31延迟0x700aa8bc 896 0x700aac4c
    0x700b1ce4 Sync_Del 4520阻止0x700b2c80 1920 0x700b33d4
    0x700b1d84 Sync_Tx 4520受阻0x700b3480 0x700b3bdc
    0x700b1e很快24 Sync_Tx 20 3820被阻止0x700b3c80 1920 0x700b43dc
    0x700b1ec4 Timesync_NRT 16延迟0x700b4480 1792 0x700b4bdc
    0x700b1f64 Sync_Bac 4514延迟0x700b4c80 1920 0x700b5414
    0x700ba5f0 TCPIP_THREAD 14 14延迟0x700b65e8 15488 0x700ba534

    我们将 AM2432与400MHz R5F 和200MHz PRU 配合使用。
    这也可能是引发此问题的原因吗?
    如果您需要更多信息、请毫不犹豫地告诉我。

    谢谢。

    约书亚

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

    尊敬的 Jiri:

    您对此问题有任何更新吗?

    作为 ROV,添加 hwal_cyclicTrigger()后,"cmn_app_task"任务仍然正常运行。
    "WriteEEPROM"任务不会阻止任何内容、并在写入完成后关闭。
    如果原因是 EEPROM 写入时间、您能提供超时设计吗?

    谢谢。
    约书亚

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

    你好、Joshua、

    关键是、CMN_APP_TASK 中的 hwal_cyclicTrigger 调用只是能够分析"许可证过期"问题的路由原因的一种权变措施。
    意味着在结束时、如果问题得到解决、则需要从 CMN_APP_TASK 中删除该调用、然后重新进行测试。

    假设问题出现在 WriteEEPROM 中、如果我记得正确、您只向我们发送两个日志:

    -使用 在 CMN_APP_TASK 内部调用的 hwal_cyclicTrigger

    -无 hwal_cyclicTrigger 调用

    ,但在两种情况下,我都认为您直接调用了 WriteEEPROM。

    因此、我要求使用单独任务中调用的正确实现的日志 WriteEEPROM、以便能够更好地分析该问题。

     根据 IPProtection 专家的了解、超时设计大约为毫秒级。

    这种问题可能会影响其他功能、这意味着需要正确修复、在其他情况下、您将看不到"许可证体验"问题、但 LWIP 端的内存溢出或其他问题仍会出现问题。 这意味着我需要再次询问您 、以记录在单独的任务中调用 WriteEEPROM 的位置、然后再次使用和不使用"cmn_app_task"内的 hwal_cyclicTrigger 调用。

    谨致问候

    比尔·吉里  

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

    尊敬的 Jiri:

    我提供的 ROV 日志使用 原始 CUST_DRIVER.c (  在单独任务中调用的正确实现 WriteEEPROM)

    谢谢。

    约书亚

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

    你好、Joshua、

    抱歉、我之前对您的日志用例的理解不正确。

    但在这种情况下、当您使用未经修改的 CUST_DRIVER.c (只有 WriteEEPROM 正在执行您的驱动程序实施、预测与 TI 提供的不同)时 、会按日志可见的方式阻止数据包任务。

    在这种情况下、我需要要求您再次检查 WriteEEPROM 函数。
    请您确认内部没有禁用全局中断调用或类似的东西吗?
    在这种情况下、也可以阻止所有其他任务、因为在这种情况下调度程序无法切换到其他任务。

    此外、请 在 "cmn_app_task"中使用不带 hwal_cyclicTrigger 调用    的情况、并输出 WriteEEPROM 执行时间调用。
    为此、请按以下方式更新 CUST_DRIVERS_eepromWriteTask 函数:

    static void CUST_DRIVERS_eepromWriteTask (void *pArg_p)
    {
        CUST_DRIVERS_SPermWriteParam_t* pParam  = (CUST_DRIVERS_SPermWriteParam_t*) pArg_p;
        uint32_t                        tmStart = 0;
        uint32_t                        tmEnd   = 0;
        uint32_t                        time    = 0;
    
        int32_t      err;
    
        if (NULL == pParam->handle)
        {
            OSAL_error (__func__, __LINE__, CUST_DRIVERS_eERR_EEPROM_HANDLE_INVALID, true, 0);
            goto laError;
        }
    
        if (NULL == pParam->pData)
        {
            OSAL_error (__func__, __LINE__, CUST_DRIVERS_eERR_EEPROM_DATA_INVALID, true, 0);
            goto laError;
        }
    
        if (0 == pParam->length)
        {
            OSAL_error (__func__, __LINE__, CUST_DRIVERS_eERR_EEPROM_LENGTH_INVALID, true, 0);
            goto laError;
        }
    
        tmStart = OSAL_getMsTick();
        err = EEPROM_write ((EEPROM_Handle) pParam->handle, pParam->offset, pParam->pData, pParam->length);
        tmEnd = OSAL_getMsTick();
        
        if (tmEnd >= tmStart)
        {
            time = tmEnd - tmStart;
        }
        else
        {
            time  = 0xFFFFFFFF - tmStart;
            time += tmEnd;
        }
        
        OSAL_printf("Write cycle takes %d ms.\r\n", time);
        
        if (SystemP_SUCCESS != err)
        {
            OSAL_error (__func__, __LINE__, CUST_DRIVERS_eERR_EEPROM_WRITE, true, 0);
            goto laError;
        }
    
        OSAL_MEMORY_free(pParam->pData);
    
    laError:
        writeOperationPending_s = false;
        writeOperationPendingCnt_s--;
    
        OSAL_SCHED_exitTask(NULL);
    }

    然后对代码重复以太网链路测试(使用更新的"CUST_DRIVERS_eepromWriteTask"函数)、直到您不会看到"许可证过期"问题、 并将此更改生成的 UART 日志发送给我。

    此致
    吉里

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

    尊敬的 Jiri:

    我们找到了重现"许可证已过期"的方法 LP-AM243 E3

    我们的 AM243 PN 是 AM2432 BKF2HIALXR、其 R5F 速度为400MHz。

    我们需要进行一些修改、将 LP-AM243从800MHz 更改为400MHz。

    1.更改"mcu_plus_sdk_am243x_09_00_00_35"并重新编译所有库

    source/drivers/bootloader/m64x_am243x/bootloader_soc.c soc

    Bootloader_CoreBootInfo gCoreBootInfo[] =
    {
        {
            .tisciProcId    = SCICLIENT_PROCID_MCU_M4FSS0_C0,
            .tisciDevId     = TISCI_DEV_MCU_M4FSS0_CORE0,
            .tisciClockId   = TISCI_DEV_MCU_M4FSS0_CORE0_VBUS_CLK,
            .defaultClockHz = (uint32_t)(400*1000000),
            .coreName       = "m4f0-0",
        },
    
        {
            .tisciProcId    = SCICLIENT_PROCID_R5_CL0_C0,
            .tisciDevId     = TISCI_DEV_R5FSS0_CORE0,
            .tisciClockId   = TISCI_DEV_R5FSS0_CORE0_CPU_CLK,
            .defaultClockHz = (uint32_t)(400*1000000),
            .coreName       = "r5f0-0",
        },
    
        {
            .tisciProcId    = SCICLIENT_PROCID_R5_CL0_C1,
            .tisciDevId     = TISCI_DEV_R5FSS0_CORE1,
            .tisciClockId   = TISCI_DEV_R5FSS0_CORE1_CPU_CLK,
            .defaultClockHz = (uint32_t)(400*1000000),
            .coreName       = "r5f0-1",
        },
    
        {
            .tisciProcId    = SCICLIENT_PROCID_R5_CL1_C0,
            .tisciDevId     = TISCI_DEV_R5FSS1_CORE0,
            .tisciClockId   = TISCI_DEV_R5FSS1_CORE0_CPU_CLK,
            .defaultClockHz = (uint32_t)(400*1000000),
            .coreName       = "r5f1-0 ",
        },
    
        {
            .tisciProcId    = SCICLIENT_PROCID_R5_CL1_C1,
            .tisciDevId     = TISCI_DEV_R5FSS1_CORE1,
            .tisciClockId   = TISCI_DEV_R5FSS1_CORE1_CPU_CLK,
            .defaultClockHz = (uint32_t)(400*1000000),
            .coreName       = "r5f1-1",
        },
    
        {
            .tisciProcId    = SCICLIENT_PROCID_A53_CL0_C0,
            .tisciDevId     = TISCI_DEV_A53SS0_CORE_0,
            .tisciClockId   = TISCI_DEV_A53SS0_COREPAC_ARM_CLK_CLK,
            .defaultClockHz = (uint32_t)(800*1000000),
            .coreName       = "a530-0",
        },
    
        {
            .tisciProcId    = SCICLIENT_PROCID_A53_CL0_C1,
            .tisciDevId     = TISCI_DEV_A53SS0_CORE_1,
            .tisciClockId   = TISCI_DEV_A53SS0_COREPAC_ARM_CLK_CLK,
            .defaultClockHz = (uint32_t)(800*1000000),
            .coreName       = "a530-1",
        },
    };
    

    2.重新编译 NULL 引导加载程序项目并将闪存存储到 LP-AM243中。

    3.在 QSPI 闪存模式下重新启动,UART 日志将显示"initialized to 400000000Hz"

    4.开始调试并使用"EtherNetIP_ADAPTER_GENERAL_DEVICE_MII_demo"运行"Ethernet Link"测试

    如果您能在电路板上重现问题、敬请告知。

    可能不同的 EEPROM 不是 "许可证过期"的原因。

    谢谢。

    约书亚

    //---------------

    正在启动 NULL 引导加载程序...

    DMSC 固件版本9.0.7--v09.00.07 (Kool Koala)
    DMSC 固件版本0x9
    DMSC ABI 版本3.1

    信息:bootloader_runCpu:155:CPU r5f1-0初始化为400000000 Hz!!
    信息:bootloader_runCpu:155:CPU r5f1-1被初始化为400000000 Hz!!
    信息:bootloader_runCpu:155:CPU m4f0-0初始化为400000000 Hz!!
    信息:bootloader_loadSelfCpu:207:CPU r5f0-0初始化为400000000 Hz!!
    信息:bootloader_loadSelfCpu:207:CPU r5f0-1已初始化为400000000 Hz!!
    INFO:bootloader_runSelfCpu:217:全部完成、正在重置自...

    Pruicss max =3选择的 PRU:3
    DID 映射0x30080000 len 0x2000至0x30080000 (dram0)
    DID 映射0x30082000 len 0x2000至0x30082000 (dram1)
    DID 映射0x300b4000 len 0x4000至0x300b4000 (iram0)
    DID 映射0x300b8000 len 0x4000至0x300b8000 (iram1)
    DID 映射0x30090000 len 0x10000至0x30090000 (shdram)
    DID 映射0x300a2000 len 0x400至0x300a2000 (CONTROL0)
    DID 映射0x300a4000 len 0x400至0x300a4000 (CONTROL1)
    DID 映射0x300a0000 len 0x2000到0x300a0000 (INTC)
    已将0x300a6000 len 0x2000映射到0x300a6000 (cfg)
    DID 映射0x300a8000 len 0x2000到0x300a8000 (uart0)
    DID 映射0x300ae000 len 0x2000至0x300ae000 (IEP)
    DID 映射0x300b0000 len 0x2000到0x300b0000 (ecap0)
    DID 映射0x300b2000 len 0x400至0x300b2000 (MII_RT)
    DID 映射0x300b2000 len 0x1c00至0x300b2000 (MDIO)
    DID 映射0x3008a000 len 0x2000到0x3008a000 (txPru0Iram)
    DID 映射0x3008c000 len 0x2000到0x3008c000 (txPru1Iram)
    已映射0x300a5000 len 0x100到0x300a5000 (txPru0CtlReg)
    已映射0x300a5000 len 0x100到0x300a5000 (txPru1CtlReg)
    检测到 DP83869
    检测到 DP83869
    PHY 3:禁用 RGMII 模式
    PHY 3:禁用 Gbit ANEG
    PHY 15:禁用 RGMII 模式
    PHY 15:禁用 Gbit ANEG
    +EI_API_ADP_pruicssStart
    -EI_API_ADP_pruicssStart
    本地接口 IP 为192.168.1.10
    EI_API_ADP_getMacAddr:3c:e0:64:62:E3:0f
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    hwal_IPP_protectorWakeupIPP:671:>Error = 0x3900006e


    许可证已过期


    DID 结束任务 HWALWatchDog
    PHY 禁用磁性器件
    Pbuf_alloc 在接收 NRT 帧时失败
    Pbuf_alloc 在接收 NRT 帧时失败
    Pbuf_alloc 在接收 NRT 帧时失败
    Pbuf_alloc 在接收 NRT 帧时失败
    Pbuf_alloc 在接收 NRT 帧时失败

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

    你好、Joshua、

    如上文所述、我能够在 SBL_NULL 图像上将频率从800MHz 降低到400MHz。
    我还运行以太网链路测试40次、但无法重现"许可证过期"问题(请参阅以下 UART 日志)。
    在我的案例中、唯一不同的是 SDK。 我正在使用 IND_COMMS_SDK_09.00.00.01。

    正在启动 NULL 引导加载程序...

    DMSC 固件版本8.6.4--v08.06.04 (Chill Capybar)
    DMSC 固件版本0x8
    DMSC ABI 版本3.1

    信息:bootloader_runCpu:155:CPU r5f1-0初始化为400000000 Hz!!
    信息:bootloader_runCpu:155:CPU r5f1-1被初始化为400000000 Hz!!
    信息:bootloader_runCpu:155:CPU m4f0-0初始化为400000000 Hz!!
    信息:bootloader_loadSelfCpu:207:CPU r5f0-0初始化为400000000 Hz!!
    信息:bootloader_loadSelfCpu:207:CPU r5f0-1已初始化为400000000 Hz!!
    INFO:bootloader_runSelfCpu:217:全部完成、正在重置自...

    Pruicss max =3选择的 PRU:3
    DID 映射0x30080000 len 0x2000至0x30080000 (dram0)
    DID 映射0x30082000 len 0x2000至0x30082000 (dram1)
    DID 映射0x300b4000 len 0x4000至0x300b4000 (iram0)
    DID 映射0x300b8000 len 0x4000至0x300b8000 (iram1)
    DID 映射0x30090000 len 0x10000至0x30090000 (shdram)
    DID 映射0x300a2000 len 0x400至0x300a2000 (CONTROL0)
    DID 映射0x300a4000 len 0x400至0x300a4000 (CONTROL1)
    DID 映射0x300a0000 len 0x2000到0x300a0000 (INTC)
    已将0x300a6000 len 0x2000映射到0x300a6000 (cfg)
    DID 映射0x300a8000 len 0x2000到0x300a8000 (uart0)
    DID 映射0x300ae000 len 0x2000至0x300ae000 (IEP)
    DID 映射0x300b0000 len 0x2000到0x300b0000 (ecap0)
    DID 映射0x300b2000 len 0x400至0x300b2000 (MII_RT)
    DID 映射0x3009f000 len 0x1c00至0x3009f000 (MDIO)
    DID 映射0x3008a000 len 0x2000到0x3008a000 (txPru0Iram)
    DID 映射0x3008c000 len 0x2000到0x3008c000 (txPru1Iram)
    已映射0x300a5000 len 0x100到0x300a5000 (txPru0CtlReg)
    已映射0x300a5000 len 0x100到0x300a5000 (txPru1CtlReg)
    检测到 DP83869
    检测到 DP83869
    PRU_PHY_DETECT:185 PHY 3活动
    PRU_PHY_DETECT:185 PHY 15活动
    PHY 3:禁用 Gbit ANEG
    PHY 15:禁用 Gbit ANEG
    PHY 3:RGMII 启用低延迟
    PHY 15:RGMII 启用低延迟
    PHY 3:RGMII 设置 TX 半/全阈值:1
    PHY 15:RGMII 设置 TX 半/全阈值:1
    PHY 3:RGMII 设置 RX 半/全阈值:1
    PHY 15:RGMII 设置 RX 半/全阈值:1
    +EI_API_ADP_pruicssStart
    -EI_API_ADP_pruicssStart
    本地接口 IP 为192.168.1.10
    EI_API_ADP_getMacAddr:3c:e0:64:62:e1:57
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)

    我还在使用400MHz 和800MHz 且计时始终相同的16ms 时测量了我们一侧的 EEPROM 时序(请参阅以下 UART 日志)

    正在启动 NULL 引导加载程序...

    DMSC 固件版本8.6.4--v08.06.04 (Chill Capybar)
    DMSC 固件版本0x8
    DMSC ABI 版本3.1

    信息:bootloader_runCpu:155:CPU r5f1-0初始化为400000000 Hz!!
    信息:bootloader_runCpu:155:CPU r5f1-1被初始化为400000000 Hz!!
    信息:bootloader_runCpu:155:CPU m4f0-0初始化为400000000 Hz!!
    信息:bootloader_loadSelfCpu:207:CPU r5f0-0初始化为400000000 Hz!!
    信息:bootloader_loadSelfCpu:207:CPU r5f0-1已初始化为400000000 Hz!!
    INFO:bootloader_runSelfCpu:217:全部完成、正在重置自...

    Pruicss max =3选择的 PRU:3
    DID 映射0x30080000 len 0x2000至0x30080000 (dram0)
    DID 映射0x30082000 len 0x2000至0x30082000 (dram1)
    DID 映射0x300b4000 len 0x4000至0x300b4000 (iram0)
    DID 映射0x300b8000 len 0x4000至0x300b8000 (iram1)
    DID 映射0x30090000 len 0x10000至0x30090000 (shdram)
    DID 映射0x300a2000 len 0x400至0x300a2000 (CONTROL0)
    DID 映射0x300a4000 len 0x400至0x300a4000 (CONTROL1)
    DID 映射0x300a0000 len 0x2000到0x300a0000 (INTC)
    已将0x300a6000 len 0x2000映射到0x300a6000 (cfg)
    DID 映射0x300a8000 len 0x2000到0x300a8000 (uart0)
    DID 映射0x300ae000 len 0x2000至0x300ae000 (IEP)
    DID 映射0x300b0000 len 0x2000到0x300b0000 (ecap0)
    DID 映射0x300b2000 len 0x400至0x300b2000 (MII_RT)
    DID 映射0x3009f000 len 0x1c00至0x3009f000 (MDIO)
    DID 映射0x3008a000 len 0x2000到0x3008a000 (txPru0Iram)
    DID 映射0x3008c000 len 0x2000到0x3008c000 (txPru1Iram)
    已映射0x300a5000 len 0x100到0x300a5000 (txPru0CtlReg)
    已映射0x300a5000 len 0x100到0x300a5000 (txPru1CtlReg)
    检测到 DP83869
    检测到 DP83869
    PRU_PHY_DETECT:185 PHY 3活动
    PRU_PHY_DETECT:185 PHY 15活动
    PHY 3:禁用 Gbit ANEG
    PHY 15:禁用 Gbit ANEG
    PHY 3:RGMII 启用低延迟
    PHY 15:RGMII 启用低延迟
    PHY 3:RGMII 设置 TX 半/全阈值:1
    PHY 15:RGMII 设置 TX 半/全阈值:1
    PHY 3:RGMII 设置 RX 半/全阈值:1
    PHY 15:RGMII 设置 RX 半/全阈值:1
    +EI_API_ADP_pruicssStart
    -EI_API_ADP_pruicssStart
    本地接口 IP 为192.168.1.10
    EI_API_ADP_getMacAddr:3c:e0:64:62:e1:57
    写入周期需要16ms。
    写入周期需要16ms。
    写入周期需要16ms。
    tcp_err_handler:连接已中止。 (-13)

    我想我们需要让 Nilabh 检查如何在 AM243x-LP 板上更改频率的过程、因为在这里我不确定仅对引导加载程序进行更改是否足够、或者 SDK 上的一些其他代码部分是否需要修改。 也可以检查 mcu_plus_sdk_am243x_09_00_00_35和 ind_comms_SDK_09.00.00.01之间的差异是否存在任何差异。

    Nilabh、请检查一下吗?

    谨致问候
    比尔·吉里  

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

    我想我们需要让 Nilabh 检查如何在 AM243x-LP 板上更改频率的过程、因为在这里我不确定仅对引导加载程序进行更改是否足够、或者 SDK 上的一些其他代码部分是否需要修改。 也可以检查 mcu_plus_sdk_am243x_09_00_00_35和 ind_comms_SDK_09.00.00.01之间的差异是否存在任何差异。

    Nilabh、请检查一下吗?

    [/报价]

    尊敬的 Jiri:

    让我检查一下、明天回来。

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

    尊敬的 Jiri:

    感谢您的信息。

    当驱动器处于繁忙状态时、两个 EEPROM 页写入均处于4ms 睡眠状态、因此页大小是写入时间不同的原因。

    TI 板的 EEPROM 页面为256字节、我们的页面为16字节。

    NV 数据的长度为352字节、因此  TI 电路板的 EEPROM 需要2个周期、但 我们的 EEPROM 需要 22个周期。

    写入 EEPROM 需要更多时间、但不会阻止其他任务。

    您是否认为此问题可能导致系统不稳定

    ------------------

    我构建空引导加载程序时、似乎有一些 lib 链接到  mcu_plus_sdk_am243x_09_00_00_35、还有一些链接到 ind_comms_sdk_am243x_09_00_00_03/mcu_plus_SDK。

    因此、我重新编译了 mcu_plus_sdk_am243x_09_00_00_35和 ind_comms_sdk_am243x_09_00_00_03/mcu_plus_SDK。

    此过程可能需要 Nilabh 进行说明。

    我试图展示我们的环境关于 在 LP-AM243上重现"许可证已过期"。

    1.硬件: LP-AM243/PROC109E3

    2.操作系统: Win10

    3. Windows 10环境变量

     A: industrial_communications_sdk_path: C:\ti\ind_comms_sdk_am243x_09_00_00_03

     B. MCU_PLUS_SDK_AM243X_PATH: C:\ti\mcu_plus_sdk_am243x_09_00_00_35

     C. MCU_PLUS_SDK_PATH:  C:\ti\mcu_plus_sdk_am243x_09_00_00_35

    4. CCS: 12.4.0.00007

     a.编译器: TI Clang v2.1.3 LTS

     b. Products -> 适用于 AM243x 的工业通信 SDK: 9.0.0.3

     c.产品->适用于 AM243x 的 MCU + SDK: 9.0.0.35

     d. Products -> SysConfig: 1.17.0

    5. null Bootlader 项目(发布): ind_comms_sdk_am243x_09_00_00_03/mcu_plus_sdk/examples/drivers/boot/sbl_null/am243x-lp/r5fss0-0_nortos

    6. EtherNet/IP 项目(发布): ind_comms_sdk_am243x_09_00_00_03/examples/industrial_comms/ethernetip_adapter_demo/device_profiles/generic_device/am243x-lp/r5fss0-0_freertos

    谢谢。

    约书亚

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

    尊敬的 Jiri:

    我可以复制您的结果与项目:  

    ind_comms_sdk_am243x_09_00_00_03/examples/industrial_comms/ethernetip_adapter_demo/device_profiles/generic_device/ RGMII /am243x-lp/r5fss0-0_freeRTOS

    CT20上显示错误计数、但 UART 日志中没有"许可证已过期"。

    另一点是、CT20有一 个弹出窗口、显示"Failed to connect the DUT、abort the test!"

    您能解释一下为什么堆栈在400MHz 下有点不稳定吗?

    -------------------------------------------------------

    Nilabh 建议我们使用 MII 模式、因为他们  以前看到过 RGMII 存在一些不稳定性。

    https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1206723/am2434-am2434-ethernet-ip-test-question

    您能否使用我们可以重现的项目来尝试一下?

    ind_comms_sdk_am243x_09_00_00_03/examples/industrial_comms/ethernetip_adapter_demo/device_profiles/generic_device/ MII /am243x-lp/r5fss0-0_freeRTOS

    在测试前需要进行下电上电。

    谢谢。

    约书亚

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

    我构建空引导加载程序时、似乎有一些 lib 链接到  mcu_plus_sdk_am243x_09_00_00_35、还有一些链接到 ind_comms_sdk_am243x_09_00_00_03/mcu_plus_SDK。

    因此、我重新编译了 mcu_plus_sdk_am243x_09_00_00_35和 ind_comms_sdk_am243x_09_00_00_03/mcu_plus_SDK。

    此过程可能需要 Nilabh 进行说明。

    [/报价]

    你好、Joshua、

    工业通信 SDK 内部包含 MCU SDK。 因此、为了构建空引导加载程序、您需要构建 MCU SDK 的库。

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

    你好、Joshua、

    我使用调整后的引导加载程序对 AM243x-LP 进行了试用、以400MHz ind_comms_sdk_am243x_09_00_00_03 EtherNet/IP 适配器 MII 通用器件、结果与昨天的测试(RGMII)类似。 表示没有"许可证已过期"、请参阅下面的 UART 日志。   首先、我要说的 是、我们 无需修改即可在 AM243x TI 电路板上支持800 MHz。  Nilabh 是对的。 我们之前在 RGMII 上遇到了一些不稳定问题、但此处的情况并非如此。 表示在 MPU 上使用400MHz 时、我可以确认在 RGMII 和 MII 上看到类似的行为。

    谨致问候
    比尔·吉里

    正在启动 NULL 引导加载程序...

    DMSC 固件版本9.0.7--v09.00.07 (Kool Koala)
    DMSC 固件版本0x9
    DMSC ABI 版本3.1

    信息:bootloader_runCpu:155:CPU r5f1-0初始化为400000000 Hz!!
    信息:bootloader_runCpu:155:CPU r5f1-1被初始化为400000000 Hz!!
    信息:bootloader_runCpu:155:CPU m4f0-0初始化为400000000 Hz!!
    信息:bootloader_loadSelfCpu:207:CPU r5f0-0初始化为400000000 Hz!!
    信息:bootloader_loadSelfCpu:207:CPU r5f0-1已初始化为400000000 Hz!!
    INFO:bootloader_runSelfCpu:217:全部完成、正在重置自...

    Pruicss max =3选择的 PRU:3
    DID 映射0x30080000 len 0x2000至0x30080000 (dram0)
    DID 映射0x30082000 len 0x2000至0x30082000 (dram1)
    DID 映射0x300b4000 len 0x4000至0x300b4000 (iram0)
    DID 映射0x300b8000 len 0x4000至0x300b8000 (iram1)
    DID 映射0x30090000 len 0x10000至0x30090000 (shdram)
    DID 映射0x300a2000 len 0x400至0x300a2000 (CONTROL0)
    DID 映射0x300a4000 len 0x400至0x300a4000 (CONTROL1)
    DID 映射0x300a0000 len 0x2000到0x300a0000 (INTC)
    已将0x300a6000 len 0x2000映射到0x300a6000 (cfg)
    DID 映射0x300a8000 len 0x2000到0x300a8000 (uart0)
    DID 映射0x300ae000 len 0x2000至0x300ae000 (IEP)
    DID 映射0x300b0000 len 0x2000到0x300b0000 (ecap0)
    DID 映射0x300b2000 len 0x400至0x300b2000 (MII_RT)
    DID 映射0x300b2000 len 0x1c00至0x300b2000 (MDIO)
    DID 映射0x3008a000 len 0x2000到0x3008a000 (txPru0Iram)
    DID 映射0x3008c000 len 0x2000到0x3008c000 (txPru1Iram)
    已映射0x300a5000 len 0x100到0x300a5000 (txPru0CtlReg)
    已映射0x300a5000 len 0x100到0x300a5000 (txPru1CtlReg)
    检测到 DP83869
    检测到 DP83869
    PHY 3:禁用 RGMII 模式
    PHY 3:禁用 Gbit ANEG
    PHY 15:禁用 RGMII 模式
    PHY 15:禁用 Gbit ANEG
    +EI_API_ADP_pruicssStart
    -EI_API_ADP_pruicssStart
    本地接口 IP 为192.168.1.10
    EI_API_ADP_getMacAddr:3c:e0:64:62:e1:57
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接复位。 (-14)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)
    tcp_err_handler:连接已中止。 (-13)

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

    尊敬的 Nilabh:

    TI 是否有用于验证400M R5F 上的行为的平台?  

    我们是否可以使用对引导加载程序  的修改来模拟 LP-AM243上的 AM2432 BKF2HIALXR?

    如果是、您能否提供分步程序来帮助我们澄清此问题?

    尊敬的 Jiri:

    我们按照 TI 的产品说明书选择 AM2432 BKF2HIALXR、它具有400MHz R5F、并支持工业通信堆栈。

    我知道、它意味着 KUNBUS 堆栈支持400MHz R5F、您会发现 堆栈的稳定性稍低一些。

    如果我错了、请更正我。

    您能解释一下为什么堆栈  在400MHz 下有点不稳定吗?

    不稳定的原因可能也是 "许可证过期"问题的原因。

     KUNBUS 协议栈发生了"许可证到期"问题、因此我们没有要跟踪的源代码。

    您是否有其他建议可帮助我们 澄清 此问题?

    谢谢。

    约书亚

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

    该问题已在支持系统 TS-98中得到处理。

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

    TI 是否有用于验证400M R5F 上的行为的平台?  

    我们是否可以使用对引导加载程序  的修改来模拟 LP-AM243上的 AM2432 BKF2HIALXR?

    如果是、您能否提供分步程序来帮助我们澄清此问题?

    [/报价]

    你好、Joshua、

    很抱歉在答复中出现拖延,我们被一些内部承诺所占据。

    可通过更改 SBL、PLL 配置来验证400MHz 频率。 但我们尚未使用400MHz 进行验证。 我可以尝试 在下周星期三之前进行一些测试并分享结果。

    感谢您的耐心。

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

    尊敬的 Martin、Jiri、

    您是否有来自 KUNBUS 的任何更新?

    谢谢。

    约书亚

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

    Starting NULL Bootloader ...
    
    DMSC Firmware Version 8.6.4--v08.06.04 (Chill Capybar
    DMSC Firmware revision 0x8
    DMSC ABI revision 3.1
    
    INFO: Bootloader_runCpu:155: CPU r5f1-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_runCpu:155: CPU r5f1-1 is initialized to 400000000 Hz !!!
    INFO: Bootloader_runCpu:155: CPU m4f0-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_loadSelfCpu:207: CPU r5f0-0 is initiaPruicss max =3 selected PRU:3
    Did Map 0x30080000 len 0x2000 to 0x30080000 (dram0)
    Did Map 0x30082000 len 0x2000 to 0x30082000 (dram1)
    Did Map 0x300b4000 len 0x4000 to 0x300b4000 (iram0)
    Did Map 0x300b8000 len 0x4000 to 0x300b8000 (iram1)
    Did Map 0x30090000 len 0x10000 to 0x30090000 (shdram)
    Did Map 0x300a2000 len 0x400 to 0x300a2000 (control0)
    Did Map 0x300a4000 len 0x400 to 0x300a4000 (control1)
    Did Map 0x300a0000 len 0x2000 to 0x300a0000 (intc)
    Did Map 0x300a6000 len 0x2000 to 0x300a6000 (cfg)
    Did Map 0x300a8000 len 0x2000 to 0x300a8000 (uart0)
    Did Map 0x300ae000 len 0x2000 to 0x300ae000 (iep)
    Did Map 0x300b0000 len 0x2000 to 0x300b0000 (ecap0)
    Did Map 0x300b2000 len 0x400 to 0x300b2000 (mii_rt)
    Did Map 0x300b2000 len 0x1c00 to 0x300b2000 (mdio)
    Did Map 0x3008a000 len 0x2000 to 0x3008a000 (txPru0Iram)
    Did Map 0x3008c000 len 0x2000 to 0x3008c000 (txPru1Iram)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru0CtlReg)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru1CtlReg)
    DP83869 detected
    DP83869 detected
    Phy 3 : Disable RGMII mode
    Phy 3 : Disable GBit ANEG
    Phy 15 : Disable RGMII mode
    Phy 15 : Disable GBit ANEG
    +EI_API_ADP_pruicssStart
    -EI_API_ADP_pruicssStart
    Local interface IP is 192.168.1.10
    EI_API_ADP_getMacAddr: f4:84:4c:fb:bc:c2

    我在以400Mhz 频率运行的 R5f 上运行 EIP 应用,我没有看到任何许可证过期,我将运行 CTT 测试和长时间的运行测试以进一步验证。

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

    尊敬的 Nilabh:

    感谢您的更新。

    您是否可以使用 ind_comms_sdk_am243x_09_00_00_03进行测试?

    我们的讨论基于该版本、bootlodaer 版本为9.0.7。

    DMSC 固件版本9.0.7--v09.00.07 (Kool Koala)
    DMSC 固件版本0x9
    DMSC ABI 版本3.1

    谢谢。

    约书亚

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

    你好、Joshua、

    即使经过长时间的测试、我也看不到任何问题、我也会尝试使用最新的 SBL。 请总结您当前面临的问题、以及在 SBL 或应用中进行更改后在 TI AM243-LP 上可重现的问题。 它将帮助我更快地在最终创建它、

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

    尊敬的 Nilabh:

    现在的问题总结:

    CT20连续以太网链路测试下发生400MHz LP-AM243 (E3)"许可证过期"问题。

    //-------------------------------------------------------------------------------------------------------------------------------------------------------------  

    我将共享我的所有环境以及我可以在此主题中之前重现此问题的所有步骤(11月22日和11月23日)。

    如果我遗漏了一些内容、请帮助我们检查我们的环境并构建步骤。

    此外、KUNBUS 和我需要您解释构建400MHz SBL 的"正确"方式是什么!!

    您能否逐步分享您的方法? (视频或书面)

    谢谢。

    约书亚

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

    我构建空引导加载程序时、似乎有一些 lib 链接到  mcu_plus_sdk_am243x_09_00_00_35、还有一些链接到 ind_comms_sdk_am243x_09_00_00_03/mcu_plus_SDK。

    因此、我重新编译了 mcu_plus_sdk_am243x_09_00_00_35和 ind_comms_sdk_am243x_09_00_00_03/mcu_plus_SDK。

    此过程可能需要 Nilabh 进行说明。

    [/报价]

    来自工业通信和独立 MCU SDK 的 MCU SDK 在这里无关紧要。 为了避免该问题、您可以使用基于 gmake 命令行的编译。

    此外、KUNBUS 和我需要您解释构建400MHz SBL 的"正确"方式是什么!!

    您能否逐步分享您的方法? (视频或书面)

    [/报价]

    1. sbl-NULL 修改文件:/cfs-file/__key/communityserver-discussions-components-files/908/main_5F00_sbl_5F00_null.c

    SBL-OSPI 修改文件:/cfs-file/__key/communityserver-discussions-components-files/908/main_5F00_sbl_5F00_ospi.c

    重新生成示例。 将生成的 sbl_null.release.hs_fs.tiimage 或 sbl_ospi.release.hs_fs.tiimage 复制到  mcu_plus_sdk_am243x\tools\boot\sbl_prebuild\am243x-lp  文件夹、然后 按照刷写 SBL 的过程进行操作。

    如果您需要任何帮助、请在此处告诉我。

    [报价 userid="523303" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1286043/am2434-ethernet-ip-ethernet-link-test-failed-on-am243-with-dp83822-phy/4937965 #4937965"]我分享了我的所有环境和所有步骤,我可以在此主题(11月22日和11月23日)之前重现此问题。

    您能否共享可用于在 Launchpad AM243x-LP 上重现问题的二进制文件?

    我无法复制许可证过期问题。 但我确实看到在400MHz 频率下有一些测试。

    OSAL_FreeRTOS_Sched_startTask:541没有空闲的线程句柄!

    CPU m4f0-0 is initialized to 400000000 Hz !!!
    CPU r5f0-0 is initialized to 400000000 Hz !!!
    CPU r5f0-1 is initialized to 400000000 Hz !!!
    CPU r5f1-0  is initialized to 800000000 Hz !!!
    CPU r5f1-1 is initialized to 800000000 Hz !!!
    [BOOTLOADER_PROFILE] Boot Media       : NOR SPI FLASH 
    [BOOTLOADER_PROFILE] Boot Media Clock : 100.000 MHz 
    [BOOTLOADER_PROFILE] Boot Image Size  : 740 KB 
    [BOOTLOADER_PROFILE] Cores present    : 
    r5f0-0
    [BOOTLOADER PROFILE] SYSFW init                       :      24358us 
    [BOOTLOADER PROFILE] System_init                      :   10732614us 
    [BOOTLOADER PROFILE] Drivers_open                     :        566us 
    [BOOTLOADER PROFILE] Board_driversOpen                :     322869us 
    [BOOTLOADER PROFILE] Sciclient Get Version            :      19685us 
    [BOOTLOADER PROFILE] CPU load                         :    2228334us 
    [BOOTLOADER_PROFILE] SBL Total Time Taken             :    2591013us 
    
    Image loading done, switching to application ...
    Pruicss  max =3 selected PRU:3
    Did Map 0x30080000 len 0x2000 to 0x30080000 (dram0)
    Did Map 0x30082000 len 0x2000 to 0x30082000 (dram1)
    Did Map 0x300b4000 len 0x4000 to 0x300b4000 (iram0)
    Did Map 0x300b8000 len 0x4000 to 0x300b8000 (iram1)
    Did Map 0x30090000 len 0x10000 to 0x30090000 (shdram)
    Did Map 0x300a2000 len 0x400 to 0x300a2000 (control0)
    Did Map 0x300a4000 len 0x400 to 0x300a4000 (control1)
    Did Map 0x300a0000 len 0x2000 to 0x300a0000 (intc)
    Did Map 0x300a6000 len 0x2000 to 0x300a6000 (cfg)
    Did Map 0x300a8000 len 0x2000 to 0x300a8000 (uart0)
    Did Map 0x300ae000 len 0x2000 to 0x300ae000 (iep)
    Did Map 0x300b0000 len 0x2000 to 0x300b0000 (ecap0)
    Did Map 0x300b2000 len 0x400 to 0x300b2000 (mii_rt)
    Did Map 0x300b2000 len 0x1c00 to 0x300b2000 (mdio)
    Did Map 0x3008a000 len 0x2000 to 0x3008a000 (txPru0Iram)
    Did Map 0x3008c000 len 0x2000 to 0x3008c000 (txPru1Iram)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru0CtlReg)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru1CtlReg)
    DP83869 detected
    DP83869 detected
    Phy 3 : Disable RGMII mode
    Phy 3 : Disable GBit ANEG
    Phy 15 : Disable RGMII mode
    Phy 15 : Disable GBit ANEG
    +EI_API_ADP_pruicssStart
    -EI_API_ADP_pruicssStart
    Local interface IP is 192.168.1.10
    EI_API_ADP_getMacAddr:  1c:63:49:25:1a:68
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    OSAL_FREERTOS_SCHED_startTask:541 E no free Thread Handles !
                                                                tcp_err_handler: Connection aborted. (-13)
    

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

    尊敬的 Nilabh:

    感谢您的讲解。

    我将尝试重新构建引导加载程序并再次进行测试。

    我之前使用了8.6.0.45 SDK、并且收到与您得到的错误消息相同。

    以太网链路测试有错误计数、但 UART 日志 没有 "许可证过期"。

    我认为"许可证已过期"是代表400MHz 堆栈的不稳定的结果之一。

    您能否或 KUNBUS 解释一下为什么堆栈  在400MHz 下略微不稳定?

    该问题应该得到解决、或者我们无法使用 AM2432 BKF2HIALXR (400MHz)来通过 EtherNet/IP 一致性测试

    如果我错了、请更正我。

    谢谢。

    约书亚

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

    你好、Joshua、

    您能否使用工业通信 SDK 9.0并重试?

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

    尊敬的 Nilabh:

    当然、我现在再次尝试9.0 SDK。

    我对400 MHz 堆栈下的错误消息感到困惑。

    您和 KUNBUS 在400MHz 堆栈下已经看到了一些错误消息。

    我们是否可以预期使用  AM2432 BKF2HIALXR (400MHz)来通过 EtherNet/IP 一致性测试?

    谢谢。

    约书亚

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

    这是 您的定制硬件或 TI-Launchpad 上的硬件?