2163633_zh-CN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2163633_zh-CN

2163633_zh-CN

S32G A53 QNX 上的 PFE 故障
 
 
您好,恩智浦专家
我们有一个自定义板要在上面运行 QNX 和 PFE 驱动程序。但我们遇到了以下问题,希望 PFE 专家帮助分析一下。
 
 
软件信息:
PFE QNX 驱动程序版本:1.8.0
PFE FW 版本: 1.11.0
QNX SDP 版本: 7.1.0
QNX S32G399A 的 电路板支持包 版本:bsp_nxp-s32G-rdb3_br-710_be-710_be-710_svn996606_jbn10
 
硬件信息:
我们和恩智浦 S32G399ARDB3 EVN 板之间的硬件区别在于,DDR 已更改为 2GB,而且我们已经在 Linux 中对其进行了调整,而且 pfe 以太网驱动程序是正常的。
变化如下:
 
 
 
 
 
1。images/s32g399a-rdb.版本 文件中的更改,
 
SandalWood_0-1756983841389.pngSandalWood_0-1756983841389.png
2。src\ hardware\ startup\ 板\ s32g\ s32g399a-rdb\ s32g_init_raminfo.c 中的变化文件:
 
SandalWood_1-1756983875619.pngSandalWood_1-1756983875619.png
 
3.其他无关紧要的变化,与 PFE 驱动程序无关。
 
 
 
我的测试命令是:
# slog2info -c
# slog2info -w&
# io-pkt-v6-hc-p tcpip pkt_typed_mem=pfe_ddr-d /proc/boot/devnp-pfe-2.so class_fw=/proc/boot/boot/devnp-boot/boot=/proc/boot/devnp-boot-2.so class_fw=/proc/boot/devnp-boot/boot=/proc/boot/devnp-boot=/
 
但是,运行后出现了错误信息。日志在此。
-------------------Appendix------------------
 
 
注意:在 SCMI 代理 RESET 命令期间发现已启用的时钟列表:
注意:linflex_lin
注意: usdhc_core
board_smp_num_cpu: 8 个内核
MMU:16 位 ASID 40 位 PA TCR_EL1=b5183519
ARM GIC-500 r1p1,已检测到 arch v3.0
board_smp_num_cpu: 8 个内核
board_smp_num_cpu: 8 个内核
无 SPI 内部信息。为 32 -> 575 向量添加默认条目,OK
cpu0: MPIDR=80000000
cpu0:MIDR=410fd034 Cortex-A53 r0p4
cpu0: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT
cpu0:CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
cpu0:L1 缓存 32K linesz=64 set/way=256/2
cpu0:L1 缓存 32K linesz=64 set/way=128/4
cpu0:L2 统一 1024K linesz=64 set/way=1024/16
board_smp_num_cpu: 8 个内核
 
A53 核心时钟:1000MHz
DDR 时钟:800MHz
SERDES 时钟:2000MHz
LINFLEXD 时钟:125 兆赫
GMAC TS 时钟:48 兆赫
SPI 时钟:48MHz
QSPI 时钟:800MHz
SDHC 时钟:800MHz
 
