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.
您好!
使用 SDK 版本"ti-processor-sdk-linux-am65xx-evm-07_00_01_06"中的预构建映像,驱动程序会崩溃,因此 PRU2以太网无法正常工作。
同时附上来自 EVM 的完整崩溃日志。
是否有人能帮助弄清楚问题出在哪里呢?
注意:我们使用的是 PG1.0 sysfw
Chetan、
我尝试重现您的问题、但无法重现。 以下是我的日志、通过将二进制文件写入 SD 卡、更新 sysfw.itb 以使用 PG 1.0 sysfw、然后在电路板上引导来观察:
e2e.ti.com/.../am65xx_2D00_linux_2D00_sdk_2D00_7.00.01.06.log
您是否有多个板可供测试? 我不确定卡本身是否有问题或您的电路板是否有问题。 我将您的日志与我的日志进行了比较、并观察到:
由于某种原因、板载 EEPROM 未在您的板上编程。 因此、您会看到"Reading on-board EEPROM at 0x50 failed -1 (在0x50处读取板载 EEPROM 失败-1)"。 在您收到警告"Warning: pruss2_eth (eth1) using random MAC address - aa:58:0c:4F:E9:0e"后不久。 但是、我不会期望这会完全破坏事情。 您能否检查以查看 您的电路板版本? 它应打印在 PCB 本身上。 我说"PCB REV:E3"。
2. 我观察到时间戳的一些微小时间差异、有时事件的完成顺序稍有不同、但我没有看到任何看起来与 ICSSG 故障相关的东西。
早期 SDK 版本的功能是否正常? 您是否尝试重新创建 SD 卡?
此致、
Brad
Brad、您好!
感谢您的回复。
我使用了以下过程:
1.下载和 安装 SDK:
b. => chmod +x /home/administrator/Downloads/ti-processor-sdk-linux-am65xx-evm-07_00_01_06-Linux-x86-Install.bin
=> CD /home/administrator/Downloads
=>./ti-processor-sdk-linux-am65xx-evm-07_00_01_06-Linux-x86-Install.bin
2.创建 SD 卡
=> cd sdk-install-dir/bin
=> sudo ./mksdboot.sh --device /dev/sdb --sdk"/home/administrator/ti-processor-sdk-linux-am65xx-evm-07_00_01_06
3.在 SD 卡引导分区中,将 “sysfw-am65x-evm.itb"”重命名为“sysfw.itb" ”(删除了以前 的 sysfw.itb)
4.请按如下方式查找日志:
e2e.ti.com/.../evm_5F00_log.txt
注:也尝试从不同的 SD 卡引导。
此致、
n Chetan Kumar
Brad、您好!
在早期 SDK (ti-processor-sdk-linux-am65xx-evm-06.02.00.81)中、这些端口工作正常。
我使用的是相同的版本"PCB REV:E3"。
此致、
n Chetan Kumar
它看起来每次都在完全相同的位置崩溃。 使用 objdump 实用程序来反汇编该文件、看起来崩溃发生在以下几行附近:
/*从 DT 获取 Mac 地址并设置 private 和 netdev addr */
mac_addr = of _get_mac_address (eth_node);
如果(mac_addr)
ether _addr_copy (ndev->dev_addr、mac_addr);
如果(!is 有效且以太网地址(ndev->dev_addr)){
ETH_HW_addr_random (ndev);
DEV_WARN (prueth->dev、"port %d:using random MAC addr:%pm\n"、
端口,ndev->dev_addr);
}
ether _addr_copy (emac->mac_addr、ndev->dev_addr);
我在 TI 树中看到了近期提交的内容、并且有一个与以下代码行相关的修复程序:
您能否应用该补丁并查看它是否修复了问题? 如果无法解决问题、您可以添加一些额外的打印件、以便我们准确地确定问题发生在哪里?
谢谢、
Brad
您是否能够准确地识别崩溃发生的位置? 是否可以附加包含额外打印件的日志?
Chetan --看起来你把线程标记为已解析。 您能确认情况吗? 您之前的回答表明问题仍然存在、因此我不确定您是否仍需要有关此问题的帮助。
谢谢!
Brad
Brad、您好!
此修补程序有助于解决崩溃问题。
之前、cssg_prueth 作为模块加载到默认内核配置文件中、
在内核中启用以下配置后、
TI_ICSSG_PRUETH
PRU_REMOTEPROC
TI_PRUSS
TI_PRUSS_INTC
并在此基础上应用了您的补丁。
我们已验证以太网在 EVM 上工作正常。
更改后,我们将在日志中多次跟踪行,这是预期的,还是您对此有什么想法?
"IRQ_pruss_intc:导出重复符号 pruss_intc_configure (由内核拥有)"
我们还在定制电路板上进行了验证、修改了定制电路板中的 PHY 地址、然后端口正常工作、链路正常工作。
但我们发现动态地址未设置、因此使用静态 IP 进行了验证。您对此有什么想法吗?
您为什么将其从模块更改为内置模块? 我希望您应用补丁、重新构建模块并更新模块。 我希望重复的符号是因为您的文件系统中仍有旧的未修补版本。
[引用 user="Chetan Kumar2"]但我们发现动态地址未设置,因此使用静态 IP 进行了验证。您对此有什么想法吗?
动态 IP 地址? DHCP 无法正常工作? 或者您还在讨论 MAC 地址吗? 我的板上 DHCP 工作正常。 我能够启动接口、接收 IP 地址并与网络上的其他设备(ping、装载网络存储等)通信。
Brad、您好!
感谢您的参与。
删除了"重复符号"警告。如果在 rootfs 中替换已编译的模块后使用 icssg-prueth 作为模块。
DHCP 在 EVM 中正常工作、在我们的定制板中、我们面临着问题。 静态地址在自定义电路板中工作正常、我们能够与同一网络上的其他器件通信。
需要在 DHCP 上进行一些输入、为什么它不能在定制板上工作?
此致、
n Chetan Kumar
Chetan、
请为 DHCP 问题启动新线程。 与初始问题(非常低的级别)相比、您会获得 DHCP (上层堆栈)问题的受众略有不同。
在新线程中包含的一个快速建议是使用 Wireshark 来查看 DHCP 请求是否实际通过网络发送、以及/或它与 EVM 中工作的 DHCP 有何不同。
此致、
Brad