加载 IFS...解压...完成
board_smp_start: cpu_cluster_id:0, cpu_id:1
注意:S32 TF-A:s32_pwr_domain_on:启动内核 1 (0)
跑步
cpu1: MPIDR=80000001
cpu1:MIDR=410fd034 Cortex-A53 r0p4
cpu1: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT
cpu1: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
cpu1:L1 高速缓存 32K linesz=64 set/way=256/2
cpu1:L1 缓存 32K linesz=64 set/way=128/4
cpu1:L2 统一 1024K linesz=64 set/way=1024/16
board_smp_start: cpu_cluster_id:0, cpu_id: 2
NOTTCE: S32 T TA: s323pw_pdomrin_on: bootingnup cor 2u 0)
cpu2: MPIDR=80000002
cpu2:MIDR=410fd034 Cortex-A53 r0p4
cpu2: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT
cpu2: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
cpu2:L1 缓存 32K linesz=64 set/way=256/2
cpu2:L1 缓存 32K linesz=64 set/way=128/4
cpu2:L2 统一 1024K linesz=64 set/way=1024/16
board_smp_start: cpu_cluster_id:0, cpu_id:3
ngTice:SS32TT-A:: 32_pwr_rodain_on:启动核心 (30n)
cpu3: MPIDR=80000003
cpu3:MIDR=410fd034 Cortex-A53 r0p4
cpu3: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT
cpu3: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
cpu3:L1 缓存 32K linesz=64 set/way=256/2
cpu3:L1 缓存 32K linesz=64 set/way=128/4
cpu3:L2 统一 1024K linesz=64 set/way=1024/16
board_smp_start: cpu_cluster_id:1, cpu_id:0
注意:S32 TF-A:s32_pwr_domain_on:启动核心 4 (0)
注意:S32 TF-A:s32_pwr_domain_on_finish:CPU 4 正在运行
cpu4: MPIDR=80000100
cpu4:MIDR=410fd034 Cortex-A53 r0p4
cpu4: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT
cpu4: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
cpu4:L1 缓存 32K linesz=64 set/way=256/2
cpu4:L1 Dcache 32K linesz=64 set/way=128/4
cpu4:L2 统一 1024K linesz=64 set/way=1024/16
board_smp_start: cpu_cluster_id:1, cpu_id:1
注意:S32 TF-A:s32_pwr_domain_on:启动内核 5 (0)
cpu 5 运行
cpu5: MPIDR=80000101
cpu5:MIDR=410fd034 Cortex-A53 r0p4
cpu5: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT
cpu5: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
cpu5:L1 高速缓存 32K linesz=64 set/way=256/2
cpu5:L1 缓存 32K linesz=64 set/way=128/4
cpu5:L2 统一 1024K linesz=64 set/way=1024/16
board_smp_start: cpu_cluster_id:1, cpu_id: 2
注意:S32 TF-A:s32_pwr_domain_on:启动内核 6 (0)
cpu6: MPIDR=80000102
cpu6:MIDR=410fd034 Cortex-A53 r0p4
cpu6: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT
cpu6: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
cpu6:L1 高速缓存 32K linesz=64 set/way=256/2
cpu6:L1 缓存 32K linesz=64 set/way=128/4
cpu6:L2 统一 1024K linesz=64 set/way=1024/16
board_smp_start: cpu_cluster_id:1, cpu_id:3
注意:S32 TF-A:s32_pwr_domain_on:启动核心 7 (0)
7 运行
cpu7: MPIDR=80000103
cpu7:MIDR=410fd034 Cortex-A53 r0p4
cpu7: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT
cpu7: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
cpu7:L1 高速缓存 32K linesz=64 set/way=256/2
cpu7:L1 缓存 32K linesz=64 set/way=128/4
cpu7:L2 统一 1024K linesz=64 set/way=1024/16
 
系统页面位于 phys:00000000a0010000 user:ffffff8040315000 kern:ffffff8040311000
在 vffffff8060097300 处开始下一个程序
时钟周期样本:
0 62957977
1 62957977
2 62957978
3 62957977
4 62957977
5 62957977
6 62957977
7 62957977
所有时钟周期偏移在公差范围内
欢迎使用 QNX Neutrino 7.1.0 版在恩智浦 S32G399A RDB 板上!!
启动看门狗...
启动串行驱动程序 ...
启动网络驱动程序 (/dev/socket)...
启动 SPI 驱动程序 (/dev/spi0,1,2,3,4,5)...
启动 I2C 0/1/2/3/4 驱动程序 (/dev/i2c0,1,2,3,4)...
启动 USDHC0 存储卡驱动程序...
Path=Starting CAN driver...
0 - imx
target=0 lun=0 Direct-Access(0) - SDMMC: AAM20E Rev: 1.0
数量
数量
数量
# slog2info -c
 
进程 4117 (slog2info) 已退出,状态=0。
ghccu# slog2info -w&
[1] 12309
random.4 low 0 -----UNSYNC-----
随机.4 高 0 -----UNSYNC-----
Jan 01 00:00:00.022 控制台.3 0 -----ONLINE-----
console.3 out 0 -----UNSYNC-----
Jan 01 00:00:00.027 随机.4 0 -----ONLINE-----
random.4 default 0 -----UNSYNC-----
Jan 01 00:00:00.028 random.4..0 0 -----ONLINE-----
random.4..0 slog 0 -----UNSYNC-----
Jan 01 00:00:00.050 devc_serlinflexd.7 0 -----ONLINE-----
devc_serlinflexd.7 slog 0 -----UNSYNC-----
Jan 01 00:00:00.055 spi_master.8 0 -----ONLINE-----
spi_master.8 normal 0 -----UNSYNC-----
Jan 01 00:00:00.059 spi_master.9 0 -----ONLINE-----
spi_master.9 normal 0 -----UNSYNC-----
Jan 01 00:00:00.063 spi_master.10 0 -----ONLINE-----
spi_master.10 normal 0 -----UNSYNC-----
Jan 01 00:00:00.067 spi_master.11 0 -----ONLINE-----
spi_master.11 normal 0 -----UNSYNC-----
Jan 01 00:00:00.088 devb_sdmmc_mx8x.17 0 -----ONLINE-----
devb_sdmmc_mx8x.17 slog 0 -----UNSYNC-----
Jan 01 00:00:04.268 qconn.20 0 -----ONLINE-----
qconn.20 slog 0 -----UNSYNC-----
数量
数量
数量
# io-pkt-v6-hc-p tcpip pkt_typed_mem=pfe_ddr-d /proc/boot/devnp-pfe-2.so class_fw=/proc/boot/boot/devnp-boot/boot=/proc/boot/devnp-boot-2.so class_fw=/proc/boot/devnp-boot/boot=/proc/boot/devnp-boot=/
# Jan 01 00:00:14.060 iopkt.16408 0 -----ONLINE-----
Jan 01 00:00:14.060 iopkt.16408 main_buffer* 0 detect_armv8ce_hw:支持 armv8ce!
Jan 01 00:00:14.061 iopkt.16408 main_buffer 0 tcpip 启动
Jan 01 00:00:14.062 iopkt.16408 main_buffer 0 smmu 支持已禁用
Jan 01 00:00:14.063 iopkt.16408 main_buffer 0 正在初始化 IPsec...
Jan 01 00:00:14.063 iopkt.16408 main_buffer 0 done
 
Jan 01 00:00:14.064 iopkt.16408 main_buffer 0 IPsec:已初始化的网络安全关联处理。
 
Jan 01 00:00:14.067 iopkt.16408 main_buffer 0 /proc/boot/devnp-pfe-2.so class_fw=/proc/boot/s32g_pfe_class.fw,util_fw=/proc/boot/s32g_pfe_util.fw,util_fw=/proc/boot/s32g_pfe_util.fw
Jan 01 00:00:14.068 io_pkt_v6_hc.16408 0 -----ONLINE-----
Jan 01 00:00:14.068 io_pkt_v6_hc.16408 slog* 0 INF[src/pfe_drv.c:1346]:版本信息
驱动程序版本: 1.8.0
驱动程序提交哈希值:57b6eefdb35cbff7a43ecfbdca3334760b1d0553
pfe_cfg_multi_instance_support: 0
pfe_cfg_local_if:6
pfe_cfg_master_if:6
pfe_cfg_sc_hif:1
pfe_cfg_hif_ring_length: 256
pfe_cfg_pfe0_promisc: 1
pfe_cfg_pfe1_promisc: 1
pfe_cfg_pfe2_promisc: 1
 
 
Jan 01 00:00:14.068 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1353]:--- 安全 IRQ 已启用。不允许使用 InterrupAttach() 或 InterrupAttach_r()。
 
Jan 01 00:00:14.068 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_fw.c:94]:读取 45724 字节
 
Jan 01 00:00:14.068 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_fw.c:100]:加载的固件文件:/proc/启动/s32g_pfe_class.fw
 
Jan 01 00:00:14.068 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_fw.c:94]:读取 23352 字节
 
Jan 01 00:00:14.069 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_fw.c:100]:加载的固件文件:/proc/启动/s32g_pfe_util.fw
 
Jan 01 00:00:14.069 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1449]:未找到 pfe0/EMAC0 的 MII 模式配置。使用 SGMII。
 
Jan 01 00:00:14.069 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1449]:未找到 pfe1/EMAC1 的 MII 模式配置。使用 SGMII。
 
Jan 01 00:00:14.069 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1449]:未找到 pfe2/EMAC2 的 MII 模式配置。使用 SGMII。
 
Jan 01 00:00:14.069 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1467]:发出 PFE 外设 RESET...
 
Jan 01 00:00:14.179 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1468]:PFE RESET 正常。
 
Jan 01 00:00:14.179 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2826]:PFE CBUS p0x46000000 已映射 @ v0x1e2a574000(0x1000000 字节)
 
Jan 01 00:00:14.179 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2831]:硬件版本 0x101
 
Jan 01 00:00:14.179 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_hw_feature.c:95]:硅 S32G3
 
Jan 01 00:00:14.179 io_pkt_v6_hc.16408 slog 0 WRN[hw/s32g/pfe_platform_master.c:2843]:禁用故障停机模式
 
Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2093]:PFE_ERRORS:已创建奇偶校验实例
 
Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2108]:PFE_ERRORS:已创建看门狗实例
 
Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2124]:pfe_errors: 已创建总线错误实例
 
Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2137]:PFE_ERRORS:已创建 FW 故障停止实例
 
Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2150]:PFE_ERRORS:已创建主机故障停止实例
 
Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2163]:PFE_ERRORS:创建的停止实例失败
 
Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:2176]:PFE_ERRORS:ECC Err 实例已创建
 
Jan 01 00:00:14.254 io_pkt_v6_hc.16408 slog 0 INF[hw/s32g/pfe_platform_master.c:1097]:BMU1 缓冲区基数: p0xc0000000
 
Jan 01 00:00:14.255 io_pkt_v6_hc.16408 slog 0 ERR[src/oal_mm_qnx.c:98]: (DRIVER) event 1 - Driver runtime error: mmap64() failed: 1
 
Jan 01 00:00:14.255 io_pkt_v6_hc.16408 slog 0 ERR[src/oal_mm_qnx.c:171]: (DRIVER) event 1 - Driver runtime error:无法获取内存块
 
Jan 01 00:00:14.255 io_pkt_v6_hc.16408 slog 0 ERR[hw/s32g/pfe_platform_master.c:1125]:(DRIVER) 事件 1 - 驱动程序运行时出错:无法获取 BMU2 池内存
 
Jan 01 00:00:14.256 io_pkt_v6_hc.16408 slog 0 ERR[src/pfe_drv.c:1529]:(DRIVER) 事件 1 - 驱动程序运行时出错:无法初始化平台
 
Jan 01 00:00:14.257 iopkt.16408 main_buffer 0 无法启动 /proc/boot/devnp-pfe-2.so:没有这样的设备
 
Jan 01 00:00:14.257 io_pkt_v6_hc.16408 slog 0 INF[src/pfe_drv.c:1302]:PFE 输入失败,PFE 驱动程序终止
 
 
数量
数量
数量
数量
数量
数量
 
 
Re: PFE on S32G A53 QNX ERROR

你好,@桑德尔伍德

我对迟复感到非常抱歉。

不确定问题是否已经解决?

请问您的 uboot 是否设置了环境变量 skip_scmi_reset_agent?

如果没有,请尝试设置如下内容:"setenv skip_scmi_reset_agent '1'"


BR

切宁

 


Re: PFE on S32G A53 QNX ERROR

你好,@桑德尔伍德

感谢您的回复。

1.我建议查看 PFE 驱动程序版本代码包中包含的 " PFE_QNX_DRV_IntegrationManual.pdf ",并确保每个步骤(构建、运行驱动程序)都是正确的。

2.如果 DTB 文件在 Linux 中运行良好,那么 QNX 中的原始文件也应替换为该文件。

你能不能再试一次,并告诉我测试结果。


BR

切宁

Re: PFE on S32G A53 QNX ERROR

你好,@桑德尔伍德

感谢您的回复。

是的,我现在明白了。

我们会进行调查,有结果后再回复您。


BR

切宁

Re: PFE on S32G A53 QNX ERROR

1.pfe DDR 的位置不能使用 NXP 手册中提供的示例,必须更改为空闲位置,以防止与预留内存重叠。

2. 我还没做任何动态更改。我的运行命令是:io-pkt-v6-hc-p tcpip pkt_typed_mem=pfe_ddr-d /proc/boot/devnp-pfe-2.so pfe0_link=1000-1-3,pfe0_mac=025556000050,class_fw=/proc/boot/s32g_pfe_class. class.so pfe0_link=1000-1-3,pfe0_mac=025556000050,class_fw=/proc/boot/fw,util_fw=/proc/boot/ s32g_pfe_util.fw

我没有做任何动态更改,也没有修改 uboot 的环境变量。Linux 和 QNX 使用相同的 uboot 映像。所以,我的理解是,QNX 上 Serdes 的配置应该与 Linux 相同,对吗?

Re: PFE on S32G A53 QNX ERROR

你好,@桑德尔伍德

很高兴 ddr 问题得到了解决,您能告诉我们原因吗?

对于所提到的 ping 问题,您是否提到了下面的驱动程序限制:

chenyin_h_0-1757056879842.pngchenyin_h_0-1757056879842.png


BR

切宁

Re: PFE on S32G A53 QNX ERROR

你好,
我们已经解决了 ddr 错误,但在 ping 时可能会出现新问题。
我们板中的 pfe0 通过 MAC-TO-MAC(SGMII 模式)直接连接到外部交换机。在 Linux 环境中,该链接是正常的,可以与外部环境正常通信,如 ping 正常。但用当前的 QNX 取代 Linux 后,Ping 问题就会出现。
在 Linux 中,我们更改了设备树并将 pfe0 配置为修复 sgmii 模式。我怀疑与此有关,但不知道如何在 QNX 中进行配置。
日志请见附件。


Re: PFE on S32G A53 QNX ERROR

160 是十六进制 0xa0,看来 pfe_ddr 是正常的

# pidin sys=asinfo
Header size=0x00000108, Total Size=0x00001050, #Cpu=8, Type=257
Section:asinfo offset:0x00000b90 size:0x00000200 elsize:0x00000020
0000) 000000000000-0000ffffffffff o:ffff a:0010 p:100 c:0 n:/memory
0020) 000000000000-00000000ffffffff o:0000 a:0010 p:100 c:0 n:/memory/below4G
0040) 0000000080000000-00000000ffffff o:0020 a:0017 p:100 c:0 n:/memory/below4G/ram
0060) 0000000880000000-00000008dffffffff o:0000 a:0017 p:100 c:0 n:/memory/ram
0080) 00000000ff800000-00000000ff83afff o:0040 a:0005 p:100 c:0 n:/memory/below4G/ram/atf
00a0) 0000000080000000-0000000083ffffff o:0040 a:0007 p:100 c:0 n:/memory/below4G/ram/pfe_ddr
00c0) 0000000050800000-000000005080ffff o:0000 a:0003 p:100 c:0 n:/memory/gicd
00e0) 0000000050900000-00000000509fffff o:0000 a:0003 p:100 c:0 n:/memory/gicr
0100) 0000000088000080-0000000088007fff o:0040 a:0005 p:100 c:0 n:/memory/below4G/ram/fdt
0120) 00000000800d10a8-00000000815fa8b3 o:0000 a:0005 p:100 c:0 n:/memory/imagefs
0140) 0000000080080fa0-00000000800d10a7 o:0000 a:0007 p:100 c:0 n:/memory/startup
0160) 00000000800d10a8-00000000815fa8b3 o:0000 a:0007 p:100 c:0 n:/memory/bootram
0180) 00000000a0000000-00000000a0007fff o:0040 a:0007 p:100 c:0 n:/memory/below4G/ram/sysram
01a0) 00000000a0014000-00000000ff7fffff o:0040 a:0007 p:100 c:0 n:/memory/below4G/ram/sysram
01c0) 00000000ff83b000-00000000ffffffffff o:0040 a:0007 p:100 c:0 n:/memory/below4G/ram/sysram
01e0) 0000000880000000-00000008dd5e2fff o:0060 a:0007 p:100 c:0 n:/memory/ram/sysram

Re: PFE on S32G A53 QNX ERROR

你好,@陈

感谢您的回复。返回代码请参见日志。

SandalWood_0-1757049933250.pngSandalWood_0-1757049933250.png

SandalWood_1-1757049947809.pngSandalWood_1-1757049947809.png



BR

檀木

Re: PFE on S32G A53 QNX ERROR

你好,@桑德尔伍德

谢谢你的帖子。

似乎内存映射不正确,请问是否有日志显示 as_add_containing() 调用成功?


BR

切宁

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎11-21-2025 09:06 AM
更新者: